From b3e81f5cbbc331ac650a280104f727a51691caaf Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Tue, 28 Jan 2025 07:37:17 +1100 Subject: [PATCH] BREAKING CHANGE: wml attributes are now prefixed with `data-` --- .../file-association/frontend/index.html | 4 +-- v3/examples/plain/main.go | 2 +- v3/examples/window-api/assets/index.html | 2 +- v3/examples/wml/README.md | 2 +- v3/examples/wml/assets/index.html | 28 +++++++++---------- .../bundledassets/runtime.debug.js | 16 +++++------ .../assetserver/bundledassets/runtime.js | 2 +- .../desktop/@wailsio/runtime/package.json | 2 +- .../desktop/@wailsio/runtime/src/wml.js | 14 +++++----- .../templates/base/frontend/index.html | 4 +-- .../lit-ts/frontend/src/my-element.ts | 4 +-- .../templates/lit/frontend/src/my-element.js | 4 +-- .../templates/preact-ts/frontend/src/app.tsx | 4 +-- .../templates/preact/frontend/src/app.jsx | 4 +-- .../templates/qwik-ts/frontend/src/app.tsx | 4 +-- .../templates/qwik/frontend/src/app.jsx | 4 +-- .../react-swc-ts/frontend/src/App.tsx | 4 +-- .../templates/react-swc/frontend/src/App.jsx | 4 +-- .../templates/react-ts/frontend/src/App.tsx | 4 +-- .../templates/react/frontend/src/App.jsx | 4 +-- .../templates/solid-ts/frontend/src/App.tsx | 4 +-- .../templates/solid/frontend/src/App.jsx | 4 +-- .../svelte-ts/frontend/src/App.svelte | 4 +-- .../templates/svelte/frontend/src/App.svelte | 4 +-- .../frontend/src/routes/+page.svelte | 4 +-- .../frontend/src/routes/+page.svelte | 4 +-- .../templates/vanilla-ts/frontend/index.html | 4 +-- .../templates/vanilla/frontend/index.html | 4 +-- .../templates/vue-ts/frontend/src/App.vue | 4 +-- .../templates/vue/frontend/src/App.vue | 4 +-- v3/pkg/application/assets/alpha/index.html | 4 +-- v3/pkg/application/webview_window_windows.go | 1 - 32 files changed, 80 insertions(+), 81 deletions(-) diff --git a/v3/examples/file-association/frontend/index.html b/v3/examples/file-association/frontend/index.html index 78ae28f3abf..b81d9729f83 100644 --- a/v3/examples/file-association/frontend/index.html +++ b/v3/examples/file-association/frontend/index.html @@ -10,10 +10,10 @@
- + - +
diff --git a/v3/examples/plain/main.go b/v3/examples/plain/main.go index 8f161e50d2f..172609f8082 100644 --- a/v3/examples/plain/main.go +++ b/v3/examples/plain/main.go @@ -19,7 +19,7 @@ func main() { Assets: application.AssetOptions{ Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) - w.Write([]byte(`Plain Bundle

Plain Bundle

This is a plain bundle. It has no frontend code but this was Served by the AssetServer's Handler.



Clicking this paragraph emits an event...

`)) + w.Write([]byte(`Plain Bundle

Plain Bundle

This is a plain bundle. It has no frontend code but this was Served by the AssetServer's Handler.



Clicking this paragraph emits an event...

`)) }), }, }) diff --git a/v3/examples/window-api/assets/index.html b/v3/examples/window-api/assets/index.html index e8f918c43db..a0dd5d8b27d 100644 --- a/v3/examples/window-api/assets/index.html +++ b/v3/examples/window-api/assets/index.html @@ -136,7 +136,7 @@ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAMrCAYAAADX0eD4AAAFQmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iMTAyNCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjgxMSIKICAgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIKICAgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIgogICB0aWZmOkltYWdlTGVuZ3RoPSI4MTEiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iMTAyNCIKICAgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIKICAgdGlmZjpYUmVzb2x1dGlvbj0iNzIvMSIKICAgdGlmZjpZUmVzb2x1dGlvbj0iNzIvMSIKICAgeG1wOk1ldGFkYXRhRGF0ZT0i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"/>
Alpha
-

Close the Window?

+

Close the Window?

Center

Minimise

Maximise

diff --git a/v3/examples/wml/README.md b/v3/examples/wml/README.md index a3e869e518a..c8ea7850e69 100644 --- a/v3/examples/wml/README.md +++ b/v3/examples/wml/README.md @@ -1,6 +1,6 @@ # WML Example -This is an example of how to use the experimental WML, which provides HTMX style calling of the runtime API. +This is an example of how to use the experimental WML, which provides HTMX style calling of the Wails JS API. ## Running the example diff --git a/v3/examples/wml/assets/index.html b/v3/examples/wml/assets/index.html index a5181545357..5895e3d4335 100644 --- a/v3/examples/wml/assets/index.html +++ b/v3/examples/wml/assets/index.html @@ -136,22 +136,22 @@ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAMrCAYAAADX0eD4AAAFQmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iMTAyNCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjgxMSIKICAgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIKICAgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIgogICB0aWZmOkltYWdlTGVuZ3RoPSI4MTEiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iMTAyNCIKICAgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIKICAgdGlmZjpYUmVzb2x1dGlvbj0iNzIvMSIKICAgdGlmZjpZUmVzb2x1dGlvbj0iNzIvMSIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMi0yM1QxOTo0ODozNSsxMTowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjItMDItMjNUMTk6NDg6MzUrMTE6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgeG1wTU06YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgeG1wTU06c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgUGhvdG8gMS4xMC4wIgogICAgICB4bXBNTTp3aGVuPSIyMDIxLTExLTA2VDE4OjU3OjQ1KzExOjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InByb2R1Y2VkIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZmZpbml0eSBQaG90byAxLjEwLjQiCiAgICAgIHN0RXZ0OndoZW49IjIwMjItMDItMjNUMTk6NDg6MzUrMTE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/Piw7k/EAAAGCaUNDUHNSR0IgSUVDNjE5NjYtMi4xAAAokXWRu0sDQRCHvySKQSMRFLSwiBLFIopGCNpYJPgCtUgi+GqSy0vI47hLkGAr2AoKoo2vQv8CbQVrQVAUQSzFWtFG5ZxLhIiYWWbn29/uDLuzYA2nlYxe0w+ZbF4Ljvtdc/MLrronrLRip4OeiKKr06GxMFXt/RaLGa97zVrVz/1rDbG4roDFLjyiqFpeeEJ4aiWvmrwl3KKkIjHhE2GPJhcUvjH1aJmfTU6W+dNkLRwMgLVJ2JX8xdFfrKS0jLC8HHcmXVB+7mO+xBHPzoYkdoq3oxNkHD8uJhklgI8BhmX20YuXPllRJb+/lD9DTnIVmVWKaCyTJEUej6gFqR6XmBA9LiNN0ez/377qiUFvubrDD7WPhvHaBXWb8LVhGB8HhvF1CLYHOM9W8nP7MPQm+kZFc++Bcw1OLypadBvO1qHtXo1okZJkE7cmEvByDI3z0HwF9Yvlnv3sc3QH4VX5qkvY2YVuOe9c+gZ9IWfwA2mBLgAAAAlwSFlzAAALEwAACxMBAJqcGAAAIABJREFUeJzsvXmcZVdV9/1bp6Ye011V6aRDUkQIUxBicggkCMQIyqRRAZkEZYiK82yQGZUHRV8eJ+QVAryiqKjg8Cgqj12AMaCQ5AIGQtKZc5MAGTshoSud9N3vH+fsvddee59b3Z2qujX8vnzoe+8Z9ll7n3Nv6rfW2msDhBBCCCGEELLO6df1t/bruhq1HYSMkvFRG0AIIYQQQgghy0W/rncA+G0A/zTX63151PYQMkroASOEEEIIIYSsS/p1/QMALgPwjble719GbQ8ho4YZAIQQQgghhJB1Rb+udwN4F4AXAPg0gNeP1iJCVgcyagMIIYQQQgghZKno1/W5AH4XwDSA2wGcOtfr3ThaqwhZHTADgBBCCCGEELLm6df1SQDeC+Dp7SYH4Icp/gmJ0AFACCGEEEIIWbP063oMwC8DeCuAzWrX78z1ev86EqMIWaXQAUAIIYQQQghZk/Tr+jQA7wNQm10XAnjjyltEyOqGNQAIIYQQQggha4p+XW9GE/H/JeRBzVsBnDbX69200nYRstphBgAhhBBCCCFkzdCv67MBnA/gEYXdft4/xT8hBegAIIQQQgghhKx6+nW9E8D/A+DV6M5k/q25Xu/jK2cVIWsLOgAIIYQQQgghq5p+XT8fwLsAHDfksAsAvHllLCJkbcIaAIQQQgghhJBVSb+ujwPwxwCet8iht6CZ93/z8ltFyNqFGQCEEEIIIYSQVUW/rgXAjwH4HQA7Fjl8AODlFP+ELA4dAIQQQgghhJBVQ7+uHwngvQDOPsRT3j7X6/378llEyPqBDgBCCCGEEELIyOnX9TiAXwHwFgCbDvG0T6FZDpAQcgiwBgAhhBBCCCFkpPTr+gkA3gfg1MM47esATp3r9b62PFYRsv5gBgAhhBBCCCFkJPTreguA3wDwCwDGDuPUAYCXUfwTcnjQAUAIIYQQQghZcfp1/Qw0c/0ffgSnv22u15tfYpMIWffQAUAIIYQQQghZMfp1PQ3gnQBedYRNfALAry+dRYRsHFgDgBBCCCGEELIi9Ov6RQD+EMCxR9gE5/0T8iBgBgAhhBBCCCFkWenX9fEA3g3g+x5EMwMAP0TxT8iRQwcAIYQQQgghZFno17UAeA2AdwA46kE29xtzvd4nHrxVhGxc6AAghBBCCCGELDn9un40gPMBPG0JmtsD4DeXoB1CNjSsAUAIIYQQQghZMvp1PQHgPABvAjC1BE1+Fc28/1uWoC1CNjTMACCEEEIIIYQsCf26fiKA9wE4ZYmaPIhm3j/FPyFLAB0AhBBCCCGEkAdFv663AHgbgJ8DMLaETb91rtf71BK2R8iGhg4AQgghhBBCyBHTr+tnAvgTAA9b4qb/L4C3L3GbhGxoWAOAEEIIIYQQctj063oGwO8B+JFlaP5mNPP+b12GtgnZsDADgBBCCCGEEHJY9Ov6JQD+AMAxy9D8QQAvpfgnZOmhA4AQQgghhBBySPTreg7AuwF87zJe5s1zvd4Fy9g+IRsWOgAIIYQQQgghQ+nXtQD4KQC/BWD7Ml7q4+01CCHLAGsAEEIIIYQQQjrp1/XJAM4H8JRlvtRNaOb937bM1yFkw8IMAEIIIYQQQkhGv64nALwOwOsBTC3z5R4A8BKKf0KWFzoACCGEEEIIIQn9uj4DwPsAPG6FLvmmuV7vwhW6FiEbFjoACCGEEEIIIQCAfl1vBfB2AD8DoFqhy/4LgHes0LUI2dCwBgAhhBBCCCEE/bp+NoA/AXDiCl72RjTz/m9fwWsSsmFhBgAhhBBCCCEbmH5dHw3g9wG8bIUv/QCAF1P8E7JyrFRaDyGEEEIIIWSV0a/rlwG4DCsv/gHgDXO93mdGcF1CNizMACCEEEIIIWSD0a/rh6JJ93/OiEz4GIDfHdG1CdmwsAYAIYQQQgghG4R+XVcAfhpNob9tIzLjBgCnzfV6d4zo+oRsWJgBQAghhBBCyAagX9ePBfB+AGeO0Iz70cz7p/gnZATQAUAIIYQQQsg6pl/XkwDeAODXAEyO2JzXzfV6/z1iGwjZsHAKACGEEEIIIeuUfl0/GcD7ADx21LYA+D9zvd73j9oIQjYyzAAghBBCCCFkndGv620AfgvAT2F1rPx1PYBXjtoIQjY6dAAQQgghhBCyjujX9XPRVPifG7UtLX7e/52jNoSQjQ4dAIQQQgghhKwD+nW9C8AfAnjJqG0xvHau1/vsqI0ghLAGACGEEEIIIWuefl3/MIDfAzA7alsM/zjX6/3AqI0ghDQwA4AQQgghhJA1Sr+uvwVNuv+zRmxKievAef+ErCroACCEEEIIIWSN0a/rCsDPA/hNAFtHbE6JAwBeNNfr7Ru1IYSQCB0AhBBCCCGErCH6df14NEv7PWnUtgzhvLle76JRG0EISWENAEIIIYQQQtYA/bqeAvBGAK8FMDFic4bxd3O93gtGbQQhJIcZAIQQQgghhKxy+nX9VADnA3jMqG1ZhGsBvHrURhBCytABQAghhBBCyCqlX9fbAbwDwE9g9Wfv+nn/d43aEEJIGToACCGEEEIIWYX06/ocAO8GcMKobTlEfmWu17t41EYQQrpZ7V5EQgghhBBCNhT9uj4GwB8BeNGobTkMPjLX671w1EYQQoZTjdoAQgghhBBCSEO/rl8J4CtYW+L/agDnjtoIQsjicAoAIYQQQgghI6Zf1w8D8F4A3zVqWw6T+9DM+7971IYQQhaHDgBCCCGEEEJGRL+uxwD8AoDfALBlxOYcCb801+v1Rm0EIeTQYA0AQgghhBBCRkC/rr8NwPsAnD5qW46Qv5nr9V48aiMIIYcOMwAIIYQQQghZQfp1vQnAmwH8Ktbu3+NXAfixURtBCDk81uoPDiGEEEIIIWuOfl2fBeB8AI8atS0PgvsAvJDz/glZe9ABQAghhBBCyDLTr+sdAH4HTdR8rU/D/YW5Xu8LozaCEHL4rPUfH0IIIYQQQlY1/br+fgDvBvCQUduyBHx4rtd76aiNIIQcGcwAIIQQQgghZBno1/VuAO8C8IJR27JE7AXw46M2ghBy5FSjNoAQQgghhJD1Rr+uzwVwGdaP+F8A8KK5Xu8bozaEEHLkMAOAEEIIIYSQJaJf1ycBeC+Ap4/aliXm5+d6vS+O2ghCyIODNQAIIYQQQgh5kPTregzALwN4K4DNo7VmyfnLuV7vZaM2ghDy4GEGACGEEEIIIQ+Cfl2fCuD9AOpR27IMXAHgNaM2ghCyNNABQAghhBBCyBHQr+tNaCL+v4z1+Xf1fgAvnOv17hm1IYSQpWE9/lARQgghhBCyrPTr+mwA5wN4xIhNWU5+bq7Xu3TURhBClg7WACCEEEIIIeQQ6df1TgC/C+BcrO+/pT801+v98KiNIIQsLcwAIIQQQggh5BDo1/XzAbwLwHGjtmWZuRzAT4zaCELI0kMHACGEEEIIIUPo1/VxAP4YwPNGbcsK8E008/7vHbUhhJClhw4AQgghhBBCCvTrWgD8KJqU/x0jNmel+Jm5Xu9LozaCELI8rOd5S4QQQgghhBwR/bp+JID3Ajh7xKasJB+c6/VeOWojCCHLBzMACCGEEEIIaenX9TiAXwHwFgCbRmzOSnIZgJ8atRGEkOWFGQCEEEIIIYQA6Nf1EwC8D8Cpo7ZlhfkmgCfO9XqXjdoQQsjywgwAQgghhBCyoenX9WYAvwHgFwGMjdicUfBTFP+EbAzoACCEEEIIIRuWfl0/A8B7AJw0altGxJ/O9XofHLURhJCVgQ4AQgghhBCy4ejX9TSAdwJ41ahtGSFfBvDTozaCELJysAYAIYQQQgjZUPTr+oUA/hDA7lHbMkLuRTPv/yujNoQQsnIwA4AQQgghhGwI+nV9PIA/BvD9o7ZlFfCTFP+EbDzoACCEEEIIIeuafl0LgNcAeAeAo0Zszmrg/XO93p+P2ggyGi54xGM2A5h1wIwAMwBmBZgZtK8iqABcCofPQ3DZ0668/IERm0yWEDoACCGEEELIuqVf148CcD6As0ZtyyrhUgA/O2ojyIPnkyc9egrAbPv/GSgx74KYl5lmv5tRx21yAJxzgAgEuM8BnxZg3gEfhcPFZ111+cFR9YssL6wBQAghhBBC1h39up4AcB6ANwGYGrE5q4V7AJw+1+tdMWpDSGTPwx81KTEin4r5VsA752ZEZMY557fNANhSARigEXWufa0EcC62X4lg0G6QZt9ABL0KMj8A9gjw6bOuunz/SvaZjA5mABBCCCGEkHVFv65PB/B+AKeM2pZVxmso/pePf3/YoybQCncEAY8ZpyPzLm73xwmw1Yt3ABCRJjrf4pyDiIR9OoI7AFCpzwJg4FInQPuyVwTzgOypBJ8866rL71za3pO1Ah0AhBBCCCFkXdCv6y0A3gbg5wCMjdic1cb5c73eX47aiLXAv33LI8cFmIFgBq4V8/69YKaCzA6alHodsZ8FsM3BwUt0kVZ8u/helHr3ot+/euHvQrRektcS/vzwuRX+zuGrAOYb0e/mz776iv4SDA1ZB9ABQAghhBBC1jz9uv5uAO8B8LBR27IK+R80TpENxcdOfMSYANPwkXbBbBuBnxHBLCA6Wq/nzx8lQBTujaCGiBfcLonCCwSuleFe/Ds4wMWjnGrL6/kQ8W9fB84lDgEf+dcZAFD79XsB7nbApwDMA9hz9tVXXPYgh4+sU1gDgBBCCCGErFn6dT0D4H87h1cMCZRuZL6BZt7/3lEbcqT880NPqlwj5GcqkdlBMx/ep88HEe+cm61EZtRc+qPQ6h3/bPi0+EbMC3TEXr/3BEEuqXDyUfdKC35EB4A9WF8/OhIKEfxC/zsyAA4I8Bm0gl+Ai86++goW7iOLwgwAQgghhBCyJrnhtPolAP7AORwTUqxHbdTq48dXi/j/x7mTBHBeyM8MXBNxh2AWDjN6XjzSufQ70WpoHw23Yjyk0CONjgM+mt7On29D+zESrwW8hOO1Mo8R+mZuvX8VCAZwwQmQOBJc/iR6R4Iz2/Q1PD7yX4lvEwMBvgBgXoA9DrjwO6++4pvlkSakGzoACCGEEELImuKG0+oTRPBuB5xj51Vr6BDAe+Z6vQ8vdaN/f8LDBcAOxGJ2M8417wVohL1gRiCtgHczaN7vBKTyher0fety4IjPm0eS7t7OrXed8+Md0kJ4TTMuScOPEfgm8u/bDfP22/MGLi2058W/nQqQIdH5UIr8a1t1f30NgErkKtdE9+cBfPI7r77i9mGXI+RQoAOAEEIIIYSsCa4/7TQRyE+K4LcBbNfp0yVRtcHF/xcA/MJiB33k+IftEGmq0wuaIndw0EvNJevKtxXtpwGMWQFv0+WjsDZ3wqtitd2Lbqh2gFa0Q23zAlkkFslr91VIxbReCq85NRbn81LfJ+4nkfi2QfsMhTR+9S9UK7F7krah6gg4Se1M+gZ8Hc7NA5h3zu15+jV7bwAhS8wG/10khBBCCCFrgRvq+jFweB8ETynoRwDl6OpGxDl3z5V33fvGO+67/wBa4e5FPNL30yIYdw4h1Rwop9CrQHwRPUe+EeO+MJ6S/2bCu06H1+dK4XM8JxXr9nw7t95nAXjxHwvqpbbZqQNVqTHt8Mj66benT18Yt/YE3+fWCfANAf4DwLyI7Hn61Vd8CYQsMxv995EQQgghhKxibqjriYFzv1aJvEGAKWfVn6QfAf6Be/Vd995068KB4+12PWSJ8DWpEzaynqfl22r20lSwVwfq4nhaFIfieaaNxTI49FQAbUAp+t91/9PZAnnvxLwmdQDaqQDBGWLtK3kHjFMEDgcg+G8B5h2wpwI+94xr9j7QYS4hywKnABBCCCGEkFXJDafVZzjn3ifA45xTiqqdqJ1EpaVb+G0k7lg4cMWtCwce7T9bmatTzn0gPBHzoehcnqIfxKyLr40wdokzoDm7LMerVjw71x39D3aq+fACwPkl8fw+dU5XcoKtBaCzASSk/rdTFVRDoQ6Aeq4qo/H18n9+zCQvLvBF5zAPwR4R/Od3XbP33g5TCVkR6AAghBBCCCGriutPO22rA/6Xg/tZgTT118TPB5cgtAZOCS7FRp0GcP9gcP1Vd92biH/7qkWzF7jWCdAcm0ft/XsvhHVxu1hYLy+M57MAgi5uj61Um9pOIBX/pf6UBH/XPU8dHH4aQDwjVO93Nqq/WJZCuoRgyzUObk8FmYfgE991zd7bOswiZCRsxN9GQgghhBCySrn+tNOe5YD3VCIn5sJepZMvEvHfaE4A59w9X7j97rH7Dg426+12XvsAan57OKacrm/PL00FCE6FEC3XOQfx1RfG06K6K2XfCnzRHoamr6FmgT/X96vsTNCzByTbb7ME9P5gZ6EGQDtWtzi4TwhkHsCe775273UgZBXDDABCCCGEELKivH/XCZucw2wVK83PPHTb5iseuXPr6xzwch+dThBAnMSUc9eoSZceUny/Ebj6rnvvWHjg4EN9RoQW2Po1jItRyrE4XrNpYJwBdkm95pw4lUCyhnUWgYqwq3MLyRumhYgu/leZQoD+Na8b0OzRffPv9TUqb4+9tsQ+qvT/ewBcgGZpvj0O7tJnXntl1wwEQlYddAAQQgghhJAj4vyjT9iCVsCjrTCPtso8/NJx4rdJux48Zp3DpijC3E3fOrP9w8dt2fQeALs6U6ydTiMXNeec3LFw4LLb7rv/saIGxc6Nr3yqvzrPARAHOIkCOWz3Uy3aER646AQI0X5JryHJp6YVO6/fk1THLyDtQc65OBWgPalxOsTlAJNz1NUbR0j7lLVp/3qJQmtx42TKTLm/EnzWOeyBYL6CfPa7r917f9lqQlY//M0khBBCCNng/Mns8VuRLhc3IyIzzrkQpXfOzUCkWSu+XQveAZu6/phUK60VksIFArhtE2N/cfoxO48ZE3mm3m8ryCevaSn3YuR3I3H/YHDtJbfue1gyAsV0dWQh7lT0u+Q8Hf0vpf4DjYD3Rf08evk/3aC/ftDspuaAvlbn/H6Vyx+LFZYdDPrw0qoFzbQFlyx/GIYCuLQS7EFTrf+CZ1175T0FkwhZk2zU30pCCCGEkHXHu2cest1H2l0j5mfRfhaVbo9W7KMR+9MApoBcTCdp082GRf94FPXGp1U30X6npeAVT9i14992Tk2cK8A2f00/T3zgK70r0e8zAHwTJeG/0RwBzrlvfOG2u8fuGwy2pOI9nwufjZd/41JHgD/OO11KbZmU+ORcv1/i3YrnZxkD+vjc9uYco97NsaGmQanPiY3lXIX2kOsA7JEmrX/+WdddeWveO0LWBxvpN5IQQgghZE3wrumHHAWbVi+YgcMMJG53DjOVqKg9ZEJXYbeV1EVS4VMSXr5YXCoW4zzqINpcHo0Ph7f/NBHiZKm0+2emJj5w6uyOU6tKztDXLYpBWymuENneaKJfc9W+e6+/7b4DJ9p7A+T3dgCVCeD3J2OZj2L5nrTb2vviMwCicyetAZCIcnPDBGktADEthKi/oSNy3/1sh+e3Oco5dxuAT1Qi8w7Y85zrrrwma4yQdQprABBCCCGELAN/tPM4ccAOpHPivZCfbYW8icrLDJqIfPgbzVa+R9wRC7MFneyPjfOetYyL4l0JOeSiS8/iDtXW1brrGCL+g3mhqFqw6eIzjpm+ePvk+KsHDpOCZl651Z068m8L0+kUcmf6sdG4Y+HAl25bOPA4SDkd3hNqAPj97fKJVfsKoFNMd1FK/Y+Oo/gEBieDfqBU+1b860PEvOo6AGOqiJ+/bnivnF7RWeHurUT+E01K/55K5IvPvo6F+8jGZIP+ZBJCCCGEHBq/v2O3ANgJK9abOfIzAGYqkRkHzPrP0syV34lWyBej3BKFbnOMF3Fp6rXWT1p02eisf20EEMJeaT9XgiD80vn2XUIu4gXiQEVebaaA71OylFqz45sP2bLp/SfPbH8GgMf6NPBB1HOJ/dmcf5i5/64ZI90Pix2j9cb9g8HVvdvuOsn5sL6n06GS308t/p331gCwaf+hDe18sfc4ObYwbUA9rDrzoOv+JN+X1r7kuVUZDyVHAIAHAHwOwB4RzAPy38+57soDHZcjZEOxXn8XCSGEEEIS3nnU7gpwO9FE2WfRRuOdC/Pj9bx4H7WfBbBTgKqcUpz+KWWjmMm65ErV2IJk+vxMw/nj1T4bvU/P1fPtkdgYlkBzw0VYFPTSeUypv7qfIoJxwSfOPHbmxqnx6uUCVAMlIPX1rdjMrqOXtiu0sZFwzt39hdvvHrvv4GBrfJ7SZ7FCmvKfzaJQ4+afP0G+9J91QgnKY64dN/ZMf6/sMoJd0z6ya3dV+VfL+bX9/JKL8/j/47nXX/WN3FJCCKcAEEIIIWRN8bvbjx1DkyY/IyqNXoBZp5ahGwAzVVMAz2/fISKVjWKWRK59H0W8WZasQCkga4/W0X+dAVCKpotqs1R4Lb9WvJp2VDQmp9FUe36MBrcXNwu/+/R/rcDFdLDdfMdJR2350xO3b/lBAE/3MxGC6C9EqeP7NBMiVKcHQtRaLwO4mJBcb1x517233Xdw8PAg+h2S+9kIeTOm6h6VxiguiSfJNpuJUsLvT5ZsbB1QwRlkbbH2mbYSO03Vf3XcDWgFvwDzz73+qq93mEgIUaz330hCCCGErFLesf2YMecaES9+zfiQYh+XnqtEmoJ3cM1a8oIdPsBtI4nlKLgkgl9jo9AlIVLaH89Po+sAklRlLeJ9Q4I05TruyiOdpTRsvT2JzOr3ahqALtqmo7FA3qd0GkFczM030hmlVa9TY9U/nHHszGCikufHccrPC+vKF9qN56nIvxkXgbqnsjH+qL1j4cAX9+6799v85+A8klyod0XVS8+gLQDo4Nrl/Bp89L6UeaGnasBkEOQ3DOqa+nr5KRYRuV2AT6KJ8O/5nuuvuqrjUELIEDbCbyUhhBBClpG3b901jnbeO0J1+mTZuSDsm5T7dnk6wXalG1RUPI0mlv5YaaLVPiKdFyTLZzGnLel56Pkc9GFnxqg6gGw+PZCm/VsRdigp6xUkpGJrx0GYP636X8L3PV47Hpiv2R7tVJcJc8STKQ4+4l+6ZiMMb/zWme1/e9yWTT8M4Oiu/lrnRjr2qiaCVv3K6KQK/QYR/gBw/2Bw5SW37Htk0uOCY6Xk1EmmovhjwveuOTpb5QEovrdOAKe+Q/oM/xwFB45T1/V2ZM4E9T0S+ebAuQtFxKf1f+F7rr9qcAhDRQgZwkb5zSSEEELIIrxt664JOMyKJHPgs9R6qGh9K/K3+zZKUUhbUE6nI4fIvFixEaOKWgQHwVAIz+s59Tr6HwrGGbGhT9domzMhpcR/Y3858qrb9lHX/Lp5sbvmfBNFhRFdWsmVbAxb25EsCKySCDfiK5kK0FXzwDezfWL8Q088ZudDKpFnZP0sCMVCMkbWl+ZzLACY2W5uUEn8rhecc3d9/ra7qvsODuJ3TWVllMbTOrXSsYpTK+w99dF/IH9WtBPAPne29J903BB9/4xD6iCAi9Cm9TvgM+fccDUL9xGyxLAGACGEELLO+M0tR0+6VMi3a8nLDODUa7PsnItz6bf5v869ALbCIhEUiFFDKw5DKjnS+cgh6qeOC9vhry1BUCQawhktoUWIFxIOgLg0Su6aueNd65zb7GQrbFDYbiOlTkXHu4SoLfx3KOLfC7d8GkFqnyeK/+ZVz59vln/LnSCx3fY+Ir+vpZoHbR8vr3ft+PjM1OSPAtiatOujvuaaw8R/OWNCT0cQOOPwSYRpR9trnavu+uatBwbuEWIGMoyKlJ+55HvsfMaKa7M72mZCMT3vcJPw3dG3vVLOm5LzRePgIE781zEcFL7/7RdlAFxWAXtcE+H/1Dk3XH33EQ8SIeSQWK+/k4QQQsia5y2bZjdJO/8dfv67WoYOKirv1DYRbOkSSABCarVTe0OE0JwHl84Xh2rLpg5D7bfHWhJxIV5gi6pCrqLsWiR3NJ5HI62glEz46vO6shasKNV9bvohydJ4tq202GDcGQS9qGis6atuY5Acn1+nZHcQhur+aFus88OPh3duhIJ7uuBfvNz9s5smP3DK7PZ6TKonNtf3Do10eoKO9A67vn1Gw7iqncFW/Zx2ZHasF25fONDbu++eOvm+Jd4vhPGw2Sf61UE9g37fkO9wOCccG++lr9+gj/Hf36rwfQ0OBaCPtmifc5j/vv7VX30QQ0MIOQLW8c8lIYQQsjp409TsFsRCdyEiL2pd+XZuvFqaDjMishlKVAF5ZF4L6dIyW570P/jNX+WJoFbi355XirBq4VYpEaHXi++aT5zY4wWwikgm9oW+puvAl4rh2R7G66bTAPz45CNS/sPIi+KBc2kfTGG8ki2JuB7yV1cS9Y96+5CmLQjSJd+02A/OBOMssc+T3u4dCV7w6+wG5xzGRC46c/dMb/P42KsBNxHdDQU7F+lL2g9pnSMuea6aziCPIKv3XfdurXP/YLD3klv2Pcr3ziEV6oHC2OYOO39c6nDyxwzLzPDndxUAtNM71PN8pzSF+/aIYP6cG67ee2g9J4QsF+vxt5IQQghZFt4wNbNV2vnwSswXIvIqUt8I/03DBEryBzrStFstikvCsiQ+uyL/9qqhDf+HvWlY1EcbXS6lhZeyAEoCM/TZdCIVD+adtdGjo8u6bXOYFvAlO4fdG91XfWxVEGLDHB3ZsS6mZNupAEAUVD76X4p4W0eH/5QJ6I7++nuULRvn++0v2Hy+9/itm97/mOnt3+3gTo7jLNnYe/u7K8dru9WYIBZB1NF/H/XWkWXtcEJHe2sZ59y+z992lywcHOxovovKCQC1soX5zpbw3xv/zIVrmGwToPAMd9w/+71u78/+CvJpB+wBMF8JeufccDUL9xGyilgvv5GEEELIIfNrE9PbRfLUebTrxruYch+2QzANhykABcGao6uoZ8JXnWfFv245RvbbCDbMOvHm+ongQi6s9DJdIaqu2tQCQttXyggoFcML1zL9rmwjeVfDXG9gc1tfAAAgAElEQVQrT8s152N/O/fBjoEk55ROtfekMyNgEWFddHTACneT9m+WZBMgiGCddi2SCvbSs5BmZaRL7VnxX+xf7Gj4PAbMP/m4mZunxsZe3mxyQayXBKOvubCYeMyu6e3X42O+Q3pwk/M6siXWKG7vvnv23r5w4NH6O1BcIUGR/SaE88rOKSn8tvjjgXylCZtBI8BBB1yMNq1fIJ/+vv7V9x1BfwkhK8T6+ZkkhBCy4ThvYudRrWAPKfUqKh/FO+Ja82iOmfDSxleL1/NXA0q4ldYrdw6oKkmik4CKxCbi1qQuI42O54Ja9zSXeWFdbqRiys6tzolnhPRf4ziwEeYuEZwV/uuYR5z0SQkIB/05lYDaMRGzDuI52fv2oJilkMrweA98UbtclHaR90MyJ4d1AAyA7B5ltxTREWAL/2kBljlgXL497m/O9uOp6xNYkV2y2b/30X8Bbn/4UVs+eOL2LS8SwQnWeVByLHlnhbcfSIVjIkqH3IfgRGuVvoRz8mkNmvWQBXD7woGL9u67p62tgPi71A5CMhXAjKEV8lnmDnTKfnQAdJG03dzHr4hgHk21/k99f/+aux50hwkhK8Za/30khBCyzviV8Z2PEeBUoKliD/j58M0ceb9NINMAxhvhYoQ3VARMVAE1pGK8K0Xav+la9qwkpMK+IX+JD5t3biP53sbSFAD/R70mSF2tE8z5UaSlUUQbpS1FifU8f1sIz/bbnmu3++O9OPWp3AOo9pSEl8JAdV2j6/r2PlrHSSkN3h5bGoPh10Qr1tRnf5wRYNmyf6Y96/BojmkuEK+pHFoFJ8ewbAA7HiKCTZX8/Zm7Z2RM5Adif2M1fn/1rj7EtpSDqeAIyMZNtedgnjFz/0vnr3XuHwy+ctEt+x4jaAroh6J6Ym4eoBxJ2aYE+1zaYpOZ8zM95yYv+AHM/0D/mpuXpqeEkFHAZQAJIYSsNhZE8C7nMJvMhUfz57BNh03FSPqHcBSvSnj47YJwZCn6H6L6zggw07YmVtdXy2o5iWFVfWzhVQskIEZA4fvQ/sGuMwfCuaqxtI+pxQ7xQB31h6SVva2dB53LnA6636WIuD8/CGvdP+eX6kuXIPO2JuNjOhvucRDRuXh1Ib1AR//9/ryPXQIyimlXdH5UbaQ8idgrh5NvPPTD36PgbOkQ0Eo022c7zPsuiH81agHdb7sMoG9zoN5XIv3HTW//yO6tU69wTUYNAJ9NkDoerBWh3YLo9+jsBZ2BEPtYXh4xfLdcrDngn4f1Iv6dc3f+z21374b6SttnI1mi0cXnu+v5tVkAfhw7TwL2AfiUtIL/eTdec/kSdI0QskpYL7+XhBBC1hG/Or7zu0TwbwDGSvOmh66Z3tIImbIIsWnIWfS1pAjN52H/AdVLdIXrJP0oCHhBUaDGKGheqKsq2Nllup/jm9oZRaEWZboNbavtc4xOS7J/WITZj611qEj2L6IITg9q2uoQstbOxSLh2Xh09EE7ObSzwx9rTMwEsH6mssi2eYZTZwY6r2OnncRnSLkFhoyRvj+tI2OwfWL8Q6cfs+OESuTp2iqfWWBb63o+kyM7+qAJhf90n2zGhXKu6e+V7ecaxu3dd89Xbls48NjOsWx/W3zWjFM3tPRzlXzv/A7dXjOWCwA+41rBL8Alz7vxmoNL1SlCyOpiffxcEkIIWXecN7HzPOfwDpue7ukSTfp9VThXzFG2CJ4WGZY0Shm3petdK6eEFrs6+ov0FSgJxg4bzTkAEiVXcgDoNrQCsO12iahhwt9HwvXa8cWpFWrQkr62DaZTFZpxtCnJpSkKpc9xDOK7Zl56OXW/5DxI7m97TlffNFl2RsnQgqfCpmRDkDmNuvA2WvvC/HmUa1jodh1w2em7ds5Pb5o4d+CwRT9bor8cBReJXq6x9IzaTAbd2uJ9k+yA5HtonTuLtLeauX3hwH/v3XfPmd3f39QBBXQ7dSQ9OSkoKo3Prwdgj4ObF8iFz7/xmoVl6xghZFWxVn8jCSGEbADOm9j5187hRV5EDFsyzTNcVOvjmj+XXfK5o63MgRDp+mNdR7j9H+aVOS+ZmpC8t+LfTn1IRbuOkutpwmmkWbVZiIpbumoM+Jaincgi4pYgTEreicTZkctCPY8+jaLncjTarc71+1tPw+FU8C/1dWj/kN7nJIsgCPly9N8hLnuXOh+i86jLuaPb0lkAi4nElgO7Nk1+4JSjjzpdIKeHtiROF9Ct2Pn5Xc9l0T5zP2wdAD0Vp1jtXj2zwZnTEQFfa9w/GHz5olv2PVb7qHRhUB3571oBAEjvdZXuuAIO8yKyxzn3qRfcdO2dy9cbQshqhjUACCGErGZeLYKTATzei/8SpbWsARNBNc6AprxWTD0GygLLpqqn143VufN5utbhYIQ7YqX0UiQT8JG+tI+6LT8FQC8R1+z3zg1ruZW3iBkK6gjft+J46FN1EUB1nt6mrxgcFVq0GS+LH9Nw3RC5VFkUDnDmZkfRqBw7Lva5UVXpSV2rHei+NOOcZjpo7DlDxbYDnJSfJl9vIslacc378LhKPqbxGmlV/KQOgnEE+MMq4HNP2j3zxa3jY+cCmNBOlmTqReK0iC3YlRq6HFr+sx4nfSuceqfuHvzyiLq2RHAc+D6tZdXf4py744u33b1bos5v+2qcnA7hd86p8ez4ln8VwLxrKvXPv+DGa29cga4QQtYA6+BnkxBCyHrmvImdJwG4CMC03VeqnK6FRxDJBfLNSkDZ0LIR8slZOi9dHZQK5RjtLK3fnranr5JGiv35VXuIF2mhncROKw3iZ52yDeTz/4PdyKPZus/DlsLT5yfRe92eclh0OXF05NdOG/DjVYq+p33Ol4yzTg29AkCpP9oRUMp2sKJcb/R97Yqedy0DGMc7L9CYXi9/WJvxin13DhiT0M97jt+66QMnT29/1gB4tL7HiaMlG6t0RGz2QnBWmLGx30P7ZHonnCCOkaaUUWPbL21fI7gr9t3z5dsXDjzOfuuTZ3SxARDcJcCn0Ir+F9507VeWz2RCyFpmjf5WEkII2UicN7HzOc7hn0WiviuJxkTQmkhkKVIoXe8Kaq5L5GaizkxUL/2H1kZMtd2+TcCnOaeR1qL9NrqaXKVsvXaU2KXhdAu2lWFzkIu2+c/KhO5ztNsir4qvByG75+luoL0fds5+udBibrsX/M05eX193a69N3Zahn8Ttkm8x8W7pM63GSjWcaGdAF1LAOrjJiv59zOPnbllcqz6IRFIuupEzErxn41loaWkOj+6nUAaa4/9DmXvjXPN+trWwx+xty8c+PQV++55Suk7EZb/0z8kcZDvg+AzgmZ5Pgdc/MKbrmXhPkLIoqyH305CCCEbgNdOTL8BwNuGrTcOKNFUEP1ecsU2upcRtIIuv047X7kwT1fQiPcxkUy8DUkuMMXWQovliKA5P0aJ9VG5A0DPqfd0ZUnoa5YyAKwI77LR7isXldPHlwvLlQSg32+dH1r8l+pAlEaptLyi7q9dBaCrz9ZufYCuZaGp2gcnS5vXThOVAVElo9U+w9rRkDs4bnvkjq1//tDtW14E4Hh9bfvYpcFm/T3p7GH43g1cekTp2ep6/n2/bDaALjbpbTJ+tmJ7q537B4NLL7pl37dCDVPnbxBkAODzDm5eRPbA4cIX3nzt/hU2mRCyDlhLv5OEEEI2MOdN7BSBfATA8/X2xf5D1u0MiH9mF6uvmwtYIZ5GQHUEthx5tlRGLDW2di81518HMBkO7T/DXSLR8mT5OxNRHyagrJ2hicKSeLaNpO32g3cCxOXlJB1zhyD+EvFrFF/MXrBCtW1TieLSVAf72QpS2+8uh4wmCN+SwpX4rHj0EnjaplLl/jRyrq+XRv31+81j1UfPOHZmcqySc3wKzWJTHrSd+ruSHuuf95Ijq2NsXOoUSBxR7fWceh/aRDoNwJ+8VmsAOOduv+TWfe7AwB3ttxW6ciX80nwin3zhTdfesXIWEkLWK2v0Z5MQQshG5LyJndsAfBbAY0sp1Db1H7BR33h0XBbPRqrzNH6Pjk5qgnRNIr0qAo1sd2Jvmo4fHQtDl1fzr0MjoXlbMVKb2qeFnRWE8TwJffO2Hk46trU5T/1urLFz40vz/H0thO7rKzeA2WmXpbNC2Kb+67n/MMfmV0vvpx43P6VD911nn+j+tgPQ8RyH3cnnpPBf8/mGU2aP+ugxm6deCVVDw48hUK5JoessxC77GhQuuX7qtEizLvR42GfT1jTQpCsL5FNBEofI2nQCDK7Yd8//3Lb/wKnG9q8BmJc2rf9FN1/XH4l1hJB1zdr7ySSEELKhee3E9KMAfE6AHUBZAA4TfJo0ah8jn9qJUIr4LlrMTVJR5e20BfX0cn+AFpmtwFZOikScmeh/2qcu8loJStsVo8p5hNklToCSAyDNkkgHwa9VnztkhmQQKNFbmr9vz0mfg1SMds1B15fKnCF6ikfBAVAqCthZd8K17Uoqci2l+6o3ReGtXD3qeOfcYMfUxJ8/YdfOEyuRs+25Xbbq1Qd8hkbzMb3LpaKFwS71fOprNHY1r1b4p89M+RpQdmXZCqat1f7H7e0LBy64/M57zgJwtwj+Qwn+L4/aNkLI+me1/0YSQgghGa+dmD4HwD9qTZ9HQ9vtJvU7OaZ955cBrMx/Fr1Y0+f485IUbh959Q4DpVBKhdiac2yUtCQ/c5szsdseHrMg4pWinUokqoFKi9Ll1yph58DbTIdMVCv7tL16LrtLrSw6XUJbSMfSO1aikyJaUpr3n65tn1+j+JwUhP/wu2XaVYK/tJxjdp6yL3mutE2qBTNWlz3pmJ2fOGpq8lwBNut9nZke6ln028J3xnYujF+a+u+zSkLGhhpnvURlNjblSzT1M5zuHTJHy1pk4NxnPvf1O//VNdX6L3rxzdc9MGqbCCEbi7X+O0oIIWSD8tqJ6bcCeAvgI7V52nEpYhzT+KOkTkRtQdUFUZSJ1VbYKSVXSlcH0lRrjbfTpv6HlGpIJhK1cGsPGxoV12dlUdW8u4f8x0FXIbxkm/ZcqIulqfD+EJc5YRD25cK9ZLuVkjEt3tucO1ME6ZSC1OkQPw1b/cAK6uZ4MwaK4n3t8CpU0I6LdNqEGtgDuzZPvv/xM9vPqKqqTmw06QiZ86PgKNHfHZ+u778DukjfoVKZdnI7Or5bBaOHOV1WObcAOHWu1/vqqA0hhGxcxkdtACGEEHKE/LoAtQPOCZFKREHdNWdaFzXz4rM5VtpIdSu6lbrwUdji/H8v9pToKy2rlwhERGEV3/tIuo6sSlKsLV4UEFcWmFrUakeC7q8+R4t+a3OyX6XC+89Nf2MKvC0s54VlJWnxwiQlXBBss31Iutwa5nz/O21MW7DTOUroLIJh4tLWdADS8Qri30ft7U5lrM86SbIB/POA+DyFcRX/PhXf7dj/95nHTn9py/jYjwEY95d1IQxflurhe2FsDM4qiTbpFQhi3YL0mUqcBQWnVMkJ4IlOjfRZ06sAZEs6Yvj9WmUMALyM4p8QMmrWwO8lIYQQUua8iZ1HVZCLADyqtF/rhVyMl+f/Z5F/8zm23c5nRxqp1BkAJXGS2BAyD5otca45QqtdIsem8/szYlX9uEM7QMJnJdKcA8YKoiwX4bnoN4H91MmBtM0owlMLSxFhe0BwGqjj7Ax1vy2d1+7H1I5K+VK6r6Vzi3P+1ftMjGb3pnz1rjaSuf3tq5r//425bZs/8KidW58rIo/Ubdn7UrqOPd5mIIjE5ykV/ql9A+f3dmMj/0UnT+vZSbJx1HVKjr6szsLq5Tfmer23jNoIQghZOz+bhBBCSIHXTkyfDOCzAmzX29N5yLGCOWAjxumyYzbFW0dJm2CqUWQ64qs2+zZKAtehVAPAH9NdWT87X+8MNpSEZpoKXxJN3lZLMgb+uIKYbsY3byNZ7lD3UTk+dE/slAo9rrnNcclFP1+8MsJ9WPV8vYqAtkQ/H0B0Iuhti/0BlQnURFCXHTNd6fGlqPpkVX38ybunb58cG3spnJNwXjL/oNuJpEV/iPIj3id7z/WWkvOs5KCyAl0vAajP88QVBVz+PVMmZN9NLH4/RswnAXzXXK83GLUhhBCyyn8vCSGEkMX5tYnp5wH4KJT+0eLCpuX7I3z8OEs/7xAamlLlf9/AsPOT9He1rav6eXZ++0/onxKWgLVVkmt624IgV21ZR0UWzTfR/9KyePkYdQg1dXCcC+/tlzYKnB877I8WvfxcHONuGxunj7HL2j9kvr9GZzwgXDsX/yX0fdBV+JvrF0+59dE7t33oods2vwQix0UjVDpHQX3bvut7rqdXpM6S9KnIaw+kRy3mANC25M+1at/W5BjS3hoQ/19HM+//a6M2hBBCAGBs1AYQQgghD5YLBwuXP2188ySAp4WNJSGmdjl4EdgKzlZ46yXKrPCOwkmt4W4ml+spALoNp159JoGYC0ho3Qg09X8vFEPjYvYbi0uJ2ck0BRWR1fPg/RJ/9uwgiocI2uwcdV1RF/Sp9KLOtOMWzgPCdAxtp75eIvalsA2xr6X3do55qG3QDngluX22v/4eBadO4ugprB5hzonjlGcDbB4f+8jTjpv9+s6piVegzXhJxbJLG/HnqiUbvdND910/8/69HZ/4bMae22dUXTZ71ejzusim1Vj/RmtcaWrIKmIA4Afmer1LR20IIYR4WASQEELIumDg8KZKcJpzeI7fJuEf/zl+COnfrRLxkeewZJlDUohNz3h3+lWdWxKHSXS4/dyImDSt3LUhb+sw8HYGMagFJbpFlJd/epG4YI/JiNDiP1zPpen0DqlA1mLLZg6E/aozNg3fb/Ct2yUL9QW6xJ5djlGSM5ojupaBtOLaC/2YSRD7rR0B1vERHUmx4aT+gKR2JtkdOsuhNbn0zAC47ttmj/qHXZunXinATt1D55weZojxeDXPeJqqr8chOFb0e/VsaJt1AU2X9CVOMSml/dvPvp96RQF7Hf9aiYT7kk3nWN3iH2jm/X9i1EYQQohmlf5eEkIIIYfPr01M7wRwMYCTuqL+/n0uYdutkh+bRjhTZWrnK2fHw4tnFbmHErMqEu4t8efZtvx53omgq6qXKE5t6BCaJUfC0L6rY6zdSR/VDi0wtUMlm/ff0XByxxInRipQS4UQS04A3/xiUwGa87XDokOoixK8qp9h2gTS+f92zOM4h02DnZPjf1bv2vnwSuSs0Hdtj3bUdCjvYX/sJfe4cKBO9w9ZL8H29K6XnnFrlr1E15jbgoDhmioDYJX/ETsP4Jmc908IWW2s8t9OQggh5PB43eT0453Df1WCrVooN0IvzjfPCpmVlElhexbNbZVJM7c+FSvaCaCabESjlNqMZxbFv2pDF9frbiv21Z9s+2odFUUx1p4wUGKzVAxPC2Iv/qDeJ1MPkEbvtbuipGMFeZFBK/a1MyCcU7DBOle6nB9djp3Oc3Sf23/yLIV0hHURwyCgBaiALz3xmJ0XHDU58WoHbAJ8loFJ+VfbEjsXqc8Qr1+eFhDvVdOiLk6Zjkl0anhHF5De+85rK+dVtswkJHle0ie6/H4V8TU08/6/PmpDCCHEsgp/MwkhhJAHx+smp18E4K/9Zy38ACUcbTp3R7QyOg9SCRTmX5vwdNd/XLXAbSL3rYRKrhuFdSYobWMqmh/6kLRQiPDaQHGHvamzobvoX+n8pKhcwfg0ity00pUFsFjEOI6pZNFn3dywe1ISlLbQoW0rc+a4eH7Srhe4QSR31GWIb+87ZsvUB06Z2f5kiJyaja2+Rsf8f92X0nZtm32+/PY88h/7MVBTG7oyW8ylw2ediVGZcSh9v2zGSjTS9AWrhoNoKv5/atSGEEJICRYBJIQQsu648ODCl59abd4qgqf4bV7UpJFMScRQSazaTTGFW4lhJbCsONXbglhsCdcNgiuv/+/PHyBGZYNNSgRZ63wbsWgfEjEVr7CIvW3/SpX//TE22yEK1DSirNPird3pZ/NB2S1md7yfudxPBXjjdCllewxzFMT6DKm1uR2tjWp8y5kZjfDVmQj++hMVPvPtu2c+ccK2zedC5CGLiVp/X8zG1MZDnAbgD9X3Lor/WENA2k5WQ6S3Tf0PkX51L+LZ+bKVjWMhfbiTMTfP/SoS/wDw1rle789GbQQhhHRRLX4IIYQQsvYQwesA7AHSOfK+6FioZy55lBIuCo5DEWFdlNLEnVNp6f56hTN0lDykVreiKqnU7vQZsZ0g1pw6LgmjLm6vXvpPf/bXtgLM29oca0Qg9DjHI8WcnwynSiMvmd5s8xXulUSVdJx8U5WkItemlyfOEOX0sKsDeGztBbs6Q7Af6bQR115cjdc3vmX75j84+/hdx24aHzvXAWO2v4mTSd0XpyvvKTuTe4G0z7rvTdvRft1MTMn3GQBN0T5lVTue+UOlRboec22Dv39A2kY43sX/+7elZ24V8e8A/teojSCEkGGsMqcpIYQQsnS8bnJ6VoCLAfkWKzt8yngiftrdPmIpreDR1cqT6QMmPdkLep3mHARQkibto+mAF+5JBfr23zQqat44LwRTCRTzBtLE9iTt3NgcR8UI4iFz/y3S8V5fK+6LW8J9KLaaOxJiH9PrxTnkZnnFIfZl7UiT3m63+XPCOHS0mW1Phtz2vHk/Ucm/PXn3zF2TY9WL9X7bhdI27QjoyszoatOh8TL4OhLJfjNAcX/6ZOnsjtSR5e3L711X/1Lb8+9YqTP++zaszsAKcjOaef+3jtoQQggZxur4ySSEEEKWiddPTp/qgM8A2KwlWGfkXokLjRclDuncZS9yfCTaNNMpePTccB0dziK/hfN9pHyYmNJV1L0oLolUv60rCq7RFdkHHZHxIPqUrVXr6PBzydNchbSInBaUR5Sq374P/XLDV0uwbdp27HFDhWtmb143IhaixC2P2bntL07YtvmlItgNpH22ToquvseMi7bPynb7HMF89kUV/Tx+f6/8NXWdCmuR36qLUepxKE4BQPnZDmNjnUw+g8L6Acx3dLH7sgIcBPD0uV7vgtGaQQghi0MHACGEkHXP6yenXwbIhwAtGkzhuYKg7hKbAGJ0Ernwa5wE8b0VR4AVe1EA++tZceTPDbZpgRWuUXYfJIXsjMgsRYkbYTc84t/YEB0Cvo1kDKRLnJXK4KVml2Vnbre+boyIp2OFjvPsuUkVepP+33WebrfLAWDnuW8ZH/vbM3dPb60gz13ckROFepKZEZZViK8l0W8D6JXakd7vtI/eieOXL/T9Afxki7wAYGK3ecZSG/yYxpOjoyOeqAtsrvI/WN841+sx9Z8QsiZgDQBCCCHrnrcfuPMvHNzvh/nKkkdIncuFSlmQpdFrSB5Br0wbLhyftxbaUecnYg+I89ldtFMbVxLY0SUQlZ0Xqd32lNtzRuX5/ToDIJnnbaK9LrwXvRsDGx+3nhfk98Len1A8UUXAtah2yPur2xpa50CJf73Mnt8WbJGoxV1iuwuv7XNz7bcdfdQffPvumWdWkOf643QE3Rcq9K/6OQjXby9ScljoY5yazqCfq/AMedvVdTyVKCcQ2sKF7QlewA9cafZ/Suk71dz38jOlCc9XO64D32/VdtvVUfJxAG8fqQWEEHIYrHKHKiGEELI0vH5yZtzB/btAzvbb0qiqEkUufo4CKs5LjkuvlaLwadseHy3NsgUckihzZc6z0WVR5yHZ1hypK7b7zZloLfavG7sUnhV0WqTmGQ92JPJl5YC0PT2nvDQNIPZFkikYISqt+pg5M9rXymwL9hiHwLA5/8n5tpv+oKbxg9OTk392+jE7HgnIU5NDhjhySuOdHGdy7W1Ghj2+1Fbanh43nbXgsvsU7cuXNcyKCqrrl+xpttlMg3QQ/HWG1YIYATehmfd/22jNIISQQ4cOAEIIIRuG10/O7AJwiQBzMZFZYUS2xwpEnZqsd9oodek1ara8EKBOiE6WylOCGFDzqQsOBW1BYiNQFE+ZkC21ptLhrXj0DgsJQi11WiTiTylAuwa8Mjv5bJ0K8XOaVu+vNRgiOkt9tv3uWu5wmGMm3Ad1sfhkuUvPOGbmwqOmxl8FYFNyXXVf7Dz5kjNFXzucaBtT2w/ljzw7Tn5bWWjn7doCgHo8Ss4GwNdBiGLf5wOk35P0WuH5KTh1RsRBAGfP9XoXjtoQQgg5HFbJbyghhBCyMrxhauZ0AP/pnNuk5xsDyCL/XRkA+rhSFkBX5LYyoj+9Qir6i1FnL7a0wFWfS2uq+/PCsRhub7M/FcGlyLLPVhj4viEfNx39z8cyjTzrKK//rLMySgJcn6wzAlA8Lsfu6yokuKgzQfIItoO779jNU+9/3Mz2p1VSPR7Io+U2+m/veZeALjoHlPIu2V1ypPh9tlZDdI05tb3pny9iGJ+V9hyXXsv6JkrZGP54IJ1OkkxtUPd0FVX8B4DXzfV6vz1qIwgh5HBZPT+jhBBCyArxhsmZV0DwpwCS5f+8evHL/nm8uIY6Lol8SllY6c8aL4x1unUJK5Cbc6MQKqXy+4NFGSXIj9UCdoC8bkFub9m2kmjVglg7KipVUE5LzGL/bZ9LdqmeiKBdwq97xYOirYW+CuJ880qkuOJBIpbDM9H0b0zkwm8/dubKqfHqRwQylraf3j8b9QfyLAaPd7q41s6SIg6ZGsoZYNv39jdjFu0P9iE/yda+KGZwqD6K6sewjADvKPJZNdk0AEHYt4rE/78C+J65Xq/knyGEkFXN2OKHEEIIIeuL/zy4/4tnjW3eBcGTAKWhCtHjRDSZef++qKCdI6/P1xHRJOKbfBb1b3pMFnX229T5qbCLVidRWuW40KK8cXjEdrzQ1aI/Kfbnt6nP+v9aEHsfhHY+ROEoUfyZtvXA6T6K6l0qCCXYWcoAsA4PfYlwjEie8SCx3WJGhn0vuPvEbVv+5PRjpp9YVfKdFaQqRf2tds8cAUb8Z7YHwYz0oVJZG6VnsmS7vY49KGalRBRnjbgAACAASURBVFdCXMrQJXuS74XLt+lrJktp+jub3TvVF/3dwUi5EcCz5nq9b47WDEIIOTLGR20AIYQQMgoc8IsCfJsI0qJs6jVLW28Flo8Ix0hsPNA6DcIa6yaCH1stR2cdCiIKRiw6L/Si28Gm0ScC1ERh9VSA2IApdIhcQPrUfy2udfu6Q8EhEPrqj24tc817Oy1A93kQtmvZ6TBw8Zg4Hrmg1gK6PI0gRWcBVEpIm64ldk5W1b9+++7peyaqsZ/3x3dlN3j79H3QUX9tcyljQ1f3tysB6O0l54ofH5vyD6gMDeW8sWPlr5yOSuyXHv9wf/SzEPrngiMnPBOl9ACXOzHKS2CuCA8AeMlcr3f7yl2SEEKWlhE7UQkhhJDR8capmWMdcAmA44Gy4Gq2p/P/HXyadXOQnv9u0+lLa6VHcetlrYkSI9dClfovdoy7dmUgS35tycWTvZ79o6CU+g+oCLmx1behrxuj3QVnR9eAm+wBu0Z907foiAkOGSM4/SWsqC71KnU+5EfYGgTK/K8/dnrbXz1k2+aXCnCsrsOgK9frlQq0jVbcdtmVDI1KHQh2L5IfP2yvmAPKjpL05liHQul98TlWz7zHZ4bo8RqYlTa6prCsMK+d6/V+Z+UvSwghSwcdAIQQQjY0b5yaOcMBFwCY7BJgYU51S6nIno0yl9qK0fr0NaZUqz0++qnED1AW8NquZI69ukzXf/C9gLYRbi2C7QoA3W2lc8r9nHh7TiqSY5t2fryNiOul+9Da6Fy02gp/vye0b/ro763upx6XxbIFto6P/fUZu6d3jIk82+4rOXf8WNh6Avm55ayFTJibKQtJEcAhGRxJn1Sj+rnTgyXZxrS9rmfTfi6Nf9NH/dza5yM6m0Yk+j0fA3AO5/0TQtY6dAAQQgjZ8LxxauZHHXC+3V6MiLso5HTKdUlwdhGmDyAVQ0Ch2r0S73YFgNTSgmDqON6L6WGCqiv6n14x7XclqZgLIhtNUUU/h7/YiI4iG7vSbIy0AZ+NMcxOfam8jVRI+892KUBzf6+ud+342NGbJl8J4Cjdlu9v6IuNYBeyQUoRdxv5D1MuOkS/VtslN5Mgz06xffNv4nnRcRGX7pNi+7ZPtv1DyQSIxytD/PlDHF8rQB/AaUz9J4SsB1gEkBBCyIbngoP7e2eNb34IgCcAXWIzzpEOBeJMWrKmJI6aAnBxKUAxYkrM8TEan6fyd8Rz04P8ecYJYMV/InTbvtnl8EpXqlKdlhf/QxRztq8aXUjRqktbPC6OS3NAFQSx6p9qatgo2ewOXfQPBfEP4ODM1MSfPuW4mc1bJsZ/EMBUtC3elegESdP/w53z9hk7S89ddKJ0ODFMY1ac26wJf6jA1CEwF07XD0jvo76OPs0MW9EJJerc4PQyzx98O8bzMyL9fz+aiv97R3N5QghZWlgEkBBCCAEgwM8COAXAmXp7LuKj4tcCDkgL4wGqAGDYJrGNVv74f306vI6HVu0pvphalSggGzn1baSp/6Vl5uyZegoAgCz6rYseJsvLqdRxbZWgsbkSvSUeEZLig8hv5bx3HBiB7A9Nx9el+tD308XjAV1A0DoQvEBVRQ/bhuxYtZ+/eObu6f/aNjH+KgBTynx1ZI6d+++32XntfrsV5WEf1Djpuf/+vQmP28wSPQZ+jEJUvT1YXz/aLIkTodSudlBlBfqMak/P884blx3gzz2UjJpl5vVzvd5/je7yhBCytJQcw4QQQsiG42333XEAwAsAfA2IAsVHdJtVABCi0lCCB8hTtvW+ICadU8dIWGte0KTIN+34aHQ8UUfB07ajdYCfN50f59rXVIbnwj3YqKLJ1mkwpufMq/OTLHQHU7QwOjuS4oUubSjscfkfKHF8BWm/W0Hs2xBjV0c7ybb2ZH8/EkEKLBy3Zerdzzjh6LFtE+M/gVb8a/MTB5GJlPspCokzQwlmf74X0vqzFctZVobNUnCu3D/kYyKp0SEjQMf+G+ubNgeF9P9whO6L6pt3Nvhn0DJwLqutEZ+VfHJA2cWyrPwTgHeu/GUJIWT5GKFDlRBCCFl9vGlq9ikO7pMAJvT2xQq3ebRAKmYPAPDRephjQ2q+EoKatL00/qyvoYW0NsRovqzdILLNHPhSz5MourI/LYjo5/4DWljqAoC27dL8cUDXFUiFdWnJuaxNZbP/3H1v4v4xkQufetz0VRPV2I+INPq4FAFP76GNxJsVHnTkX0XL7TNQHpvo8BDVoC/SqJctTLIjVP8Fup5A7IhItMJnb8Q2mu36mdVjZbMvdF9hjo3jYp459YDqopPDvk/LzPVo5v3fuXKXJISQ5Yc1AAghhBDFBQf3988a33y7QL6nEdPt/3xkWaVtWwmu59ZHMd2K8qjY1LzoKKy0WAvpzzadGrGNoog1Aq0kMrsI692b19h2mhGQiufY1zhGsdaBbiUWlFNtqYa7RGPVHuQFdVK930entbhW59tIvZj+2hUPIHLXw7Zvec8Tjtn5pEqqs0PAvdD3ODYSIthpIcS4zfYvTM9wqePCOwKSa6gMgGCDdtCo/qQR+tzW2GY8xqkD0mkI6Qja50Cv/KDLEfjpL2L6aDNlQsFEqPoaaqy6lnZcZu4H8Ny5Xu+q5b8UIYSsLHQAEEIIIYYLDu6/6Gnjm08EcFqllJlTEVYdsfWf9atHi5goOsPeIIZtO/59ScxGxwHM0anQbIRuHgHWZ3i7bAX8tA9SPC/5bAQfJBV8UELPC8CQ7aCdFAXninZ8xHHxdiohrw4uOSvS6+aODgGwaXzsY089buaKozdPvRrAzpJDworYLkGqpwNYJ0AWNZe0zxadnRHsdqny9o6Axe6Vf67sA+FTHJpnJ94I3Y+BOSkbHyP49XYt+kvOK5spkRhsnCTLzHlzvd5HVuZShBCysrAIICGEEFJAgJ8E8Djn8MQgQGzkGmXBpgWsTYuOZzZHOkhxST4v0mIxvfg+FK4LotJ1COYYnbWiNXEqKCNLqf8OSNLLbWG94MDQIr5V92JGKBOnarfNVMgdFyoNPRTv83YjiGio84JjpXUY+Mv5Pvt2BPjqydPb/+b4bZt+yDnsSvqhbCtlfmjsffT3KHMCIN4bfa7fl0wrEIG0tuv0/3AtXQiwVd7WPp1t4E+W9rOP+NtnRYt/fb3EPudtbKdhmPHSY+Vf/bSQNFNBZzdIMhYA4JS/Y5n5x7le738v+1UIIWRErJAjlRBCCFl7vHFq5gQAl4jIMXCNSCnNsQZysZqLRy1c/TmNvBrYtmwU1fnIr5Z1XvgrsRSu2YpOLS5tRLbQh6aNNANAz8UeJnxD2rhDmI8OQXn9eOutME4AK4Dja+4SKAlCfV6XY0T3d8t49VdnHjszO1bJM23Vfjtn366qkAh1xNR/KHt1vYIuezWlZyu581ro6xUb1PtSn4v3XMpjJIj3MHVe2JwO05fCM9Z1bHZu8CDFyzQOD1kJ4Q8A16GZ979vRa5GCCEjgA4AQgghZAhvmpr9DgB7HNy4FnFe7Oqoc5eQK6dF5yLKOwN0MT2tMNModJccl0Rge0HtnQzehiDSW5I59WYZQG2fj6prp4NuN43qltO9S9jL2UyLrH9Ix3MxB4fOBlCi9Kp6185/md00+WoA2zptMWNp2tCWtftc9l47j7psHyaYfSZAlgEgsQigtavLSaXbFHuw806fZkOsZZBSKmyo3y/mfLLn66UmtUnW9mXMArgfwFPner3PLUvrhBCySmANAEIIIWQIFxzcf/1Z45u/ISLPBhCEESQVhEAuDivxkftU7ABRtNmUcl2AzUfLk2tIKqDS8oFI5sIHAaXaCNMJ0AjiYIMWkh3zyDtXBhAlAlUQN4/YpxXx0zEpj6XtX+xn026cE2/aNGeY3Q8cvWny/3vK7pltWybGX+CAycY6szqDt0tSG0siu6vwn71PNqMguYbpaVd/wmftEPD3rG10mPD3z4d+1XakwjtWbSgtcWjvZ+Ncat7b5QEL9yGxUD+HdtnDpr3UibLE/PJcr/d3y9U4IYSsFpbtV5QQQghZT7xpavbPAbzcf/ZCSUfDPX4+tF9X3af9p1Xic8Hnp1An8+lRSoOPwqjN0m63tILYhJGLAlB/VgLLOxAGRmzZaLptoxKTjm5GJeuzpALRG6bHRI9Hek1Jztfi2c9j1+eEZe+a/3/hzN0zn902Mf4qB0zq8RCJywlWtoOpmYeEFv2DjlR2O61A971qbU9sTC6glLbo0Sml9HfOugCQP6ulM/Kshtw5dShLAdppE77NZr9ynkjWteXi7+d6vecv+1UIIWQVYFeZIYQQQkgJwY9D8HkdxrQSSRCXP6sEWVq0Fk76/AHSOetAPNemQevK93paQBBtTkWvnb9uio+0Asgirc65ZGqAA5LPuq/h/9L2TbyQy2PIycnqveiGXCoOAT8dIs8bKBXna9Lkc4HbNr9/95apP376CUdPbp0Yf42Dm9R9tII5KS5o2tLHR6dM7K1+dXCtk0Y5U1zZfjUMyWsi/nWqv4mQ+8ats8b/v+TA0VM4EO6ht1w5ltRz688rOUl8tkRJ+Otre/Hv4NT3SdpnQpL29D2wz/IScC2AVy99s4QQsjpZfp8qIYQQsk5449TMiZXIJc5hVkergVTg6DXQS6sAxPnaZn34Vh3ZdeFL6AisF2n+jBDAVftLbZWW/9NTAawoTq8f+xudAPZYfZQSwdaBojpSasfXXvAZDnoFAD13viT8AWBC5IInHzdz3dRY9XKo4EdpOgKQ3zf92YpeK6yBtBhgcn/1eer5sNMLrANE9ymOt2SNdPU/adtG1a0jIuxr6xYUIvQ+U6Iy46Tb0ddOHA7wSwnGfvhCf7mXB8ohsSx/tB4A8JS5Xu/ipW+aEEJWJ3QAEEIIIYfBmzfNPgPAxwGM6WhwcSk/K7Y65LEWbtoRIIgp7R1SNZzpU/+HC/LhDgE9vz/rS/uqRaSf6mAdDoUzugWhioDrs8rH5ysbALFugo+Wqwj9vocfteWDJ+3Y+rwK8tCSOA5CW2K2RKX6EoQuuu6Bvnbu2LHp7LrP+hrDHD7WMSBWrZfy5E0hx+KzYOzwx+nnz/djoJ1VHWNQdZiiTU2edWiHgpq+ErqXbrNOpyXg5+Z6vT9amqYIIWRtQAcAIYQQcpi8edPsrwL4HbtdR4cbwaMj7GnUHoiOg1LUX0diy4nPqfjXy6U5I5hKZ+lXW/Ff1wIAUsGVHKkOSKLCYXc5xq5Ft/6cOyv8fPDUjRD1b7kooQMwNVb981N2zxwYq+T5cX8q++0a9zZzw+psew3nrPMhj/w3x6bF8qwTI7nvpi/DRH+yXR2vbUzuc9L76GxKMh7CNvvcNZ+7siYcGo+YP6NU+d/aVMouKJGMl+njg+Cjc73eDy5NU4QQsnagA4AQQgg5At68afbDAF6st2mx5ZfZi2JSp2in0dREZulGmkOHFEGLZ9sl5koOAPvZIS3epwW1XQpQOwC0vUHwh2v6fqYV9UMbPgqsGrGCWDsR4nUk7B9WWA7AzY+b2f43u7duerkAR6dCM/5rxX8iupUgLqXp2z6VhH9pCkBXBkApM6H0OR1HW3SxfF6p7cSvpAxI++rvYrynPgug5GSw/SpdosvJ0ZxrnFi2H0O/B4fNNQDquV7vriVrkRBC1gjjozaAEEIIWaO8GsDJApyiN0aR40IUtREuPpZtEECcEUWihLDk4qk5xAttX7XfR/PVgYsIJl0DIOuDqQVgswBCpBda4EXxq7MdEjOcEqUm8u2nUTRLFJpl9VTxww4ngds6MfZXZxwzfUxVyS/osfLCX9sYTLAKXG238/79OFRqBNKVHVxM+S8MfjE1HsMFcozWNwaljgrJj/N2KsUsSK+RvKoMgJC1AhdWIPDOk0F4FuI4lvJStA32vbezUmPWbHNB/PuiiboGhR67JcgAuA/ACyn+CSEbFWYAEEIIIUfImzbNPlyAiwWYtvvy9PE8/b8kqO0a6nn9ABPB9lFbxDT2xA6UxWUp4g8giyiXor2lCLJOxR/AtSJv+B8aVtRZ4VjOWWgwAvHK03ft+Pj01OQrIdjWnFm6cnn5ui67ivuMNV2H2uvbgo9dEW17v5JtpeqEh2GndchE50L8EJ6H4K4Se6uz9q0pJZ9K6uiJzp14hfwC4ePSRv9/Zq7X++Mla40QQtYYdAAQQgghD4K3bJp9NoCPiaAC8oi6nQIAlAWeP9bvt/uG4cVwIuxMlFxH2G0UGYgOAFv93zoq/AfvdNDp2l6o2Ui7dhjY+eZekOpCeEl6vZ9K0W7xQrrt2wOzUxN/etquHacI5ElJRoFKZY/i26bpp2O/mLZe7F6UigDqz6XafaGQohHQJRENsz1kBaj7b++v3l61b8Ix6jPgp1mY59eI9bgiQ6FtpFkTXU4DUQ+Nz5QpTTkJ49RebAmcAH8z1+u9ePHDCCFk/TI2agMIIYSQtcx/PLD/qu8Y3/IAgGeEeeI+Gh5EXpSfFQrReCBRb0HnKKGYip8Yx/XLpzmltkSFef019VklJ0C0Oab+66vFY9trhH5K0pE0+d3EwYepWkmXvAuR+vYafjqFt2tM8NknHzv98RO3b3mlQB6a9B2+vWajqIto50SzN4/jH0oRwNT8cjq8F/1ZVoXx/vi2E0dLaYiaxiBQNR/MVI2S+M8cK+pCrv2crnQQrfERe3tntVPD1jew0zMk/F89Ga1RfllA/x1JvgMSz8/u7+FzFYDv/b2vfvW+I26BEELWAQ/el0oIIYQQvHnT7EcEeAGgRUq58F/cG8lFOcyxkkRL0ytEIWfb9fv8nG4p7C8V+9PnaeEYhJ7/Jwi2KKd9+r9uT9tnO2z9AtpREesUyI2AmxeR+SccveOu6U2Tvy3AyTqa7Z0t8Ja46NDQhe10pN5HtG0GgO9vMNctvmpBsy3f2pXyX6plIIX3xf0qcyObL1+wS9sRjjH3QzJb4ioMSP7tnv5wKAI9+B/MsxzvXW6Xpev6HdwH4Mlzvd7nD/0UQghZn7AIICGEELIECPBKEZzsHB4bNY1XL2ls1abrVz5C2+7QIs2nP3vFlopUH0Uti/6i2F+kH0n6ffs5XN6qTJcLsZgyrl0C7ScrsG1zPiW+2bSvEvmkc27+VRd/+l3TjzzphMG9977isjOefC+An3SAaPGfxKZbR8AALjhN/L50ZYI4nmEJQ5WWr8f6UMW/Lgiot1tnQmnOvH5t+tUYZB0k2qOg92XHIT5fg/ZGim6iPSBesxXkEp04lelpLHIY29YOFFu7Yqh94Tlv7lUyHiaTxR8u6pjD4Bcp/gkhpIEZAIQQQsgS8dbNRz/SOXcRgB1AXslcC9CSWNOiCsgdBQIdNZVM/HoRWxJd3e20x4kUj7dtdTXuz9bz7buW2itFwkWwIMCnHbAHwPwv3Xnz56SqwjGXPu6U7xXg/3XAnB4vO3g6+8KL2Sgoy1Fsm8Ju0/91lL4k1ktOkPBe0NYwSLfZaQXDsgCa7ImOZf86qgmW7SrYbMbNi/HS0obR1u7+6OvY61ah7fT589NYGmdEuq30h+phRv8/PNfrvfTQDyeEkPUNHQCEEELIEvKWTbPfK4L/oyQkvLpJlsZTAhMoi35/npL7uYiTVKRa4a7/Q18SrFpQeoHZJRoHyk7bmLcu3+2nLSjB2bwcBHCJc5gXwfzPf/36PeObprLxfODOO3H5077jwwBeku00pOn+0R4vOrU0LRUC1J9LEXplflGwl1ceSAWyLZLXdQ2bwREFe9vH0kVKx5u+VcoGnZxi+yVtf9JsDrVP2qwCpCtPlPwRpfHzhQBtxoReEaB0Xw6TvQBOn+v1vnH4pxJCyPqEDgBCCCFkiXnzptm3VIK3dv1nVgs7/yYIZLW9K66rxauuvm5dDqWzw3uTAeC3laLE1q4k9V9FjktOB8PlItjjgPmfveGKv5/asaP7SABfetwpr3TAOx3cbKX6XLyOCTuLNq7oVonvS3P0S4JdYwVtbDtGucOcdtWWrvrfJXC9fdZRs5jwPxyRnDihOvqSOnTSZQz1lIlhjg17Td2yjfaXjHkQToAFAGfO9XpfPPRTCCFk/UMHACGEELLEvGXTrAD4BxH5Plukres/vDqqmldkN0JdZRJkih3lCGx435VKbpoqiVDfdhDLamf6MQjHmwDMA5j/ics//8FtDzmuo/cpB266GVc869n/F8Azi/apvuqodpYdHyxpxOtAZQfo6LaNipdWAAhtKvFeSv0v1QAoOQKG3aMuUodHeem8vP/p+8T5ocdCTZeIx+c5DaViiXZ/l92pkyM/MNRrKKRGHEH1/9fM9XrvPeyzCCFknUMHACGEELIM/Prmo48aOPe5SuTRtihecTUALyoLKdlRbKZqX3QI10SUc7dBQyWNEPbvASTL/pVS27PPtvEoiPcJ5FMA9px78YXvmnnUI0pD081ggEtPOfWXAPymg9sKl1aGd3ChOF3JKaE/l0ZQj+WY2IKKaTuLif5SNFo7AEJRPKRLKtq58jBtAnHZRp3235zbRswLXgoprASQOyhMu+rA5nyX9bGxJ50K4NvIphMMIXdE+PuaOkqcP6ht09pyiM6Av5zr9V626FGEELIBoQOAEEIIWSbesmn25Erksw7YHiOfMbLul9jz0f8QIUZX6rOK9qoDhmUVuI732dr0hXPDsoHSpq374yREjRdE8GnXRPn3/OqdN39OxsY6x2MYC3uvxJXPf8HnnHNP8gYky/VhkaXuVKTYi0iRKPyBRsiWivINzXLQ43EY0X+71GCHuUm7eqlBe6y3057b2Htof86Vshs8VeI08TRX8eOf78nb77y2Os9/1mOUZKZ0OMEOkSvQzPu/59BPIYSQjQMdAOuM9x59wpME+CCav9sWACw4YL9/L/F92Aa7X+J7ByzAYUEE+wcOC5VgAZD9gFsAZOHcW/v3j6SjhBCyRnjr5tnnAfJRAOJT0RMxbqLBQD5jPa7FrpGOwoFxm44k+2tImwFgxWNJbAWh2b4ZAAMBLqnaefy/dMsNxcJ9h4M7cACX1k94Oxx+VUQmHJwS7+Woe0mw637rjsS+dE/D6Ir8A7koHxb59++b4wqZHh1/dSVRdSCzM+m3rgVQSlMw59rsCH8N7SgJ0fxgf+pqsNMBbJaDvo6dOtHlvABiZkHli0SacwvdWoz9AM6Y6/UuPeQzCCFkg0EHwDrkPbPHfy+AjwowaYsDBVSl52LKYCFs5LeHJNbmD7SD0jgZFgC3XyCJQ8EB+wVYkMapsN+51rkg8X0ljaOhgiw434ZgwTm3X0QW4LDfwS0kbQsWXvH1GwbLM4KEELK0/Prmo9/mgDeEiL8WTu0xXoRZ7HxyACFKGiLz7e90JSpqn7TbfPLC34trH3EtVf9XXA60lfr7e/9uscJ9h8MXv/XxZ4ngfACP7rw6lODUG30kXkXPteAH4rYKuUAPzUisuxDOQRqR787IyMWsv19+qoX+nE9TCF0x/U2dMMkJh5hz758B7WgqrMQQxH26eoJ3FHinSTRc1DbtBCg5AEoOKl8ksbL5/dI+j9qxcPhZAD821+u9b/HDCCFk40IHwDrlPbPHnyPARyAyaaMledpi+gep/SOnaucFwvzholMsSxGZeH77Xv1h0HW8tq9UITgU02raOoBCFoN/L8oB4VRGg9hjQ8aD7G/SWSU/RrXxsq9df9+wsSeEEMuvbz66AvBPAJ7rt3WlmWtsRDZbsk+JJS9U429oKVIumej31x3EOgA3uzal/6ev+MIHtx9i4b7D4eA99+DLZzz5TyB4jUAkFOdTjme77CHirqb//r3qaObsho1o6wh9PkZdAXXrE7cUl7FTlBwApWr52h7xBrnU/WNrOHRlRZTsFUl3audAOt7piA/7Y9GOWWwvJToUXPhvuv3jJMksKNi/CB+a6/V++NAPJ4SQjQkdAOuY848+4fudc38LYELUHwldZFEB81dF97n/P3vvHv7rVdUHftb3pB2h1aLmYjQnakUpEkAR8DLeL/Uyzmi9jaMdR2sdp51Op3W09fHptFWfTjt2Doh4JYRbtF5AoUq9FCIQ7wInQAghQEhISAIhQcjtnCTn/Pb88b5r78/67LXf7y+QQC575cn5fd/33Xvttda+rbX22nvbUOkYhVL2ToimPKkDwLTwweIHK2ge4ljx6cKJ57G4VzPnjvCgBkPcjdW5gDWiAd12ClsjF+K2iYJyYol2WNIbRUgAOFlKwHeyFJwwW/5+503XnhoSOmHChAc1/PijznyMAa8F8Fgkq6b5/m8y/pEbe6PV7y1H65KvjnwfOCjl1TuzS/7h6//42Z/4WZ/54TO7AW96whO/CcDPA/gUlkNm8G/9Hlj7NTKi8d5M2l0iQz8TINunr5DYrOlcNlr1B6i+VlBHQO5g8Lks8agjF4W/F5s/dfL719iOeH7stwEoH1tzcuZA6Q5MBOohh3zw4752vMJbsez7v3M72YQJEyZMmA6Ahzk85xM/5e/B7DcMOAPYs0qvKwLrP+M9fawWtGeGbH+g//Yy1OB3bB4eqHcPM421HEQFQ1fAKj+SiSk2YL272TRZLxfhkXnRFb0d2p3QTaEar6lkThN6d3p1Opwo/bkOq0PBThaUk2YtogGcZnUooEVEVEdE6ZwYLWriW2+4JtMvJ0yYcB/gJx595gUo+HMAfwMQwy81XhWaSaurpBUXjdNZp92Z3Q3gT0opl5jZK//lB278iw/14L77AqduvRVv+dIvf3EBvp1oOZQTdjMCgBNRYncqHCC/OaArR+aoxPmbAh+Op4f/ZSHyC989Xp6zPEIj0tfesSOgvqdoDoY6p6KXoxrxjJvnd+ej4izuOOnxZBEtjYa4nSU4+Cm/O2R4IYLnf+HxLiz7/t+MCRMmTJiwF6YD4BEAF5553reWUn4NwBlZJECm2DSjNiocceWgVOWqO9QqwaWKD5K07V3cQ+ng4Y4c+srgK/8jY50VLsetqz5bip7qmNn2bbWaGAAAIABJREFUhoyPSIsoh/7W6P7vZMVotAoSlEJ3MHh4LzbCLTHGyd8J/z1mi3MBZd06UbA4GuSMBkvOfzgoiyNhjWZoaS2PnPDf33T91XPLxYSHFfz4o878djP8Br/j6CiHzEE6Cl/XvdsWcRwYcBzAK83skh9+33Wv+HAP7ruv8KYnPPEfHADHDPh4f2dEYD2TgA1O9A6O4IyGfqQCaSVbV66BZrCOxj81Ytm522Qbc+oNAOq83jL+g0z0eWRd14L7aIBIV9ceKiqj7J1zIGlrTj/PVdlWFiZt5OwApF2L8yZdsMjL+f6jx48/ry99woQJEyZkMB0AjxB4zid+yrfB7FctiQRQoxb0Xj3u7MXXVZXRKo4byroCsu88AFWgPHERo33LoRFw6lKEJHAFkR0ao5WjrRDO8Z5elxK665ScLHUojPagKm4/EEzl5c6AWkBVtrtXzalB5ZjIx8+CcEVclXQv0/nL5Mb8aZXEeqz3ThcAd5thiWhYDokMUQp+Q0WhbRmgGy/M7GQppTsrwvxsB7PmuCjlBJaoiZPf+K53zFsuJjwg8OOPOvP/NeBfqEPOwY1Wf1+kl7jxnBlYax++yoBLCvDKH3r3237rYx7zmAeWoQHc8+53461f9/WXlIKv4j3+dWyQCYBXz4F+rAxjihqeMsZlhn9Z/03nF+y3tZuMk4MZkaxuE04eywEyonsxxDnaHbororK+y+a6oaEtchkWija2F3q55dhgGDmylCeVV5AVhFbJJ/Cio8eP/y/jzxMmTJgwQWE6AB5BcOGZ530HgP9kwBE1JBXc+GdFIRiKVZnpTX42+Cs+Mfy8DE/PzxrmyKvbgcA180hJqz9GzFrEuXWAU4d3wFOeJ5rYuqqS4Ws0xT3BI+dGppB2ZyegF4fqfx3tveYczk1gJX3knMhwjq6N4nzNAGocV+WbFEPdN83OhY2qz4lBJ1ffchGiG8ARC2YnDkpZHBCFnQ6IN1cA7ZaLQxxc+bXXvn3ecvEwhp941JlHAPweDF9TXyZj5vpUP3q/NrTw6/XDjavBf8k/fdsbX/BAHNx3X6CcPsCbnvTkHwHw4wAenaUJ/b+gOSuztNgeq2qiJA+fZB8N2xiBVWnfMz45HS0Czr+NDwL0iDbFr2Sn8yKNU8052xOn88PIeA48VDRxxFQHFOSr7t+vX/bNyYhyyxzWlZJCrPfTGQ5KuWpn9pSjx4/f1Zc4YcKECRNGMB0AjzB4zpnn/U8GXAygbvgMRtXAinM1oBqYhVcldBLPG1amREHSsmK1PEdDk1ez03BDwtc5AYi/erNBUtZhgJXG8e0GjJfztugJp7nPuy2vrJrS1ac1cYgE2OBHy2u0WLg+bMtZEt0dUXnUNhYPPMtX1NTw4ZPLR9dM7XfK9I4QlQ+Xk+Xvo0DWMyzIkNG2ze+qfKwPp10z3Gt+Xaa1iAUEh0G8GhPkgIC1CAnQ+Q6MowAnd4iRE1/1zredHEtuwv0JP/noMz/hoOB1Bnw6LLb3sbvOn+yDMLwawCU/+Po//pkzH/dZHymy98KJq67CVd/yba834POYA48uqtfjkeGfjb+jPmj6gzq/HlgHHRP7LKkzdxQFoOOa42VHQOXXtg8A1ANx9zo4wHPgutUL6FpNxmOjiSRCmQxqaOfO/Ww859+HjeyLc3WbK7PovgxPKeXEa2689QO333vqRgDHDPbif/T+G+YhuRMmTJhwCJgOgEcgPPfM876rAC8COQGARIkIHvfeSPZQb5/MNVR+tC/QyxlFA1QFgBSnbCuAgiEqC0PFaNDqs8P/OqONlLd9oY+NhmjEpoouonG8taeyu8+ajOIWJoooVNEKt0Jb9R2jyJTxLoQTcesEat6ep3j6eeSLT582xkXKapXbgK+ROZVFmez4r4ht4WkxYPxv4783JDjKw1ONHE1F8HG+uignfI3Cj1t+MZyCgcR50jvjy87sbt4y4QdJJodKZlsu0q0YO8PJg9K2XezcuVFv0bCTX/aOtz7itlz8xKPPfDKAP7VulbwdGLrWzt1rulfCcMmPffCmP/9IHNx3X+Dg7rvxpqc89T+Ugh82W7abeZ/hpqxGKtC3dT9/xp0DvO1sTRDGJx7wuR9GU7ONBtxnD8ggH0E2H/Ac0xy6sX+Pot9yJy7q2OPOkiqW6vTcdooczolA81Xh9zq3S71J+tF8n82/TOPyu48k4/nMx2HN5/CW99/+xnfcdueT/bsB15vZswBc+L/desNte0QwYcKECY9omA6ARyhceOZ5f78AL9wZdtle9mxf6TLJxlBvVlAzRUEVhlEoZWKjRkN3NWozAzwqYflKSCs/GkkLzu1TqCtuUuS8/K1wx8iTeYlVUVTZMGh5mWHbfvcrKpVXwT+wCbvfVfns9eZW5iEVUW4TfGJ0Bn0Ug3LbXCr106AOMj5rtlX4hX5bonBmiuxhlGvOHZ0B+pz3F1eiga3+M2i3JBPFmfU3VdLr6iy9KwD0sEy9Q37UnnrZJ3St/dCA03QAZLsaM7ntAv7O4u0WJdtesVytWR0TEZ+d3BlOfNHbrvyobbn4iUed+V1m+BV/XuV3gOXgvksAvPJHb7n+FWc86mM+WiTuhcs++4lfvjNcWIDPHAwby19qLPUgv9pmKawc8VaWrm0NOqePTfzcRt8FS1u5bifNj9tlbrA7CWrAbu2PBzb6OeHM+qcxQglV0MN9R0Y3v2vjst8g4N98fArOp/Bry8mgc3yWXuVzwHNJcALl+f/q5D2v+6Ob3v9UGMupbkW4bQc8twDP+sFbb7huQOaECRMmPKJhny474WEMF5553vcAeL6JEyDoGEBoJazuqzMgpom4RmlcEcjCJ/l7OCUYfcPtFYx+pZYzViVRrRxJo8qY86SholsGaONDZbZgHp36P9p7Kqw0fhBX//0WgH29PDMEM4W3KosrHx7Cq/v/WWkb8RbxtpXOJutYMS43bZtVgU/K3mK73ZLQVtcM+eraSBkfObts7TS+PaYp+v1hkiwj72uHGZTVUcJ8hfoXXrTsrO4B1GiIEFUi8tl3GCeXmTkeFnpj+2hRIC21//K+XAb5W11y2aNW3frjgrMAsHuxRiN4ZMKODpssdH0mekdEiHoowIndepBkKeXEGjXRnSNRgJNfcNVbTgLATzz6zGOl4Bt3hlcCuOSHb3j7b360Du67L3D69jtw+Rd84YUA/iEAG4WB+wp/rQH6WJ2Yhe9/z6Nmuja89pmSNEDP0caF/BYFjb7y96OoLsafbb3ydqmH5mURAKP+HtJkYVOcbmM7QOqEp/EK9bnNiToWD2k85BzY0STzvs5fW7hOHRxc8/vX3Xz0oOAMH1eZFhrTTsHsJQYc+4Fb3v26McYJEyZMeOTBYXTNCQ9juPDM874XwEVY9a6RMi3qBj0drgkx7nBgm2Ctk7euXgdlUZWJiC9T0oKylWhfo73sTKODRgI4f56HT3ZWPFt7UrciAvp6cKMo3/e/ZfxnymdV0qHKY38XtSvsjY72XcP+A62iZDPwFoCsJrzedMWwtlFqG1v8Zs9tPzIZCqtGm8kkGO0dT/093f1KeTMKdtqgWXC1v+T7i115ZxzdtWNM/4aMtOj6LA6ArTyG5nQraEa7toexA6031BzHAT0zJZZVjjXDjdjuEnldeD/SCBWX2c4WvthociNRt094eTup++7u9pinFOBuA972ea/98ycd+diPHUj6wQdveMIT/x6AnwPwyUA0mLu2tP51mWWRJhyCzg7Yml/GAB0PQkGF5Z1fWdv1KXrXOypzR4BHdI0OteOD/9SO9+v0OBJA5TWa0zIiTdJnYgnvpC9qmf42ex8cO0lZnNbnxJAvmbt42k/LLOWuV99w6wdvu/fUuXo4rtd1i15rY64Blxbg2M7sd77/fdcPZtkJEyZMeOTAli444RECF5553j8A8FyQOhEUAGN12d/HUE2gN4ZYsQgKACk8qtR019kZGbOeCN3PAJkSVHlipRHYNGwY11Z5zi/nafzGvez+rNfkZbJzYMXJ8fOhUyEEVa2+hOhU7utv3ueuinBdOZNVYC4jiwZIjYENYXqecP0X1VuHz1TmEZcXyI4Mo3f+my36/KyDuAqdK8teHNW3rJRvQTUIiPgsZxYB0J0BkHUWZxGt3pWXYZnWWvFh9ujyu0FTJNyNg7LmyLZKDPMPEmhb933krd9w+ZSHHRQ1r/QLoc0N/32HR45ksb7/3ae/5fJvwK6LXXpQwb233II3f+lX/NbO8C1Le1jeZ47PEbDRVg8ErN8GV/TtQ5gUznWuH7k+1AGU9e9saO3Pcynde44AyJygOmeNeOXxrCHvtwAYYlvNccS5sI03FtLxcYoZZBFQ6dw7yB9xWZv/rXfUXH7rbW945213fc5obmJnhDgAfP5/2w72TDO88Ptuvv7EIUiaMGHChIclHE4rnfCwhwvPPO8HAPwSyCb26bMpNO1fnpaXyTWu0GUrvIexgRR7CA1cP6hizvkUV6qEGBlQgmQroiE3ivLyonQatWrYqrGTRXpmeB3PaO9pd2sC5fOC3RBMQ6vXf2q9yZqJnnJ/sCbQmw1G10E6f/mhiYy5Vx3r6qusXBVKzjlszdSukyREyVK0Gnguo2BI1qxr6xelvn1zWsdOAHVK6XsWzI7quW7FQDwYrYqN8SAqwp5E+XLFeWvleuGvKei8f1flrkZNdYrJ9gh/xzcptHIXLFk75bK8oFXRX9+3/tD6Cxtizbjp9oiv8jlI2pRDtord0caRJRnd9G1tV//P0996xY9toPyowmWffcEPmNl/LAWPAfoxEMjH5tC/qVG442T53d8zz+8Z3wj6lft+pXl0i4k6X9VRnZXNY7FuWVB8SuM+3EvauF3J39X8Mm7FOYLGMKJFo29CHwVfk+i0RWcfz/Pq/MnnQZJV5aeXfS2V+pzT+P6T97z20ptufZrn25mWsch7Rwi5hF2VucEMt5SCXzDDz37fzdffjAkTJkx4hMG+uXTCIwiee+Z5/2sBfnFnsDoJrxCVqrj6r8ZetiLgsB0iGo1XfxeUqYooKgwjw0MKIMUiHhSF0hR1PsF+W7FvhmgvI+U1qmdhpRe9zPgdl8X89sYVG7m9xbJP2cxwsrLuVwHu6O9CT4wEYbmxopnxNKIPQDTYBgxoe9qqM1MC1mele6lTinJAH9au0BTi1ZSkutSV8iCfhEhXemN79c+50yc1nEhe3FfU6Gf5ZIYb0AxdgAwScS5lMDZqcmNEnSRtZdiqweFGPug5MCBC1qiUUS+o2ahfH7FW7w4aBZIauwPnCbe1noJAx7c9/a1XvCT5/FGDu6+7Dld83Te8amf2FfpttL2r9ickzkA0g9DHk+wwOk1v+kKA77N34xzA8OrVbL7KwuKZp9H8lTlhwzkZYVzYdgh1fIGIBbWxxMnb09Y+chtXaA6BOGaN5sRsfPfn0TY4fe7OG1kHPE5z6uDg6t9713s/tcDOYJ6cVq2rKiu0/urtwtOv4rh7B/tlMzzje9573VsSkUyYMGHCwxK25psJj0C48Mzz/pEBP28yeVfFBa6Y9Watp/Xn7BR7NWh5vzwrL6M95qNDzTLdv1Oyg0G1Kmnd/uwIbqiHsqwZ785nz0tzJjD2uBpltYyRArovCsBlpVsmOnmR5sZ1tKkwyjc2/DLDp9Q8JYbvK27r20SmbIMkxwWMIkKU3mH5xEtBbqBlz1tGW2vvMYy95SidIertaJcJ23MlDI342zo3A9SOespi8Z0M3BGSGP1cnG51UNnpPeFxm4tt4mLaUifFRqMe8RzO3wDZVjp41DEjlrvV1jIHgKfViAnGQ7/veOLvvOxvPuozP3NQwkcOyunTeMMTn/yjAP6NmT2qGWux36ZzAJoDReuPHZY8JjsO3a/PuIcDUCJQdewur+mMCRs7Y7PitF13Y3D43kcCHMZh2bGnXvTECbdv69Jw/Er7S9uqlnSFdezKoxy0TeT89VcA6m0M3udKKXf+4btvue32U6fOBejME0Tjnp0OO5KZ+4PckQjEsWV1NBcz+30Djn3Pe6+7JCF5woQJEx5WsE9XnvAIhOeedd7/DuBn2+rlqsjWSXv53e+ljWp1pkg5qL4G9OHNCw5SAEURHykXrgDUsljR5HfMVxLGrPizVUu91m5gO3RYl29RgdoyjB3D6MCowJvIb0BQatB0yZwmuBEXFei+bOZSvtl4n35M36hhaXXnG/h363FsbTlhY7OeAVBplPD3tf1l7dXrPY9uiLUOylfpQJSz0+24ND9DangQcSOlfAR9XfW3ALBBmxlEmwZxh9/bgpzNQLg1z7bB3RJoXfX05RFMKrMd1YHfDxjHqzGos4wPmcycL2qgrbRe/ZS//LPPOPJxH7dR0gMLJ668Em/91m+/DMDnArbZjrI2oVDHZmvjrmbQUH+9CnDU/0Km1Glj0h7aFYDA/j7C5StexlcjZWDd+LCFj9sZs2IjJBwJsEGf4uPxP4xdIZ86MuPzaOvEYaImljawfYsJT1uX33rbZe+87c7P5TLdaeN9lJ0HLsuKLzwvT+yM9DHI54Ud8AYAz4Dh1/7n91x3byLKCRMmTHjIwyGmvAmPRHjuWef9Hwb8TDS827559qazchAn2gWyVe0s/BGIE/fIMKglk6IwUnwyRUTx89V2o1XOaCT2Rh8bocwzEun0hklURLmcjIfUURK0OnSgCt6WrPwgQL0fmvGqA2WEd3EarL/X/LoC1tNACrUo7WLntnIJ4XBVkiquEH8jY92Q43Hj1eAKZl+3vsddjY4Mf2XN21Klj2mIB5ll7YDbgKGt0GkZo/JZBqPr/9ioZV6Y99xISvhMxgjGpGHIGZ0uJ05YH4WIWEPOY28YBcYsL3tzLMkicCQvMDT6gSifP3jaFZd/7Uf6UMCDk3fjjU/5vP8I2D8HyhmNyn788y9ZX876ERvJoGceL7M+DozbLSgvANlK0OauZqwr3m1nbFKUvMtXwsOKNsb4RuOxj1MrU432FSkb/0qfO1uC4e206IBd57B+vGKjX+ebkZyysUAXDTixh/5zdJcBuPXkPX9x6Y23fn6cS1t5Mbx/fZeMUz5uax3XMZyeia4bADx7B/ul737Puz6ACRMmTHgYQTqXTpgAABeddd7/CdhPs9HfK365gZMpUiOlDsgNBzY+qoEsCmeGZ6hYry8yRWa0oq20ZgpPpvzqezU+MCwtx53xG5VrOehqwzOypVzru5FxNFr9P0DBkbWuhsp6pZHJW37lNCSGIOnErtyN2pbSqOl0tb/7Tu+8fUU+fA+zltXvPR/XOiv8vbME2F41YwU67StqcKOv5+5d4gTw9/482j5jGMmax5BRz+H2bCvvvdNI7KIlpbRz/67OBTZKHGnXXsUgaHn68SXwvcd5yTC6WcB5WZ9/6mlXXvEvkuwPCFz22Rd8ZQGeA+CxAB90yEYfnwESocodPV+arsrU+nMAsi0B6TWjhDyOz72TMhyYybTIuD6ur/xAwdQZK/hHoO0pa18mRKqBO5rvOqeEf6eMveMiRqi1T3H8Gjn5s1trGobW74byWtv9vQcH7/gv73rvp6HgDKeLt5dVJ0Adj9qZHXoDgM8P7FBWByssHhTosDPcAeB5peCnv/s977oGEyZMmPAwgC1decIEXHTWef+8AM8AUJUFh7hPvykXuuKbKQqZccDgCsKCz6KiIkpadu94h9+SD2hKhUN/Qn9UaPmZDZB8Zac3a9XRkCnLjFvL1ugJVqZ4X3x9XhEb8jDkwM/gPRPB0RKor+MhgMqPtwluDws9rDQq3qjSqjFdlTqS/ZbDIa3DFYErjFkTydoTiB82YtVobdTHGzKYHo+2qEp5asiMeOrrINsOoEJQlNoGMznqHv0N9OH7CB+AYChHY7I/TX1UH9q3+zbcti0VNJmxrGuZNM44qFHIWwFUDoZmeIyuAszOSVAHgNNU28Dy/J1Pf+sVv9YhvB/h9O23442f/4UXAfj+Rks0tvporhY6Per/+i4bV5a66w/Ra1f4NWrKAIfODx0PGIxv/mz9lq4R6FkC+2ArkmBr3FryUoSJP/tHclwqrv14c1oyJ8cWDo2G8/mJf/djTpOf8+gJV17vuOTdt9x+x72nzvV6837DuPzcFS/f2xenB9r8os4D/+btp/ZD6aPr42mDvdSAY99507V/PhTKhAkTJjwEYP/MNeERDxeddfT/Asr/l6l4buCwmpBFCgC9sozkuWFODBxdbUwMJDWsusK1IESjVg2XrezKX2+cNy459LRJDPJvxKky8jJUpuwACNcrbeCpShLG90VHWvYrvCozID8IcpQX8JPXyaERjLSETuurVI2zjK5Fb6QVbl7pzsqRvCNDwuugnZ2xpDbEmxMyXK7Lclh65gjonEViOHWNVYzjjLeMp8OGs/Nf5SfvM/2ZHIxfcRj6feDEVnOe8MuEL+8rjMsjJrj9sYNS+4e/Az8P+OnOmtiIlohyWBKU+PuuC/7zSx/96Md9VlfO/QHHP/uCbzfg2QfAJ2k9LjSSQSRtMnNKjqBvu7E9BJklhn+HXxqZulxR+nNLosOmzVXOWwb7FKXR+JgZyFxOxlc3nnl0hBDZjW8DB28YE3U8ThwnmYtYxyMhpXPsq7zYsTDqMxxp8sZbPnj8mtvvekqVB9HGdDe6ll/uIOwOIyWCdisOI3ydc4pxhvGkyuJPzXDMgJd9x43X8tENEyZMmPCQgH3z2oQJAICLzjrvRwD8VFOgfEUiGk2jlctMSeyMRcR9zumKpsW8qnBsGTlMZ1AoEloOgwuISk+Wt+fNJE1znqgzAejlOLBziB7bTpDlGbxz+vkgyEXx4rMg4gFKoyIz5TdzZvQUUDiqKHVBsd7DLsttyaO4IjG5Ats7FPhee+VNjf0t4NVeLpOV3Pou8JUY/5yQOsph5NPTtfbvwYp2byrkZABxbIgr632YcT0ZHNax0tO45sycTJ3zw2oZ/jIzDFmcmdHKvLWxL54FoLCvn2R1L++v+Zw/+5NPP+Mxj0lyf2hw78034/Iv/8qXAfhmLstl1drW+qaru9TXBENznHRG4/pP2+aSt76szenY3wnNv1lfc11e9AZ7yy/P6G+s4WIdN6+e73OaJPXbykJrU9xpir5LeMtwMt6dZIhTBtPfuOjbOmjLRs+f0jVqJywnH+NvOXH3n//RTe//Ah43dN7ksYPL3hFDOu7sCA/LXs808Xal58+0sbjN1wZcDeCnzez5337DNXf2Up8wYcKEByccXkOd8IiHi84670cL8O91P2Wb4LdPB96nAHWKNll2VV+h55oOmWKHulLAuMPBdhUXKSCJwqj4WQli6EMeEyMA/cF22aoKr6iMrkrM/u5YWIlgM15ySundKiNdxTzIFN2EJ+WvhW32O9p7dZ9TRoUa0q4O4/NQ5bm1q+VdJjq9913bdM9vw8J4ev4aHwVyQJe2+/i6Kuq6/z/u0244vB0FJxPaN19lZPoWmta+MTBsR32Xv3fylNW/dtaA89Xjz3DW7yTDzJbsX1E4cK23gYPJDseX8wE0w1XPT9BtFIyH21jAH8ZIA1Au+bw3X/5VduTDPBSwFBx/whN/EMBPAfhbXp7Toq2X68352Irq6dtR4gQAtUGSl8oqG+vSMn1uQTwgU/f9q9N1NC9x2UxziyLhdP3WKC5PV6S3eLOVmXpNaSIvZVrHGQfeXqTzcNYvGEvb4tTXp47zmeHPsk/PLtF514B7Tp9+++9dd/Onl4Izar+wmId9O45btwd4mzJiSVf0jfGpFNaxyD9pFIDzXvuv2V8Z8IsFePa333DNTR2zEyZMmPAgg3368oQJAS4667wfA/DvlqfeYHLIjFeFTKlRoyOsaCMqav483oOPVNvSE+w52ehU+AxUaVRlzvEvz/sPVBqtpDA+potXayovA22ZDZoRTktktdAW5RVP2M7VyE2Dd5COFff4ltoZZeoNJHq/QU/9zUaahCcYchkx/pFDwB0AI8dSEfyqvDNOr1KFbHtM46UnupYhONXA6MoZWXgr6PkbjLPHtVASDJtozdDvhiU71LOmliyxTYwNj9CeHG/Srvybod8qQ8q/8BS5X8bB5kDJ6jtrS56oVmlrW8946pVX/FDH2CHh7muvxRXf8I2vAfBlSkfWJsNWpoEhq87PbkxnfMyjNJat7UXwfJBykonE676NJ1mk1/7r7EL5Wi6Vw/SrI87lMxrbhfT6PrbzdSzh8UrqwvHwtpU43glSau98pglHAMSIgGSsT3jaiuxSfHz7wsFBueOV737f7bffe+pcdZjUAwDNaltjmsx0yx+v0jdmOWKgbjWD9fSuz0fMqg7j40bmRKGtF/ccMfvVgnLsW999zeWdwCZMmDDhQQLb2t2ECQk876yj/6qg/CRPrbzC0ykzMrmmii8pA2zQAHHS3mvwQxWnFbcuP7mys2qUmbHGq/VAXAXIHBCNH1Wa2B3Q8kTFK3/HfDGwjLsTtL0kUbB7BbjH3clQZJVdmTgyaPTgP4VW5xlvC5bYPuirRdpHRueI7/ptY2Vu9C4zchZcTKdyBOKqrWzVQ8cGROdGg/SVDcVc3+0DlSlfqbVvG8Do9o12rSS3h7V+N3nb41Rg2WglhcfWznhcWfA3A8KN7GpUEm0Z+lj3uZxG1yZa8je0KWlgzeipY9Pff9qVV/yyimQLyunTOH7Bk3/MDP+6AB9jiA4hrivmydtBdoaFyiKrf24blmVaM44cs4DIhV9IfVXUa+JuC0NN1h/M6WPWiCd/N3Isde1J6NkXKp8+rxkWHnOkehWg0Wc3XqucQPJKynaZsNxUThlPwLbhvwUuzzfdctvxq2+78ymA7OGnOcjxspPP01j9loXut7y6jYO3MTD9PvfvTPuprfl6Ghp9BgCv2BmOffP17/yDQ4piwoQJEz5icNgxesKEABeddd6/Mdi/3TwULlFyVFGJSiIpgKx5G2qYMyzPq0ZUp7BTwnTVhhT1TIllvE1eZqY4AAAgAElEQVRx0JPsRw4NzxvvQM70ueUQvN5gzQzpXmmsxkGVlcpcxQFEw80hrGqSArZleC4GRAmK00gJVljkl1EbXQFsmOmBbaPBbCQD/wY32kDtbpBXy4pGbaRaVx6zPEBPd21D1r+LuBHrgPsJ00ztcp9jSWHfvvZMPulvkVNdbVxD/xtf0fDK+jk0DcsptKN4lgCg21bcYPd2MObNV1WHt4wMIHMw6VkApri1TVFBbsYUlBNP+K2XPOrRj3/8RukNXvf4C54K4KKd4clZe93fvpqs9Hftl8w3cvl0spI+o/m1LYSsyRgQUfN4yM/9TTX6fosXpWXfKjnTa8hpznJ1Tjd2BFSiF2TZGKLjOrdxb/OjqzhZVu4EyJwY2eq/8wr05/oofh+zbjl5z59deuOtX+gkmll3iC8b8Wpsez+q/VUa5BHub/TJDwTkvljW9KF48+/WvQPRW+p7W+kASsGbd4ZnAPiVb7r+nfdgwoQJEx4EcBgdcMKEFJ531tEfB/Cv+Z0qNGwkM5jkUUWPjf0sQa6I9YqaQ9h3TB/bye9NgcvuuB51FFaCNMi0OTW2FdkRTn7O8gRlRxCrw6TikvyZYcVGiCF+0AMA5XN4Hq0MZUZopCVfuWPkqkgz3tEWirTN8QobuD30MlH5cVkHGw6MDEegswj+KuvWhgA2XtW4aVQNz+FwtIlsnF83GmJeiZ6h98zXqH1akoZ/t/3kHF0QjanU+EN8OXIsxTy09x/c5tigjW2THQAjR4fylm1hWtrrOBqA8XZtTcaWlseu+5w/+aPzz/iEjx/yfHDyJC773KceM8M/A3DE8zsSPXtAge9Y95QuK93a1Y/hEXfgjcaTBX+LLlrSNo65zgJI32ciuM35CJLOGUbb1Gj8qDQKb96GtI40Ksdlp+O45+E5cTy3NMdkoXejATVrO4Zk64rFsaD+xWqwV6ecrfn7Gzh6WmO5NfIgS7tWnI8rp0q56neuec9nADij8ghqQ0b5pDxvF3U1nvpX3ycbH+ys12iDsDUBTUZ8W4ga/0wvOwE4PYD3GOxnd4Zf+O+vu/r9uXQmTJgw4SMDe1SmCRO24aKzjv4kgH8lE90eBWABVQxVmVrwiTJdWGHvD1fqCioDA4IMm2qEIIb8C5pOiRrxtu006A2A6iQhvIfZ5sCrK8Nw8ORRDf9cPv2HWi+kuDO/+sz8VH5F8Y1FNANNb4OAK6qUcWRQH8bJ4vkqXeh5YoUuywNIu600NGWzBClr7Uc56JYJDs/msnTFcXgFYGLIOJ4d8sMllc/Rafb6rWs/6Osh6+8cBeBKdtYuQ7viui592RlBzQBscRmRZzo/wYRuMpa3+rZGS2TniagMdItD2naJz3i6fQGAV3/em9/05XbkSEfP6z/7gq824DkHBX+bDdxqfCa8RhqMxqPlrTp0Wz30B/ctclByo2zUaM4cW9r+h0Af+cq59twlS/td/VbckNsun2nmZ7XVuYytccUN1radi8anbGKQ/th47h07zfGCkJZ5iTdw8Ja4fg7ciuhiPjf6y+3/9fqb77j93tPn+njr7SjcVmCtz3JfbGNIKy8cCNi179amLXkHyu9zUUvfGfStT4oc+jMMWrvYGe4C8AIDnvmN1139jkQ0EyZMmPCAw4d5lPCERzp8//uu/78N+Pf+XEpTdPQvAxtYI6OVtwGwN76F/HF4/bLScUDPjitTPlg5P1hVRUM8CZ33pysO59MV88qrpG+sW8enBdrIFEmUqtzAaqtD4Zq8KrZSlcj2t5WWGVmBP5AyC1+NigLVquV6dTwHkshpOCitHKcXAJ3aTQptETptkRGH8m6tqNW25m3HDHWvqNkaRVG6AXHL4APW/aHWK6Fadlb/nCDsPe7qPr7Qe+wbrbXSwqp9lDEbFJG3UVtveFbDQIxaNWYgz/x739WImVFUUHBA37pxpQ0kC0+DIkpCVxiDSEghrbV3GR6HAxnodAU3lhf5DXViVIYbbPD3XuPV3Pzy11/wpJ/hck/fdhte//gLXlAKXnlQ8LcX2tp339O8Ww0prr8on2X8aG2pUB240el9L25pqKTrXOB5rRn5mfHP0Mk66WC131FipQfwbT4RFTs0fExy3rpxX2mB10l+qCvzHpwLKR5ij6JFhsY/IU4ddYyP+OE5yR+sjk+tLtxVxm2X+ePtbwq6b17Bjebj7/vg226/9/S5TGc1/tEj4PGLeaxtOXVYNn6zsZXHQR6faqRQQYhACbcIiPHfZOyO+UCJ0/7oAvzjA+Cql5//GS99+ac+9os7oidMmDDhAYZtbWzChEPC8846+h8A/Et/vi8r2fyOV088f9AkCF81DAeKWtq4qWBegcroCgqJ6F9bfDXFS00j3lEbld6BXhdwjhQpXXWseMXAc3lB8Kbhr8yHElB6RSvyLfWHXm5BiRNZZtEMVv8BrYY2vjicfmRjRp56+hWY5UQEQbHOsZS6qp3ilOZREHnQiIZFMe5ls3UOh5Plxhjj8zJHXmA9EwNAF3WT8QWgaw8NJ9c3r5JrxEQ8zRwZDuaNiRBiTCjiFU2O+gn9rTTcyk/E632oPyuh7/15P+5Wyde/2lZKpd0PTwyYvvepV775Ba97/AX/owE/A+Ac5qkSSsS4gcLGVNa+IoLGNTu9lEeWj2EUhp5HAoza8qhNcT1pqtEhgD5+eOTV6DT4rfobjcmhv2+MR4dZJQ+8DpbcR3TV95qNhNjiYtq426IlYn9hMpx+Jku3hIyivbydve/k3X/6mhtv/SKgX9EH4rzEBrj3BQ3/B9qYxWm5N8Yw/kawRis2R3FsNZ6M03dRiBZlGdNbcCB4WaWUv9yZHTPDb379te84jQkTJkx4gGFDa5ww4b7B888++lOl4Ef8uVNgS1QWGLKwZj95Wk+aZ2MGVMaWElXLEeVptPqk4X68yuFGc6M9KqauKtST+dFfR6Uy0S0TysfAtoEb+h650B8clQslGC/CBCtiNSKClJot4zPRMWO59GJk+PsWAABjuTnJGwo288fyU1pHJ7czDkPkhdtAU+S1DceytHyWPTs1gmKNtPpCe80U9OCskrI57FydHF052l+kP2agOEerhO4E4LJLyN324aqBU/NnBvOwvbfbANrb5CYLMf6zOthZjBZi3kdnADCuTO7epsL2Bpfdmmnj3I2TAC41w99lWYT8Ul4mIz6MUPews9EPwr11zWsw+qTvV6eJGExdH+X2rAML1VX7ZCsv8fA/Sp7zL/1ZeWEc/K6br9CvNGudsnwy/DxejLbh2Er0aFyrPHl7qG2oRYRkfGYh/zoGB/yUNx1faVx0nKcOylt/+5r3PLYYzvA21NpJFmrfwv9ZNhqNtOSh/OCxOR6wa0DonzwfBPqZNljqLABa3+0ipBIe4PP92ijIiXCtGZ4F2HO//tq334EJEyZMeIBgS4+bMOE+w/POOnoMwA+NFIMsTFqV+3DgE2mRnbK9YfyZPOhqU8MZEeje096wj4oiECf4xejX9QKE1YD6LMo08+Xv1FkyUj6X9JYTLHLRJBFfK8dIPqqoe6JstXOfgp3Tos6FVYKUiM9+6CJFxixv8j+qzNgec+icMVXBX0pxpdMG6RsNqEo6nwfRFMV4a8XyadBuXVll4xG57IF4X3gGW/vaFReRvM2zxYPXnL/2W8eHQZ8c9MOOB7DhP24ddS+4STlSbkdHpaf1lVG/OGz71PHTv8QojhxT7DN5eZl/kPnw7QwmNaGr/hlPhrYVy587+a0v+BDWLbfSpqJCc0Osk1aqhufXPqY0Of17eGxF6z75Vp46cdiQBPp3/jecCzFq5INwNK0HHluU175cPn8jjqib8ieco4gQjiw5KAe3/cH1N99556mDGvofx9FowPu8w2UcsTj3cHm6HcUkv8MueRfS0jc9zPfIKkCOiBrxwPpA40fGSLPFOdH6xAcMeA6An/m6a99+g8p6woQJEz5cOMy4PmHCfYLnnXX0mQD+GdAmbD1sjCc/NYyXfBa0FlYufGVdlcqaFolhoy29uKJAocelTdwj487BjfJ4kFo01FT5GSlS7FjYt1LErBj6K5ZqCVU37KMBsjrIeGWDoNIqBmBWBy0f11m/AghAnCVNeeZ97goBP3p+RtAbIVFx82/p4VmI9eRvea99f6VWVKAzQzb0A4vtydP17apVoh6WWXEnAsnkw+9yYz3Sq5ESuh1AZZnhY5mxc0MjKeKu5HF71YK0FjiixJ8zY1RxeTvIDNyMF6ct2yKhRYy2UqjTxuuyN/qXJ5WTGxi8RSLQEHBF6IxPtJVtr/eDjTofQTa+ZANQ5tRSw6trEKXVQy4jT2rhzRbNalfz9bSMa/N6O8GnTl0e252u0SGT4V0yP2XtczQvpsir7FtJDXc+Do+cGaMi+N3x933gde+87cRTGY9/58N9df7hcR/o+5kRjuU7G9T5gcFhz//Agec0shx02wFAjuJVnkwd81PzU75C6aSMewH8ugHH/u41b38DJkyYMOF+gn1z94QJHxI8/+yjzwLwT/35sCH7HHauXn9Ifv+tSvpIQdfVf5Q2eUdccT8qKx6lNGMt4ysqO650xqvHMMivv7dCa+PzSmti6Hd4EzyqUDoU4nlHilmGQxXSlM6Ez1h+r6C1VX/CIQXc10Esa3NlJWx0mJae1q4OIcfDjasZ7rkrgx0thd5lMlUnQOSHViFFPvVR2oD2lX2GUdZPRu2G02gZWZto7aGl3FrdZrkn1dVBvFVirZs6NvTmIjsrUxrodyYHjpRgOWT5Ax8+NFG7GPPZR2NkeB0fE3vY/hL2PhuqvPgd0MaqtGyiLdCy4vcr53QLwNb2CUbINLTxoDkEPAqnHcpmoQ2pQa4RaqM2rCv+tVz0kV2jLQUsTS4jykuIJcjaWIqDvyedN+/HbQxzPp0vd+j6OMhy03IV3nvX3X/8Rzfd+sX+1UP/feuJXsnHDgr/srOWfm8Iv+TlunXgxQTLaPB0lJOvHQS3GUOY6+O2Pot51wKcdp5rWx6Sq9mrDDgG4He/+p1vyyeDCRMmTDgkHFYXmDDhPsPzzz76bAD/RN9HJWV5qvs1fRlnTdhdOVbaSikrs6po94ZG3G+6oCrBCeDf9Z5w/b3ga0qPKsCsdMYDlaJSBcG30NAb/plCxUa/OkxcbkEhFV4ceA86G7ouJ13xZfllsomGkPBIZUeFsVemgVURGlhPGlWikOi5Paq18gpa6Lk6AUbtasznuI4zHC5zVuBdcXTD3T+0tp6vSKbEJpXDfQZoyrQnyQ60U5QjvlI5M0/UZ6LDhNIRLZmzwtvrUMLEI694o/IW8VXDNJH1aGVze2xYauSg5A4lIPYzdWiEMskpkG+TaVSl1S18pWHn649R5As7S5xGBe+PaX9hnpQWxDaWnTEx6uOhnpjvUGdRNopND3eNufoxZPmWH1Z4gIIj6qwkelj2HBGlbTzUKo1RsV6TOYR+N0dFe67ppP/U9kpOEo30qPgSeWVRa0yPy+ue0wdX/va17/lMAGe0OSUaxPXwPWGIjWcj7NyW/SaX5YaXKG93/Kic1PhnuTa6+kUAszZOMs3e59RZsIxrFtqsl5/RFGRocQuFGa4E8EwDLv6qd77tJCZMmDDhQ4ChDjVhwv0Bzz/76M8Z8I8L4oTskCl3prMkaWG6yuC/+fAqoFdylneyisrGv0+uVGR6Lzt9P2L9XtGDymPDNFIYA89SVvdd+I3fNjIkSjnjUJyhHHpQJd0ztNXVXEnyw6Z0hXC0LaQIP1HpzZVMNZ4zKXf7s7vQ/TFOJM8tL9PUQv0di4b8Z+0gGPvWl8khyN6WqkKZgQhC6z+VT8xCRl97HkHWdrLvjJedP77/PzP8gN4wNf6x0bDd8G/9r5W5JInRJTV7Yijcl4gc5jUjNRgc0La//BPGrkBPo13bi/QWeYptddhPaKzS/eyHgYyfrg+RMKrhhtg3FA9zV3kK41M/hnA7i9IjHIjy4fKy+aph6/tkaFcIBttmFIC+y9uETEB72hbz2o2L0kcQ6I8tYzTe8e9s7lLZHZTywd+77ua77jx1+tydS63OIZWcZW+9sMjGPztOljpjh0EcP9i/OFq9V3lr6L+Xb4TT07tBz3LyuT/mb+mzfuQ8R8eo8CntafluNwP4eQA/95VXX3VLj3nChAkTxjA632rChPsL/kkBfjFTgJqiYvU5rDbXl2s6W1bVChDvBUdryFUZEOMfRkozXKmlFFQcK4AKZlEJYBT5Sf6NN+Xd/zfir37PLA3Jryvnfh+1am2siLMyrgo68+iJWB7tu8H/U8WzoBn9Lg93pPj/XkYzzgj3WnBdKWN+hLVeXVUTiJ5LQT05e21DI6tGeeLzJNiIceVZ87a6a3XPxjwri0C7e9zT1BO6a5lj4z/dFsAdo0R+IL/1nfa/ZTVtNQ383fpbJ49Rk439pBlljWdbjcCStAXC4e8ovzLgyjKMxdDC/42sElsTGdaVRWMcvSE4MtZcRgC6v55O26M7NfywvIBbK6xomngzB2POWnTtmysRZUWWjzF6poiUnOQblcljwiidHnBZpPwDbi9aJs0pPS9tC4AbtoEvo7qwZnw57my+2oK4wtwir7qVcvob8zPP+ftsouB+zL938h2IYz63hVpXpZAcC/3b9wWFNh7GND7avf59H3zHnfeePpfHI6ePn5nGiot+ewQAz9/avmI9N/PdaWy89B1gtM1KaeRxSMst6/zifWXZLmFBhp6+RgBI+1PeYT7OcB2WswH8WwDXveozHveLr3ns4x6XEj9hwoQJCdyHKW7ChA8Nnn/2UQPwSwB+YLSqYogH2ulBYyMjxhWGYIywVqG/gTCbc/ij06HlZLBvFVq/cQhfd3WeKonW/mZ0sIIUVqKGmnL3s8PDdIxDOnujJsNdlUrbh6ukVTOqAV7RUeX/MMp6R6PFEM59p7dXRwbh6iIjmNaBvDqF0X8zP/D6z1dkl3x79spnZQh43yGxhi0AGY98UJfyp+VlbWFxDOke9ujkQH2KOBhx4EkK7tsj1ys5N0DGI7WrkuBRPhtd8UpAl6HKjMkcgZfN4eH9mDDufY2GeFNGlnoZ95pBFdtXE4oa5Vk0yA7NcM22tDBv3tZrO5atElnf60qUvgJD2G7Fde4SAWx8zSLaeMtRXYelScf1rbFPcWjfqw7Knl3A2ljFK97BkNc8/JC072zMHY0VXX8Q+WnegmXf/6U33vrFbT7rw/G9H/F8z870ehik9MmdWTp+MT2eVyMHeA7hsYUPCd2t7bSN9w2nI9OxSedJx4GEZ69Dxs8RD61eo8x47KH8BcDLzXDsy95x1WswYcKECRuwTx+ZMOF+geeffdQMuBDA92+lYwPEJ+nsjuWyJnaFoHB+bCiNpSmwbFhpKDvfQw9ERcefG1rGt7xpyjSnGMNIkWJljpV0VgyooCAvVSIVp74PfBX0BKzgMjko+fkCGa8Zf6j0s/G3YOGzIMIBhwOyWMke0bCU7dcIIhpu1tfR0g6iwsaOAMWbqdIZLcPbAES5jW1cDLSsIjuFPpeL8wXE8FsAtZ/57wVH74RTvoJTJPme9Z8tB9OCUxxlwmvNn1o8rW1Fd0Jej25ccFlVJsSjGloqAz1JfHRtogm++p7lVLt2O7+kGS19q/LtDF07Xl/wwW08fsSxSimNV/+V0sriVM5/Jht2ACC0gSafzDma3gIwgOY4WW98GPQbbSrscEmdFlRGrKvBORwA1FHHNNZ6HzgFct54PqTzAMgD2hzZUe7d9pmWpWvvka8Wxq5OT9B7xeu43di+9/TBW156zU2fVWBntP376NoP41YDnuV4xGI/i7Q33PnvFT9IhwBFS1ibjUzSM5/KQ+y/wtfaBiveitOfLeTn+ZTnBHVYsKxUfmua1xvsmBle/CVvf+spTJgwYYLAvnl1woT7DVYnwEUF+L7DNLxg3K6z9UhRc3Clh5AkCnRU1lTJ3DJ0gJHx0iu9rFR5WVWp7oyd3gDI8OdXmkWD2ctiZ4kBIWQ6442VFDUkVLHRff/sLxgqzcIbK97KX+YYiKssjZ+h4oy+fWT7/1NDDnl9NkOZDI7iYcq6NrvkGl75lrxIae6ete1Qe7LV+JS6Zx5G7RqSDmjGx8gBEOuul9Nh+o7LEUCQJfcTxpeIMpaBEd9L2/K9u9zGzegKxkTRHpWhPI6iJQCkbaCjeaP8aG4wZ/y7GW/NUIx06vjSt4vll/+2tU1h/a0HxGVjXkc3dbsaYWIyNtb+bJW+gxLH51CGDtgEbWvBQCaI4xHoHaPP2jkXy1txRqv/OmcxjNpQiMBRwoDNRmr0l43OzDnECdtZDMu/7AxgvIsBHsnIxi2U8oH/8q6bT9x16vS5PE7zbQJMq/Mexl5rbRBhvljHBzWAzWhsjn2e68GdANpPePU9isi67X1ZFEG2+s+lZDi4PXIbCnJxGTCvGDhCyDFhwPUwPAvAhV/y9rfehgkTJkxYYY+aM2HC/QvPP/vobge7qKB87ygNr0JqSPZIGQsKuSjRLaS6P908VVwQO0ZmnGflZPqo7tWuxiyXlSj9GV2pci3KIr/jsENHJn6CUBbfe85OlO4APQK94jAzBkZODTf8+gOomornRkCQm1TOlrEW2wUZ6NIORrQzDm0D3L4ANTpaXgXFFeq/tDqKNPQrju0QO3EoJXWuMuFzDZS27D5sf9aIjwynArcDl2YMu+6NNY1MAGI98LeuTdT3re9xjbhB6/1j64T7fRNkJweztJ9w2tToQ+R1HGXSjM3RmFhxU4FZm8rA07Q20Ld5LkfHv9zxEonTG1n0YFZ/f1jlpNInBBj968h5HNnq0wE/olx1W06NIrPDXf8H9O260sNzFLPDY1dCHxBln5XjENqWNTnxLTij7Wpd2QN5AcBfvPevXnft7SeeGuYBoLvuz/PUw+/AddMi9BxxXcEvsk2AnJXchriePb/2jdaG+4gBfec4d0qvjfNXuVir7z7iYHnK07dG7fj5BoFGU6uByvNSwG072HNheNZ/+7Yrr8OECRMe8XDYOXbChPsNVifA8wvK9/D7EBLKBqxorj7h8cn/bMAaJayr/1KOg65EOf7MyZCtfCzp+32ySPDpFzUgt1b/NO/Cb376NEyMt6pUR0U2KOhK45pAjf8sLHvk0NDn3viPXGWGmiP3VUflYUtOnaMjMc46mSTfMeDRc2dGUmZ+aJmWvOwW+hBvAWjJJWHWWI0+DRxVI/4an7mU0zaDXp6VB2oDpURDB4ihryNDRilxpTujrdHQ+iY7TQCEFVHGZYJL+dSywrP0l8O2Vy8jXsNJsgI7yVweJrmp3Up76g2+WGY2Lngf1Laje+RH4yXT0lZ817a8JmTnbMiTcFXrqHOM0KvQ7sl4BI2PkjRrQ1l/yWBk/CsOflZ5Ae0MBXV8GSMM5RJeerfl5FHnjc4LeQ20hFmdZM4hALjpzpN/dOlNt34JYOAoLweXVz3UT3jcEVHhOlhPv2LLbgQI7cTiNj4gPtdSQ3tuvLpBzfy23y3TLnvHaZUGcaS2dmjiUOjzenpfKAmOAPrtNNQIq+XlKQAv2QHHvvBtV74OEyZMeMTCPp1kwoQHBF5w9tFdAV5kwHf7O14N6lZTgKD48WpCVJbQKZeqcW0ZsgqZMquQhbI7PxGvn2UwWuHracmUrpbeKERWVvzhvMaQXcXL+JXfWiYp1KB0+xTPzBGQ5++NNOYxKKpiaWRlZwYkqlOpEdIp4tXJkQ+M/K5zVq2Cygw/oCn4/n5HCdRAVj6qoYK+3W4CNQfuK4xXT/Lv+cqdJvybcaZpgpGwtsOKsxkXpb5vGLauqVFFf3+/ibUSthhR4n3S3W4HMcpo6xBTIMpGr4NsNGa3IyiHXKYYNmI8cRlZXbY26nWVj02dLORbBqk/qUTDKaRP8vMYwP0uVic7ZaMBd1CEbimEJeu8H8YJN+qbneGNNmd4OZvjzcCjkI3B2Xyo80y4eYFk6O2MD1Mc8ZqR5CnuOX1wxcuuuelxBXYGv3cHUPvN3+LY6SS1LSj9oXhATK/Gtxu+0QFFMmCcFnnsDyCM2148iiCOz8s/6nCotDkNNC40+Yp8Kv9N/iwHxcFyZHl7Xsbpf3Zml5ZSjpnZ73zBVW/Z13UnTJjwMIN9us6ECQ8YvODso0cM9qKC8l1ZiPP6Y5lkyZjlyVCNSn4YrToB615zWdUeGRB+/3CmNBr6FbGmLObKmq6GMozuGueyeG8jT/wji3ykmOvJ3QObIhhtfsiWrq51tCY8Zor2thOBVDJKEPgpPd6RQs2oNK0b/m5wcnSJyV913mQGLouSoda9lN87W/r23egfcBfqLM8/pmtRKIs8O09q5Cr9mUyRvNMV0VoWdHVW+rkwEJx7G6LIA+WjcaTKto4B2jb5d3XCiaMkXKMoclCy3YmhZTScykvOOPOkN1aw4ax8MU/Dfqh9rORjlePw/hMO0STm2OgaHZTIdAWa8iqtY1I1DpE7XrbGJOaPDcYUD5WXnQGQ/WZ8zbmwwAGozp01dVyOBoVRxAn1F3YwkV+10tNvK4mRDQzqEHL8B6X81e++670n7jx18MlKw86lZm0u8c+6JY/nI44AYIN+eUaTDfHDbc7HkVoWokHPfbnR0+TBPGfO9hi1E/NkNwA4v9nYqQZ8Nr9W58lK747eV6eHy3GtgOoobaJi/t8G4Jk7wwuf9ta3nOgKnDBhwsMSBtPfhAkfGXjB2UePAPhlAN8JLJOlG7ZBoQI6Y09DKpf8Y6MKNU1/+rTm9XKzsrIQ2A4/UaTKbOVpw+c+WnEbldcUvWiEbJ11oIZAMLZEkNlK8L7tAKqvZtEAcftCNHTCamaicAL9YU1Ky/BZFO26SrsSzCG5Y576mm0rvuOV+iBfx4n4TI8ploA7YZYpA8mK2y7jHZXVnfkghobWOeTdSHbcFjT8XyMVXF7VkCKag3Mu46v2W0sPrgzpRW7cP/Q2CJZPdp+43sLBiv4Bvc1WzrAAACAASURBVAty8ZdiuDsfGX/pk8pK8m21Kw0rrmUTrVvQ1bmUlzlI9uFzmnmc2urcDWdshWk/SsaorH8AcVyPPJITOSlkn7NB+07XUcQBO5o2srbL6DRKTfu/zoP+O5urMsfiQUH5y/f+1euuuf2up7W224fT+9jObaQLp5f5wbOyzC08LwUyWbwfvm41cHxSxzqmxYMb48GClS4ZguuZABbr3Ah/kx9FOozeW09fRrO/46iAbEzzAxY3yrvFgF8A8HNPe+tb3osJEyY8rGHPdD5hwgMPLzz7/CMA/lNB+Q4gKomZIq0K7JbCybClbI6UY1bEE50sxeHGhr7r0tOrfUp2VBKbIhpWn2w10EQ5yXDUctGHWQfHSaJYx3Bbq/LZCq1VhUjrNNKjIahRCYxE5gqtvo8GBOHrSolG6JZSzXxlinmvYEe6NA28ba2/tc7ZMRZWHqszozdERrzxt4zercPsPK0hv06wYLmuC8idXG649zXgvEUZ5fuiUYUaHIHru76GNyJ9RJEPdAYMeTureckZkN0G4KA49bcTou220dfesLwg+TkSgAvaWX9gI5fRHC+xp0ae2lioe7zTvsjjZqF0Mo5st8l+jFnaUmxHKhM9qI9xMF0eXeX8KV9d1BXY0duP8Yx7JBtu49mVozWt5fLRtOk4VVqfK/S75V6lVGJ9uOzYGZTJzuV0050nL730plu/1IkMIe7G+Vor1jGH+V/6QBzT/PsRi3Wc5QXy/f4+P3r53IaM+HLHITCOFmA+HI/jYDku8kDMQ3XKjgXOn9HL8lp49OdYIlexOzH8fdNrooNmfX+3mf0ygGc89cor3oIJEyY8LGGky0yY8BGFF5x99AwAv2pm3xaMGTJuANTVUr3fGOgbc1Uwq/HZK2yG8X32jjMqTGMHQFshiMqBG7NNqUKY5LPrx1jZ29dJ09V5fyYkmeKpymJYrSpk1JAy5gx0Cm9HVy8rDR22IKFmeGQGEYeCO2uHGcC6VccBcd2d2U4zcjmNnUFNWRwZ/kC/UrRpXIqx4e8W+mK4PNOp9BvGNwB4Wg5nd5qzkPZMVpnM9HfHN7c54ivwyumobFfs86icaDS1Kz/7vujtiyMKFN++9jZa3d4KceffnVFOfRDgmCLFwBCp7Nrt+jszOFFl01PK4eAaSZKV1b2XPtPT1spZvtl+mYex3esvcxjLLSIZKu8rG3xxf4vfo0OW8Y2uTMSAt5RnJWglckve7BAIPNCYMGpbjHnLscMyu+f0weUvu+amxwM4g+cG70dtbPe89F3eaQRA6wfMYzxcsK5kU5+p5wlRnVT+bIMeaqsGdPXH+fl9hmfXGAnpw3kC5hwJPhO8RFMXUSB0N57zelCHhtNRiBIDihl+34BjT7nyikswYcKEhxVs6TMTJnxE4QVnHz2jAL++g31Lp9xxwmqADhSc9bsas54wNTAwVnbUgM2M9Azf8jd3LKgRtA8yxTCsOIpyygoD8xMVPXRyciObDaxIRy475q1TNkv/7IpMbxy2vei8auHfdUWNQQ3dEd+hrJp5fDsA56vPHW95DuaRV6BJLwSwGFSOl8sqgsM4Y8ZUgltXgNmJ5nvYtV1tyeCAZNUdOiZ5YjvnAxMjxPY7CNeG9AEpkBXcZujGyAm/E9zT+5ki2XiT9TmXm/KZya/mGURSaBvt6r2OVY0KPtiO1XUdh7hvmxRkyA3dlCbLoxoy2SiOZU87GeayPWk0Fo/wHTaBS2Spq3gOQDbGbxn/o/Id9wjUYaI0MN6uj5sf7urtYNvpprQWxDaV9ZmsbD7osDk1NHSdeGyD5/tffu17T9556vQne5owzq2F+BkAuhIO4TEz9A/KElXk47bm795ZGy/9U+DPHQaUSeebhj++5wMAg1wK4a1yXj6MQvi5nBqiT7hrO7M41vIVhExDlTsXRHJgnnnRg3WaunBgjN/esDM8owC/9rlvefO9mDBhwkMe9s++EyZ8BOEFZx/9a2b2Gyj45u4gMNuvdG59qEaGKJ96DkCKJlESM6WMi2WlqltxJOBJWL9xWKorZQFvWNIZIJf3rIhkimk9AG4gI+VR5ZDWz8ZIw3hYCUaB8NvkNHLWZHRkh9i5wZ85CNSRMGpzzJcbOQergeuy0muauvIsdwRV3sRo2zowzzMyfjf4Gfbxt7VPO5OzXsWpwHuyY4RCcwiErSwrT25gjfbfg8YFZqJzhg2o16iiTFbOZ1p+x18gbWjoMV6grXhyyP7inGjGjPLV90SlqRUQHBrUnjIMavKNjOPQxgjSyCxq4/UE+nRcys9kYTrSDgsEXjOnaxsLKOJL+l3m3B2N1YE/9H2Swcdvj5oYtYeGrxHL45Va352jiejOrhX0sTNLj4LgEG0i3nYCACh/9p73v+7a20/Uff86lvAzH1BnlaaIsIsAkDJHq/8MvgruaXQO3Zny1Nqc5zcvX5DvuEMRvVwe8wq448JpWAowIKHb2sGGNV+jzfkdHaIY3tNcsOVEaPS6hJyYOO6tcr4BwLMB/NLnvOXNH8CECRMespDPWBMmfBThhWef/9dgeAkK/gd/N1o9BjaUtKAEG30fXNeU4NSV3oK2EsH0LHlaCG2ddKlMVaQUMm88OwAanW0lMzgBgLBdItM0R3KrCkqiYA/3hmJ8vZnC6MTwyDuv3UXlpKAZNVvKLOPW8vigvwWfdTRwmRlPwQnBBlbxNuZGJ+/T7/NkEG6H8DzIQ//DSdQlfOyMlyTJ3nrb2vuvzposDfOay6zVLMtI6e4OzOM0g8rbbletfMfF9ZjxNegWKWTRE0k37MrwVU7FbSmjC3aXG5fHe/49miezH7P+oYZ/WRGNnHdZNE5WZ1xeMOQxbmeRjjiec/1XPtb+5+OSHiTbG7axXvdtaxi1dYfMoQA0p8592TLReO+3dmX9Tw3/bIhxeXGEFzt6l8/RYHVZBge8jL833nni1a++4dYvd3pdlo7P5RHLbO+M+OyvxRuH/3O7s7WQ+my9wzi2RevfdQ6BRj+Py25Id1fwrZnTKwBpULKWtNt2qFEQjb+Yf+xEiU7NwG8ts5VFZDd5g14w/cqT4Q6DPQ/ATz/pisuvwYQJEx5ysG8OmjDhowIvOPvoX9+Z/SaAb9xSnBl0QlflZslfwrO/i8Z6rzhnq0W5UatXQyllPOHH/f/+jpX1THF3/jx0e2uvsQpsnxLr8uC8aoQ2g8rzRWNP91HnPGQHaIlRQwpHNZxJmeS/GfD7ZjRYdQBk5z4oTsW9zwHQcLnpmeDL6lbqXPlkOelKub/nDFv1PPrGRsFW6DdvAWC+MuPY20Pjtz9fgLl0hfZgfdfCoKMwstB2llHELEpxSbLJN5UhG1ecdJf0w0wGqrCX5NnbRm3vUlFNQv1HdS752BTGKcqmbYD7eO+mXIyd0yUexlZC/p6fjD6XUyYz5TVrTwEfWiJ+bvfcjyWmY68a7SMevUifL7JrAFN+RO7enkbOEs7I1wAqL5mMguyYj65t6xwVpRTqNBnv7jk4eNNvXX3jZ8PsDKbB5c/73/m7IdlXvz5nq/9MQ31vLZ/Wq/cfX02PDger/Lf+1urSaebVcB7DtEyvR91rz5AeIEhjoKZjPJlBn22BULo0fda+wjYILqs+x9awE5xrmz9twEvNcOyCN1/+55gwYcJDBsYz1oQJH2V40Tnn/3UAv1UK/jsAqfI6asBNacgNGc7vaduqOsJEmp1u3yuHrBK01EVwujLBjoWtvxmdqqxrCLgKQZVFTWbZS+IpMwwy5ViVbFXcPF1+FZ2E/45kwMaxfI+0RzrqO1HeEraH/DGoYuzOBN7jbuivVNuH2w2Zptj1EQD+fqFDDnsUXMqnoeebs8br38hBkziZsrrOICi+KFU5X59WvNFwY+Wzu44x6X9MCIuDKV36Mt0Tb3LN5FoAr6JmshvyaW0lk50kSPLyM/91Op2PSENLVcKzrNxlREqlZ84MoDk0/PfIOO54T4pN862J2BkwwrMlayZcm38dZwe5vc/yWLwVoRTbQO+Ay35zOSoL7Yct/ZKhyLtlrIuIRuMv06186BTBTqY4H/SOUXWUlFJufdk177n75OmDT1a+mO5sPMOKL44L7bmNA0t675+0Hz2eI8CGLxGTHv4nNHGb1GgHjSJoPMbIuy7igdI7P1G+qPOQyqt9F5kR/5nz1cuBvFuyRhlmjsrgbAgImlyUh0DH8vNPDXbMgJc94c1vOsCECRMe1DCcXydMeDDAC88+/78B8FIAX38YY28rga76A/GQKE/alOF+1UN/13RdcVZLYcWiI61TrHrFubuOqq4K9dfBrcwFHkcrkxktqpUWgJSfXNFt3PYGwHg1LebIogFAikdVVgdKa6CXeSUHUI1wEC/LYQdBXsnOeGx1F1e5lT6AlNmNwrNPQwOEZJPVRXMe5fSoMt6dmXCIvP67xzlu+5msOuMjKysjpmsX1I7WRwoK6spqNLWcI+Mw8tfamD+PIONxlLrKzVSukS91IFScMo6wsRPLZoPL/y1dW3A8QByTMl5643Ztu2sFZFFFIb3kZ+dI5VX6XRHeVFqVbhnHR4a60mGI1wD6O40C4LGcaQ58YH8bWMberBKR9susDWT9xsLXrdFCnEtoxf/JTe9/7btuv+vp2djgxjOX18YfC33MhMc6Rq2vGA8bwNqPHE+tU9DKu7SJbguAtfdANOit8dzoEfobn+T0KOIYEBr6qIBWfuawiGmbo5HfhbYkck+jBkL+1i7UAcnvU3oJH5Y+cLUZftqA5z/+8jfdiQkTJjwoIZt3Jkx4UMHqBPjPZvjakarikCo9/FCVxL7p6z3hWefIFMTM+G9GWqG328aROgN6JbEVfoD9K8v7vhliGbUsUqICsYgK76gM5s1BjeQop0hbO/ytxFXIRMEfGaFA5Guhh4SNpkjVb9iPu+VVnqrygxj+rwf2ycFcTCzhbrxw3tLeZQ1vYAh1bQ6xnrT+s73H+66yy4CVYaDJqF9FXrjUAxP9FPmDIk4AIrwgc8DZ+pnkJQZzpX/Qn5W3rF3sLBr+jccxOH5egW9yl73iUp81f4kHtrV21/djxhPuuReeWr9uVKr5l7Gmr5gXp5PrtWj9lyYzNqSz1fvRmFy7Q1H5N7lk25SyMaluC0Bf50byyM7lGDlxHW8mv9Gefc/XTQpZGv+t4/aaoPY/Tgd3fveDiH8D0cY4b7zzxKtedeOtX9GFvqONaZmh7BE3QIwAWJ4t5M/C0Zefzcj3s3jSCADBszNq42bxsNL1m4V8DZu358ZLIyhzSoDS65kAzmv73dotl49C9BP/ekVrT18z4CuNiXx4y4W3B53bmyMioQ9RZsw31eVf7WC/CODZf+fyN96ECRMmPKhgW1uZMOFBAi865/yPKcBvG/A1QPOwZycdp0ahKJkZZG+bst/rYWqsc+msMGbGVqMrdwD0uP13fihc5a1qobGMrOyKm4TWGRFEwGjVXyHu+U4SBLr73fJR8e7DaoW94SDmGHmfNgs83A6wEqxOlS2HDZ/67/wUACXB47gyRbUzSOj7luHBiihnMuS4RpDtYy8io+yEcK5/DSkXX0ujmYhhZ4ni5efu96gzcTmITrhhWSIzf8jQpu82nCQGOnEesaqU38x45P7Rnmtpod94W1DHXeUrGUuUJr+mLcittoeYg1cDuZr59PlQX6uRs7XqzzIJtGYNwWIe/1ConGw7l8s3OCVkrC30bjT2prTLWK6QRZN04wCxlzZvMsRG7SjQoE6PSnvfs/bFQpkBJ08dvPGl77zxCQU4o71fV75XdDxeAdHppCfae34gRkVx/23OgoVW70/ZNYkm5WRXDna3sqzl+fMRi/TrPMxOCJepG738nvtKNehTYzyXV6gPazLLzg6oEQHWt2d2TjH/7XurAx07XCosc+9f1QHAuBM+ANxjsF8FcOzvXP7GyzFhwoQHBWyP+BMmPIjgReec/6gC/PYO+GpXePyKMFaCqmIvGi5PXNnhTSOF3EGV9OqEKFGp4LMEGt58f/thQk9HDg010lwx0P3HnJcVp/CdlXRaMspW/FMlHdvOjVDOJn+N0nZqf2ZMbBu3rR1snwHBFbEz6/eby2/nyZW+LUMZ6J1NlglvLcCYHEqSGR5Ze+LzANRRVcveklWlcS2DeOv6l+TNcDEPvLd8v1Mo4mPE3A4ywy06QsQQNOeJWprSQrKy+CrwfZjVf5VVzm8smq+MA5oh0ULns5wJXqmIZuhw2T4y9W2sbz/tzAQ26JSabAxQ4z9zYtZyCU/HB5qDg/s/O27iON+PX9qXmUdtS/7XV8rr3ICcl7SvE36NLOhkJeUG1sVoHeXh97WPrC962fWtqaz/atTSIudy68uufc89d506fe5wPzrVgTrNeXwxoplXtfddAdiFzq+FshzjrTntvACPSgh5iZ4iedmYNYvbEVqa6ADwtGo4w/vNWinqKOTtCv4utF1DlRnnbfXgbcxCHUT6Wxvp6W2MGZiHKH+nAfQ9c1jwWMPjiQGvAHDss970xj/AhAkTPqqwrUVMmPAggxedc/6jALzcgK/cp4CqnbVvb64a7qyM61V8DD7xLmXyNoLxAVFd+aJ8VpoSBSrSnTgzDIkxSrhLP6kniDt6ef9ufYc8XJd5Uoh7Y/vQ482oiYGctoAP1wrh7YmjxMs73N32jYLRPvbM4aLOI+chOJ1swD9Q67g6Qlbjn68i4/wj3hzUmK2GTiIbk9+e9oC+7Ts7w4wxxW03SkMoUyqdt4aoQ6gZOO0tt9Wu7Ugf0zpweajRX7Nzu9qAID+RjRvqemp/30cY4gGgJWtPiAao9n82bM3QHVyZRSUxP/vGYW9foU8Ioq1tRVyIOzL8gQ2fA0Rnboa3M6wx5ol5qVeuynieOeIYJ0cSlAS//67jjIxPaiAXqoQ2nifndHAhUkGc2/tJTJ7KrPzRTbe89ro7Tj6dHaT56n1mDFodo5hODYfnNs+88AGAOh9qW9qR14j7gbksEcd0XhjgK37VAVD5knHBcUSanGeJQqB5p9EWowJM0/t74s/lH285aO3Qc7nMld4QBUD8sHx38pzxHPsQ0RpkFHEsSe3NBjwDwK889o1vuAcTJkz4iMO2tjJhwoMQXnTO+Y8uixPgK4CoqAFNma4gikWmbHK4YXYfd8UrKBVY9VBF0nHsC40Xkund2NhnoxA02WYrykwHv1P5bRkzo/MSVLHe4lVl6AZsW7WNKyhaiPPHCpkajtHwXr7oSe0170pseuic0s7yCwp5o8CVHb3SbuHVDfeotHOdeT1nBsiQHpZFYhizXLK/LKvRNYBI0mfv9t1tvxUxkfWvYLRyuxI+Y9e3ipdNUHUycZ8JZW7wF2lrbUt/q5wZLxv+AbeNyxp94TbJoebKg78b912j9Ie/ri/Dy2OKG+pbq+dbw2JXX+rIIObUUPe+yWH/FVWlLZ4BwPxldLlhM4py8nLYAaCyHo1XtiJiZ4B6FXKaojMult0cMTWypMq/8cT0+e8b7jjxh5fedOtXcjkL/j4cPfC1fqyh4yuDR5wVytPopfGTkI/C0QNN5m2wvefIi44+wmE1/SKXI0RvdQBIeWMcsUxQOs/XqtVi1JnwoHrHvm0EnD47i6EAC2+IZxg0/Iy74cwcPy1tbAc24KHKrJX3HjP8LAp+4TPe+Ib3Y8KECR8x2JpvJ0x40MKLzjn/0Qb8LoAvA3IFGnXyjqdPL0rS+P5mz8ormfXbIXsMK7e86qhKTbZCpHRokazchncJbZ1SibbaxEoo72fvw2ZLJzcITqApNEjejVbZnPZsRY0NQs/AKyruGBg5Zjr50eoLKF2mUPNvrTfmkR0J/Qqwq92cHkGpLF48yYp5bPSMZNTwBGLZSbK+HxmFoRwy/P15BKyEbuHVaAn/rUZ5/E5huf5GZGegKzpr81ejJirmjaYNBwy9G4WGR9487drfg1NDuc76c+z7MXR6+erfOUKJtzdkeCs/aigrD4G2/gyAbL+80qyt3g2LekYLC281erg9e9lb/Tc1xKWtG/qrN/s66/vZ1hg17CvgMmIEztBZtYEvK3Np99LwJT0kzzJOIzUqtxymdZwTvu45fXDZS66+6YkAzuC8ttLmz2z0psboKp8jnE4M5854Jdo9Zd13T/k5r/LA73n1vJWZG6+OZZ9B3Whs2x6OmLWDer3PJI7UjCY25pl/Tc/h/95ydLWdedC25XyH8wqoPE/fndtgra9G2mKdZ+2A65xxmuEug73ADM/8tMsuewcmTJjwgMPWXDRhwoMaLj7n/L8B4PcAfAmAXCtdn1nhyPZsquLJkOlfo5XtGuoIoy0FS+mZQ4HxjwxZfq48qNFZmqGeaa6s5Ok7n8hjSPVKd8llpqyPFOVs8So3RJuiUA+kW9+58dcVsuJV5TfwSAatEUH14D9EZSfIheordcSQ9teM/z2r2MqP4GND3kRO3ZqfEG2Q9iWKY3Zgpv9mvhn0TvusXTIe/c3OE45saIfjtVyW5FN2hzOWODwYYxcpA9RyVTHO9ixn/PB7PVSLI0tUJjvJW/MRHSAaYnkjyTQcjDQz+ls7yK60i46A1v7b/v/MSFY6s74U5Le+zJwZWw5GbSCh/yE6Dj3nh7JFacSD0ZiuwA6ArXFcy8jK6vtOdCjtO5TT+9s6fMc5q+Irkpd7THtTSrnlpdfcdO9dp06f6+80pJ3HS5Q+vByM3+KYAUSDlg9wdIJ23o/FWdCVT2WyIezfMmPUM+269H2ExRHqpDzv1PKEX44q5P7BEQ8sA6ZJtx94Gj6stZ0/EOsPwocehKgODzAOa3O0Y2wOkYjD8zV+mUeSo5TvvHj6eDglDnaG3wZw7NMuu+yPMWHChAcMNqbACRMe/PCic87/m7Y4Ab4YiCseCC96GCqa/q4qwPlqkToFGNuiaC8JOHyb8Tgufee4Rgqovwurdaz9VeTLsyqhrDBpuCjzF+kZKNHJO+dnsGjVhQKzk4QN6Mx4zJReoGe9OkcqPb6VoLTvGzyozLTOeqdNVMNZIRrJ2ZwcqexKM5qMWilJdAZbi1KG0qy8uTKX7W3PVrczJZyL1kOpIr7GhRJc+4bQxsSOnArI5IlmYHKx0QlANFFbdSN834ntrT7HURNdO0KCk5RuP/PDeYlt3h1NLLVYEI9/hjyknelimevqP+g5M2rZmZcNP5zeIwm6JkCcaLtUp4EbsIDXm0bFaE4HNnGpzK4PN54YonOD+kQoO2bS9p8ZQY67XpVI/PPYAXImMcEm6VR2QDz3IXun7UvwHFx64y2vu+6Ok09nufOY0d8AIOODp1/fxCgBp8cIt5yrQLJzw/mgtCiC7kT7MGjwDQIRR+37JY5pJvR6Pe6kPO5H/sOdCMwDj7kut1X0YaxUBwLTC8qrN8x05x84zWhOBNVP+lsUUKWdRZ5l+YMMrD2xDDMa/ZwLPgdB20iTCf4SwDEAv/mpl112GhMmTLhfIZuvJ0x4SMHF55z/sQX4fQO+yN9FRXh8UvNoCwDPq65Ejw4D5JVN/+wrWZaUYear3L3SyAoYgBBJoPSq8efPRjRlqrCG/0e+yeisDoRoiG6GHSegjgVVVv1Xe58cQmXNAOiMW6EjHPpX868y49VZ2Q6gCvWIF977rwbZUAYJniB/IoAVON3mUdsxa+6gtrDhBDCII0JoSuXo37rtDb3h4VANWXhbV2XR24K/zc7kGBs2rMCzsq17y1uZerZEDLOPToNWvsrM6Bsr5EEmiYy2+krASYlZMc/6SiuvOTWiUZMUhr6Oo3G7/Os4Qc8BB42D2m94fIk09vXWaBAZJuNxRnsoGNHho5ElCpmzMxsPx06NfjxmvEB/mKLSEsf53IDX8SvD1Y1Z1Lbd8NeDJZkHpcjb0rtvP3HJq2+65auMUjMZ9ao9xDK4HozKYsPQ+w/z4jiYrrjCvOzLxwhHbfsSlUCyUYdBNYZN20LEYURD5YXyeHpezba1EB6Hwvha6dPogShjl2XWljh8fyeZfUYNTpqMDqefxpud8ur5qXHWmx6I3+jw6A9+THkjGeU82rWl4FlmeO7R48fvwIQJE+4XGKgJEyY8tODic87/WAB/UIAvTBs1KQdAU9xY8cjC8wMKSpMZ6wCH1vI6GoJCdNhzBcbh8pxXNPGaORa8r6OzUh5PnPayI4bsgLOMn9FWCY8CiLlbqDFzvRiUcUVlhLfjayUoGLASmhDqR+lErOdudTDQ0VeA4mMDLW1uG/VVFVDnJ2p7XV5dHWc+RqLLzjLgVSc1kHoaFV9s773ThI2piKO1ivi7fhswEeurtafeCRfpzLpPhneUbmT8a/qFrtxIA7JV+4hB37PjwJ/Jfu/atzs02CGX8bPQZFJ//bgEbMiqpu/HkzrOJA6gitPl1CFuPLMjyY2XKKlm4Iy2co1C98O4hritaxQVxfhHfY4dJaYZiaial4j36CWtz0Q0qdxa/+ItF3G8Onn69PEXX33jkww4w3MEQ3CFLHSdHdH+NXNGmuKQuYbbNc9PZux0aIjZSR9w1PIiHTtqe0b8NRrz1W8fV93gZmcB9wtPu2MaaHz1MaC/xSD2+eA4SYxpnocbTY3qXcYD4WAnBCRtFsXQ6jk6fVBxcXrJv7Zjb8MaoQFYoFecHx8E8BwAP3P0+PF3Y8KECR8WjGewCRMeYnDxJ53/caXgvxrw+Z02JMrF6Jo8h8yo5TBdf9crvotS4ZNitmdUnQE+iY5C5vd1Ultn/NE1ZD2Ni9Lov00TFqKT3mUrNqoo9wbfmp2MjZhPpd4IWdI0pZfLdSM64zXUqXnYaAnKh5bGCrniY14y542uHKlyDoiyT3hY9o2Otj9boy82nQDEjMom1JHyKEY/7zMFUFeDWXHMDGTIt7FxHM2U1PgTGbHsMitHHqnsvi25klnRkLyq8o68LShPo9B/lucOMfIiw5mt0DL1cQtG7sbp2lbou+M6W7LFFT/GUVaLJzOaR9ejdr69SkdrUxpGrs4HbaoHrgAAIABJREFUxtMbynlb8zElbmWIbUzH3y2nRt6maB5B71jKcCm08Ov+jJLwXIXgxC8Ej1qBqTCYbovp+35ahf2+l7zzxlN3nz4413llHHyORd3PXsedtc1XOUSjW8cg38veaJMtANbGUm6DNZQc7Ts7VX3sVOOZx3ou0xq6VpbjLKiRB+FaPclfebRWNo/FPKY6+Gn8/jbu17fazjmvUXroe+LXHSSenp+bYQ36qlEaMSrA3wearY8IbHVmQV4VjxmVwX2m1TnQO5MI7gXw6wCOHT1+/A2YMGHChwQjfWDChIckXHzO+X+rAK8A8DRt3Kp8hm/r30xJdgV9ydtPsll+VhBZvWLlmvEyHSOls6WxVdFvyi0byp5vdDe9GYVoK9+JZqlGaDbhF1HSM8Nf5cWS0UO0wt9ASzTcXEHK5RTLrPST4bF19V81zDIDBE1hKSRBTqN50jYWGGpyU3DHQHwXt4BUBXgDTyar1i761X8AQyMtw5cZZF24Pbwv9uc96O9Rv1wUyf5jS9O2AfDKbf1K7dOfM+NP+0gsg3mJ+RhKKeup4A1f/b1myIy0vH2PWnvLz5EF7NhgmY54ySSg9udhV/9B/NVvJmdYUHvTdgPCERxmVCG2vlhkGs8BaONWNOY6nIkQsm0O0YkQt504FSorIOJRPrcgHvLaKjObI7KzJUZjeh1zJRJn/XLwmhtuee11d5z4/IWGyHtmUKvR6OkqRiDUMf8FaCuBtI24ch0P1fP3HV4xhkM6mYsWWcT8aiCzfLJQdu37Kh9N784bxhmfk/ZmzeniTtgjxtusrKe1jqvNqcfzntPEY7+XDyo71m1LFxwhTCvl4Xe+0p85ABb+mk7hNPiNC3v6y6uwnBPwu0ePH9ehd8KECRuwbw6aMOEhBxefc/5jALwChqf6zKErCyNQRTF8S7KqMsZvw8pJAupYGJUBUDSBGK8aBq5KtCrYIzqa0uKotuU1Ol1bFafRlgmd1J0fN3TZwDPEfeSOLzNC1GgL3gSs8iBGNR/jy4ykzjlR/45bVlVsvJwVuRrsagRz2dGh1N6Fvf+UeWcx1Lsp/tv8LW0yrjjrwVOcj/Ew7i3g/hWjcMaHqbHS7kRoG1g+a8vqw8LjSn10wmk0QKYoZwcmAtEYYFK7dBicxWCxrVvCtJuzUe5yEChlyQxZ5lNpbOZyjAjJ9uZm9Z7JTJ0bXNi+QyXDeyqUtyj1GNRdEleU1QkwcgboTQlqmI1uBGA8+xzGocpWQtxI6rYtJc7cbmyhd+4YCP2EnCbxDJSFz3fdfuKVl95461cH45lkF8fCJmMe3/kEf6dtFLoeZGGtLIR3jm75tbMkL+IY7HNrCMEnw7eR2MrT1XfL3rPxSvTGd2v+pGnsRGaQcqr8SIRejx0PhKPiXH84DbwHXx0Y3ThHTpIqgyB/kYP0FX7WdtN4jkJhY191B0OMOtsDVwJ4JoCLjx4/fnJ/8gkTJhyiX02Y8NCDi885/+NheCUKnuKzaLbfNChgyBXPkYKoyhi/zToWKyWKi8vPlGH9pge+LenIEKDMah8aIyukRBpdzyb7c7vDB2GdvNRxwvzpFgDlObsCDGhRAUEhEiMNkPrSMoQw338Yyx8bxFvPrgTuu1qSFfXwUWTCipNvJekUawyMGmkkXZtBrGt3uDDP7ABgJZuvtlPI+o229YXOJWW/ZaLPnRkCHSSdJfbJtTwgxRe2AZW+jK6uQ/5x+D/QcOuVgHoNYzP+ENpDPhokIw2PJ2g89E6EZgxp/8OqvLeDSdtZHCOHZDZujtqGvtC6GB3Emo173QtyCDRssdylHgb0+ThSPG1AGyA7iDUD8Tnu5avrP9W5i+oM4PxALwJDJ5IwJpvFWxhqX6Ty7z518PoXX33jkwGcoVfXAfFEfW3T3t+DI8r6ejDEd70TIQunX1IEJ4OMRd4XfPx0kel2Kkt40PrqowKozXL++hx5cBytHEoPDnVf+xraqr7n1QP4dFzmbRgqtzYnsVxj2SpbppNvBXH+md/eWG/pfIxR47/KZ33J7aCTu9B7SAeAw80Afh7Azx89fvx9h882YcIjD+5Dv5ow4aEFF3/S+Z9gsFeWUj7X34UQNmr+mVHqv5d8UUk8CArDSAGOE3ybyFuKbA+qp9PVu317w1Xx6hX9nDdlnFefRtsl7oujRJXhTE56jZfLLISPJ/wcBjIFyt/zSqway/pui88Y2j7AmREt1oA5LtvPY+YA4DwjuRcqlt/xyj/zonlBeVMjjfjl7RO5Mcm17n+bgwn0PhPIuGzrbtpI8ZXI19aWHCWBjSqVVbZqzmWbvMucJd4nGn/qwOyjjCoupn9tB+2ANP7enppTw4JRlIXp+7fDnG+g70AGQpRNCcYFy8tf9PUdx45KH42T6PJA+GtGR2+c52H+S7vO9//770wW47miH3fbwYk0yKyFZGe9ZDx6tnDGBHrDqpRy829cfcPpk6cPzo0Huq3jsYxrwLIXnJ95S5RBI09i6D7nCe2R2kZbEV9yVQNVjX960NPrmZeDEm8R4Hbo4xO3GcZd39c06PqEVbkWRBn2PEPyM79cln8f3SbRGdtUqRpJ0OhDcCDAmlHv+HRLXh2zSKaQZ+VVDfqai+pP5ZjpVNk4egg4CeBFAJ5x9Pjxqz4UBBMmPNzhQ+pZEyY8VOCXP+lTPwHAJQA+pw95zCdVNepCmmRCX/AtkK1kW0gTV265nK2Do3j1KRqqA811oGUOrwAMirDukceQn8MOICOFuPJAaw6NrmaM3JcyjRkiKEBYuXKlhA9E9HQ7zRd46B0JvJbG+xk72lzOa8auHgZ8ej3zuQ9U+OaqI+NWx83IeObvvOo0yp8aesQzv+G9x7p9Ymgc+bdRGy+uSOop+c1I1jYW6oCcTIaxfLjozGGiBhySvF5ura9g+NN2l6hnV9r7SJleTo6ryWb9KY6iPKjcKH0fDZCtljeZLD9COyFS45Yg7j9xTO7bZKOdeaqiI/pYNn3fVUdLNJCzutYIH5070rkkqZ6sn4wjQloUAMy6/N4XtT9qeY7bDdN0sAFOv/rdt7zu3Xee/PzwyVx2rXwuZyf91g+Uc3nHLhrvmNe74WvfXjGYPguDqRNAxhKeNxSH8xX58bG/vWWngG8fqgcIliibeKBeLNPr0WXYxopVNqG8yCxveai0J7KIY1qUd5OJGt8tRXWwUNpahuSPDo+Iy+XFfQuSv8mk1XdzQJAMDCKN+wwFwMuxHBj4mg8P1YQJDy/4MPvWhAkPfrj4nPM/EYY/NNiTgKawsfICpDZFmNiy/Zycp6029bdQd8oKekW0/sZIT/Pnpl1x2H89E8Bivi2jWRUHV2pGB3UpfbqlIVsZz64yjDQ1w4ZXLTgR05nt094HVZEOTiDU59FhZFwGt4e44p+bDlt0ZYZfVuaYH5FTgmOcN6bL9rVnK4ycF4jOJAWtb1d0G8m96ZLhyRwb7EBRuprzJfagcHsHYp1q5E1KB/HlCvxCS99uMmClN0vTtR7r38fc1vHRlUV9hBnbvsZuScin6LsDYHT4n8osG1dZXv4yc8BujRMqF+Yrw7TVA7MxXdtAa+cxCiCWZHV1mY2ejs4Bf42e3uBf6KNDANdverjrkEcqKJ+7lqd33X7XK159wy1f0xlzJNs+7NxW2cQ+UWmytnLvLHEfCMal+TxBq/ckBne0xSsHY/l9GZY+g9LW8ukb6wU6Jzvf/juE0wsNwfgfGO86Jpq1thZ4VXkhzkU1Wk7ScgRFVkfePrwkftZFCi9Lz7zIz3FoYzHXgfLDThunN8hJHRsfPrwey4GBLz56/Pip+wflhAkPXbif+tWECQ9uuPiTzj/TYH9YUJ7Ikw6H62UGXgasLKhiyFM9T4rZqpM++2TpoboRbzzpf9/K40iZjTSO3+n+f6eB0w2NJct56MsTQ4PrgRVo0ZpZid3ip+NZV40GvBT0ihPz1pRVV9Ad3/79ihmuzODz1c70kDElnPB1vLASn/CzGMDb+9kXPOObMyoe4Sukrcpca5G6+s84DxBXObuV5ao8sjHTr/63liZA+Q8DjI0PrGSFlvveSF7BQOS6J3ll7T9zwHG+rt1xYxYeWa697LPetUpYlPk+RXyueINi38ZdjQDofruskID14y8bLkyjjsO1PaGNt/49ExuXU9tAQlU2rjNtTJO+E9bAhn7L6Oey7B9jahptZ/5qTXDy3tOv/Y2rb/xcM5zBhqT3qyyMvPHXVrTbGNMSt/TLv/XAt4HhjDW/Gu5cG+ysC1EAFvemO06nacuoNkrLNRuMWfKuZhEA4WYCpyPw0Zh0ubD8DiCr3zI+efpAPyikn8aVOk9Lf2VHSvweeSCR9nU1xC9nRDjmjbbDERO5w8Hu0xh9H+B6AM8CcOHR48dvu9+xT5jwEIH7v2tNmPAghYs/6fyzALzKYE/IDgNU8InHjdlsFaXlb4rK8ovXWBqw8ie6XboSNaJNjZG2gmR1Ys7wNAW2N5Dd6GdCt1aCexnkPHW0l7h3sT+2qykbo9U0SA6VlfLfFEWrijTnZQVlS/6+auOp+hPye8M20GDNSFC+avkit97QCR8DDlUaWTYMI/lke31DmwXCdXYjI7B3nKx1vTpMXEluefv+ovQbvWAF2/mOCm3jjsO21TDN6M6uVAPiXnc+MFNBr00E4l55bU/hgDquT3dw1DrtWnOgz/F1Tp4NJTrWV1PCmQc+74RDevcZovUQRE4r/V7HYG2T+4xlpzfjqvEWV+fb2Nl4UjyKMrah0r3z/KMzABTnyGFiTJSMVbVNUoVmY5YhRmbpnONpDkp5729efePpu04dfLIXuyM5eZtjXtqBf/8/e+8WrNlxnYd96x8AEkiJlgiSIkENwQswwAxBDgiJNCkq4kWSL4kTVyVVrkoqSZUr5Qc/uCqpJA8ul5OKH1wp2yApyVIkR5Jl625ZliPZkiWK4p0ELzq8ADODG0kRN4IEQFzmzJyZOWf+zsPeq/tbX6/9z5AEMBf0QmHOv/fuXr167d7d61u9ujv2b7qngOqyD7eP8htd1NlzamvdzDXrisozyq9fS+YwyPK7DH5f+zF3AHDouoW0DSDHCAUj/XEp8d2kuiEdWODR5IDUWfWwkvyZ08N/8F4J/E5jhEQfscH6K2h7LrC9EttBczRpm/k21/5/K/Q0gF8E8FP7t7buf7YLGzToYqNn/QsbNOhiol97+XUvKygfNNihrPEvARqmuF6UN6FiWjZCN82O65q5TAY1RjuQTpnUQOTrUM/5RwUswjObsdOwajgfqUvBsvPESH8eauzEG1exwbMJeLAxzfeqcIlBHY2mHPyxXnjtZmwJLc8aDXBmsrou1iUaQbx8JDpI5uuNFdx4q2vTadsKQD3OagMRyDoPNnLDpo3hXfqO+Ai52RzMTpwI8snL8DbBa8Nj3eLMH7fvCnL4WsrLv71ozPJxiUzZ8ZtG7y4AW/r2PE3cpV111LiqfjYtwdF35n0XRFdLdeK6LzVBBYGu42yZSY2WIBCRUqIfTtxucf+kmovydV2m6MkQN1zl4wDTKIYF3U/1bGW7fFk/U2Y9pR9Q8i64PpEHPaRy2owrAODsBx589DMPbO+8VQGnp2190sSTI6IY8Ae9JbwYiOpGrKyPDFCGNARg2QHCfQ5/F16mgtGpG+2/Tb+jegDVK/LOeSzN4EP0xo7QsAeAd0Zzxi60H62u/O5bH2h5ubKMQscwzpNuAIj2DkB8q14M4RnLwY4j1aPyMrl+DmgPwO9i2ifgM89VoYMGXWh6zr6wQYMuFvq1l1/3AwZ8sAAHE3syJR2LlgxLHpT7zaIaaFYjmcvJjMPAA3ZOgZcMzKWN3LScGg0wV0yNnWhU5nVSEMKOjwxscQhnBXeSuNaL+avsQT46/kpm17J3r4a1gr18vfyUM3vv7FgIsoqOVK9cj6WzxqMQm5vEpjYV6xLXGJ/r21DHCRt1ujeEGuiNR9s4kX+HvFqJTqH6BlA35Axr3mceDJTUEeBsgTwaIILcCGi8bbAx6/m7tl0az6zhZU4mJn2n7AzhXJu+D5e1HRHnM8D5vh/5WvKeZ+BLQnCYclYfvdEtAcg6XrqfOY6W2jB/e1w3oPVZGQ91UumO6ZuWdy2R90/d6SuJMyZzwizWT2Wa5fjK0yf/5CMPP/5XvC3yG4nfgtXfCuI4fRYBoP2mhecS7aPvz/NTSSvRYb97fO84yGTN9nxpQJXavNE1fVMabp9FBzL45XL1NwN/UN6ok/j+DU1mE3nb87z8WoeQR3XeokBWlufX8ruy6J2ByxQnhvYDKsMFoI8C+GcA/mD/1pZ2aYMGXVZ0YT6xQYMuMP3qy1/1coN9CMCNwLKZnQ1CMQx0+pfXsrMzoOWZSEFSZjgvyaIydIxjkYtG4hIgcFugGrZ1zenypomVhxi+fH/i1Rs5yo+lcx0xoNlEXIfMucDGVzibPVlXy3pjg5adHBwCHsPL89MlKuBceCGsG3ZwhNlGN1zJ6Op0boFtNNgWdMRODqCBWDXSVUe+Tr/KLFXrv50oQRYh4YZixy97KYjvarrmiJw4q+0RJsEhIc4l/rv0DToIWto4Uffh8DxLZXj92mw5O0+s+w6jJNLTEJ8mV9NTpt+mhqi70CbnD1HBfyhb6gHRc9Vb8o1wfk+rvLn5RFm9Xi11ml/L2UCb6tjSLDOJ7zDnq31wva8eVEmXfjP6feiHTuxO7Z399G/d9/CtBlzBvNVppeH3tpDWLPYhU786A3bLZp6lzSL2ddx3tP7XAiBlGfS4Qc7PR9RxP6xlxXcR8yyC7Lkt82Z33A6rDN4vgPLW5xP3uAFe/Pa4/9KNGOt7kfxVG9bK644SFD34D14GEtb1U36OJrHAr7WF+n4kP49HS44j1tsFonsAvBfAv9q/tbVzIQUZNOjZogv6hQ0adCHp115+3SsM+BCAA36vM8yCEdwbc2qCZ2dZex4Plwf6D0/HOjX0PKtvRqSh/56+zRxFZloeOyLcYA9lMC8pI5M/ozir0yzRCCR5XXYJ94JOHLidZ9ksL++wnYG0Lj1Jw8ZwC+mdQ/XlehMgyGQDCChYXy7/1lnHTODQVko0jJVvlZtmHB2gMWVgVqm2m+S+nhLRnGdxNuosOWWUsnZX5Zkfxrahb3LKkYa0J2hq6VQABjndTC2i4yT7dlT+ek0VbAAld6q4Uc/puyic+Lmd87thA7+QQnLn5zIvKbbd9/dOngl2ovImrEEmb7/i0MgKd/7ZBqgshzrM+N65TjnIQv8zPurcXYoAqM+TKmVtiPP47yUe3kZ4KDAA61Ie+a17H1qfXpdrdRbYJJ9zXEl9ujDykvSBFoFfKcA+aof9BnxNtz7GVfBK/YL3F6oXBaRLQNLox9Jxf5D8Rh/QivLnToRYllmUlfcAyGbPPbrPIOUTz8XN88g+0Rn4bAPBbFlDS0POA+HZymp9uJelOgxlSv/eLUug9B5Ro/q5APQYgP8HwM/u39r6+gWVZNCgZ5gu7Kc1aNAFpl97+XXXAviQATfoMwX/QDQSeyOTzZR2Tw1JNtqziR6jnP0pA4aUYWbxLtxm8N+Ji5jYZ1TOBZT9vkm9lpwmQAzRZmLgWB0diTGb1TOtBhuQNOOPxMDO6ge5zg2SZmCpjKyH0I5EiW3WpX/vE79mIXWRACLkUsfOxpgCDF3isLQBJPNp4IieUT31XjMam5ZCXuKblrUgkiVX9YSPpcZBbfN8lmN0ZVrcCDD7TqrcsdiNfJsTIM7IL9EmHlrmkq7jb+u+3U3OQOW1oov43cRoBsxlnY+TKa3onMH7KN93Y5N8kxzEIumnlvSytBQnWwKQ9X2bqtGAZWyQ2be41P2HMvLyz37ggUc/88CJU2/l9ggsr+XuQ9UzMO5ttfFsTjSTvRV6Pjb/w6BVv5ngMBB9uMw8885OF505d0buqG9gfCo1OnsRHACZLrjd8NKvbAPDVh/U1EYPjNLHNhujANhB42n9m1cHCvNo75ulQagHTwDsM6t7voSNHyk/37NwRyIbFhwZ2RKKmn7hG7oAdBrArwF4z/6traMXWphBg54J6vrFQYOeT/TfP/LVhw14lxnuA6LhvC4RyJjFWfxmE6hxZtW8ZTOUjbUivLPweQWBZb5XSmls6a+v2VfjrjMO/Z7I0MCjzYb5dL0uBUVqpEZovSavfWYAF0rjBiIs1tXQR0tUUOn/C0+pQhXCgf56/t8FMhcy4bGO7HtnQGkl1fqKDH36Vsgq0Q1HI2ROn35ZwbJV5O2L5VcZHViUUkIoez0mioxAo/SLbYnKcqBfgawbu9Zq5zr0yIOQX8rI5A8PqNy5VhU410iNWY5CaYH5G0d7F/pZhbatxYtukk84gDQgb1shr8V2AWpr8Rddc54KOlp+572i/MyxgTflXmo/pRt08nfPuerGoKHfbN94AG6lAYsU/Ms7CYWXBmgKSgD/MbsDaMqu/bo+74vKNDPXp/8WHcjwzHlG/C7WXi63JYla4jwKkPVviJqYK/Glp0786f3bO2/VIyzV4dgAXb9My/tRB//8jPVY6Dq0laTP5X7P+/5Wl+hYmAVr94x1ElsK7yUSnoiMnpfHZoCd9PHrMC4UsS21MbS71a5NvhqL9XBh+TPi4/v4XiiHXpb2Zzpb3/j3A9g0Jkx54oavpXZH+s6Dk5/G86B3b88sq/fPaP335IA0SXfB6bsA/E8A7nzg1lv/8IFbb/3xCy3QoEHfKV08n9egQReQfv3l1/1gAT68Mrx2TQaAOgB8XVxqsIIH2bbGmWf7nY9fZ7N0eh2NoRJ+h70ASCg13NRw9OR8nSb0smgGsOO1oCe+1nr1cRHtt3FdHLxJXWJYeQ8SNOy/0LRcARlEHMKNaNQy32zzRk9xPqH/JheVt7QJeN3MDdiFsH80PXN7ct5attZnWfvO23qdL+S1Lm/Tlf5u8so7xzJ17cF5JfUE+DuJXONsOh0Nl/DQ+rlOdEZWlwIkTXcj1fYrima5cq6Ru8mtyjP7dqSuzp9BftbX+V8+FlDbQv1eIHrt5It7i6zpN1PhvJWZ64j33yi1zgpctY/Sb037J8/nEUrarvwvz/pn/LQPzvSF5Lq7L/0u89Qy/Ig6fncowMm9s5/6N/c9/EOwad2/lrXpvHcGp1k4e3tO78+8L7WQ3/mHCABqG+GoPjS+6kwJThHrw/m5nPob3B7ovvnznkeqG7pnkpbrFvoP4yMA+/cZZFjQF5BHYnB3qksYWI5FmefOxu+1CACOYmjtodk0c79B77jV2fr3QH0k91MccRSONtTO4OKjzwN4D4Df2r+1tXuhhRk06Fuli/8TGzToOaLfeMV1ryoF7wPwQgBX+v9m7TeAK0vBVSuzK4FyJWDTPZQrAVzBhoSGpCpgA3KjdMkwBMgI1amWJHFmHFbDUQxinjGqIbpiZDtPDttfAn5Mbjz04cxxw8RN+yc4bTpCMZbZHABBkJm3OwQ6WdEMnKUwdv7d5Ivazmcjex0FAFrmzQWRLYvoj8ibDP3+LPpNwLPVz428VkkFtZrHDUqeFeLnWs82czw9bVEOcQPAcwFlBwjOs6b3dkWNN5wgkFS+i9ggQ9QdQJvAmesucwQ0eXsDfxPVvgEC3MD66T9yrkPmXNTv5HzqV3lL+9Z3rIB1CeTWewpQ5HnGl28Y2rt38KGbAFpXi/bdsBxLzknO606OrGtlgJSVEev7rX87ziD9DiWKyXny2vK1tIX1unztt+97qJw6u76W5Tcg9F98bYjATJ0a+6x9Z2H9vbU66QZ8XLbW16MQOHydJcs2/wt6nDsJBqOeNxtb+/XorAV0PMDX1NeoXkDlc5vZR0J4H8L8tCznmclrifwsEx99yvnDdc3T6zYsn1jI7xe64SG3m9D2qSFFvrkM2gYucnoIwM8A+IX9W1tPXmhhBg06X7p0PrFBgy5y+s1XXGeAXQHgKpudAga7sgBXrsiJsC64cmW4CoiOBf9/yjvxiPet8sTE7yqU+bnhSpTJWVFKdVpchYnXlczLr21+bjbxnfLblQXligzAqsHu97t7dDNbBqD83LSY7rWZNU/UjH7iu1C28ubd+rN8KkcGShl48sxHk5x1o1Ck1Z/BZ+cE8mt2MIA3SGuOheo0mHXLpxooz/T9YDLI/Oi3pQ3HJj5xZrskugzloi/TjbyJF0sRq+2zW3U22KT9JM4u55KBQQM6Zwo7D5RnVkyU1usTNwHk+4b2Pjwf1835K0+vi8veljDE+7GZTHe7/SQS/i4Dn9wAREDKbcF1er6bcXVlkfClRIeTOhUzXuo8nfQjJy/Ie+v5LDuDuG0tzeJrnuj0sMCH+TIPLztzdrS6EjAmoYJzib5BThe+H+24psR7f/rgo599YHvnrew0NsvXgfM9r9vS5n1OYdbetE+I4E55tD428nWncQbes/0K+F3rcYF9+uhs9vRex/6ser2O36I6K7h/r98Uyb9Prt3hF5y+Fr/TJYcFHwmctU2TvLXvq9+0yjs9zELwNQKARzpPy1Fr0bER9ahtL4vw0OZ8CdA2gF8G8L79W1tfudDCDBp0LrqEvq1BgwY9F/S7r3yNmdkVmJ0EZdlJUZ8bRUusy+xgICcE58HszMAUNTHnn67dYWKzQyM4Qiw6MpA4SrgMzMdcLW30538VJGQzpG3dPhnlwjvjdc5nzhcCQtAM2+k6WQowJ6wOAbr28pYcHkuz2NHxsaw3rRMQoybUgaJc2LjrZmmZOemngAAbCaPvirmzY6BGHUg+BtnnqqPqgXWnp0ooLy3T/y4At+As6ddoJwayOdiODiLOFwH/fJoFHHzM2qttfTOQ3WSgzxOyTacBYHg1Y8SP/u0KpXadOW74fS/NyAM94Od7S3VyXWXEThIvS5fmOG+PLFBnTGh7C30K13Wpz3JHj19/+ekTf/yhhx7/q7A2Cx1Du6dcDIZb/Vu4tiGCuCq/SVoS3+9neyGEje6sgcssP7+rffLiXNfBmYNSAAAgAElEQVS8q77f529Uy2J5uG0a8dwnHQXz0A0Hs/Lr7/mG6tDoOTsmOCSfT2qJ6TN9RUdMX8b87uRbbE6UltnbaOwvrX7XE5/4LvZZXKLY8SWZ2YGg9dAohkuQzgL4PQC37d/auv1CCzNo0BJdsl/YoEGDBm2iP3jV6wzBOWHBUQDgyvX096qVREcUSmeGq0ppDg6KsJj/ty5ao4CcIKVFYhDPK0upTo2rDHblenKIVNnIsXIFh4Zm1j9N7i126oZ+Brg+kxnaCazE2X/mk/0OIMR8uUYPUc4n/J8NzUWASOCDN6l007bMuVu0Q4syUWCiodlpXRPnTxYBUMH9hn0zmH81ssmZ0+qZv81eqy7DfL0AcvXM9KYNAs8EOmKkg0n+HqAyVSeTAg7RQ+d4Mbk5J663Ez3x0g9vYyxnRgrQM9mWiB1zGiWh4F/3jFH+DtqDUP5sIUpH+TlY4/eys3f2k79530NvBi1N0/Bwns0udO0vgGfhNwFPfw4GjgkI1D0EWsYWUu/RLBxiX8ufC3bZFYzqewxh+vUbi/X396Wg3gFttgSAv8uVpA99i/cJxTdX9fLYIUDfHzXsxfX+tZ7WOQ/TkHyLvQjrtOqceDPwVmdBq39+z9PG61ZobAvUdlheee+XOH0CwG0A/v3+rS3dA3bQoAtKl89nNmjQoEGXIb3/NQcM7GCYoyPo71VozoTOkbGSSAl+Zo1vXQ5iwJXrUq5ckcMEEumByLsuJ9H/q6MDuMoM+xpEnygco+fGPxooz/Z7OL9lJdbfExCZgctsQORnm0A/l8V1jHLNdSCZsjpZ+NVB5PCUnT+KxhWQtnwOJEsogcEhb/bXOw9iPYIsZckxsRz6P73vQhvvxePjAvCvculSCZYqvv/s5I1sbTtT76zRSIy+Pt7GNm2UyHJplE162oY4kZwX36t6mZ+VUh7+rXsfwqn1+loHVTqr2trOdC8eLxfBaAOrFvIy6OP6tw0l+/XoOrPbzTDPad2xsrSEwPNm+8YwQGU5kdQh6JHaXQ3J1zTzDwXb3fr70KHFowg3gezKj/qa6LRpR2fS6wvyL+mrORXm1HODsQUe6ixgRWQOGq5fKcC+VYw0a+0oOu50SQP3qZcJfQnA+wD8y/1bWycutDCDBgGX1fc1aNCgQYMuVvrQ6240M1wJGDsSvtumdZM/sQSieca/mw0GyIDV4azN3tFEdDU+M14Ksrrd7NEM8OyvEoM/BqE6Y9zlMQcEk5AcLh/Szkl89laqD7N+48xoXMcaRyBlXZ60XsSvA/zdrouoIN9/k7jtinRlIB0FMNciDDiUuMz/MqDyPTyMrvU95PppwIzDm1ljWk7lI3VgMshyDHUsqVC1wImhtlmWuQB7X3zsqc/9+aNP3Qzgana+8FFyXLafHtC+iekpR8mws6umRwTgCubDcgMqT8F0FkVQASqi/rL8q6Q8Tlu/26TdhZnoep2XN+kkvhcF8Oq0zGbwOycIyRFAt+g86tlSnceIANGDyKryup5Y1mUnS+4AUN7dHgoAvatejtp2EN/DZUJPAPh5AD+zf2vraxdamEHPb7oMv69BgwYNGnSp0Eeuv+nqAvwhgHe6gQgIqF2wBt1U7Y6DAxmzhcFrW6tfQVQCAiP/DdEB5wmSlwBgNL7jUoY2653NnMcwdy5PEZ6CD86jyX3mtqBgn1lYBnKuJSEVGEq9+T3q7H+2/0OnL0W7QjwT3+RuQKPuig90gKUkv/W5z+yy/BwZkTpxZhDJpwlkEQBTWmGQNcRENi3P6/zg9s6xrxw/efDk7t6fPHzi9F8JAJfaBM8kV57mIM3qb6cueqDWM4Jp15nqWsElg1UGr72+Fk4BYMDoZZcekHs9eElKmOUG8UnKCWm0vgs6aOl7AM+bAIa0wiOTIUayWMcDSMLvZz7arOqO/7WcOFPPcmAG69WR6fLPKbUf62Qw652pyXv4Vk9QuYTpDIDfxLRPwB0XWphBz096HnxngwYNGjToYqYPX3/jCwH8kcH+M7/HwNLBybIjQPcBmO/X6X5UILAM9ObwaTTAkoJ3na0lozVLv2kmi8FORMwN/EyP+s0MQ5lcgIPSDbLojGIsJwKsIO856maUaPEEB0SwU+8RDu6eJi+OQVDmkJiK3bxGX9/ZoqPnHKaSzvZnbYzLy/VGR5dKm8p4ZbLu7O0d+/NHnzo4X64fPnHq0yf2zr4VaLPJzIc39aNiK2feUT+bGUZBB0aVt/P3evjmelFnBJSFB8tcQShau2cgqhEDnL75A1o9uOxWRpM1dQLIfa9Ty9P05e+TT07Zl+gx++YyQNzutbe/Ij35PgKaPiwZCOl7fXN5LlOMmIj6y5wuwYFBH5+hOTF09j84bUWGy5zej8kR8McXWpBBzy96Hn1jgwYNGjToYqWPXH/T9wD4YwN+pNusMAOVYDDbwsoZTNSs0Q4NeYl9AP9ADr7UAQBEg9opW7/LzgxelpB5DxR6cPhym/Fu9am6IQcCb0KndeGd/ytvByoLSxoWRBV5e6eEwaMJIpju8qQltkJjXVvqJu/ExTehzPjxXgYtfwTvEShHLuwk4SPPspMTltqr1r1ezwwm/cVw/SIMje7Pz77+yUeeuOYsSt30b13WD3zl6ZMvKLBrFBwzUPQy9BjA9n31wK/J0EAfg/MAOKlM5cF65pnjLtRe5G4OAKM8OZB0oJvN3teyKz+SSXSNJD3Xj6OL/H3ye3K5WC/1m9D3I/xYJ6pXsB4Mwj+2oxVVRN9DOnsPeReWLaHIeRTJyxs/ctsJDgTRw/OI7gTwHgC/vn9r68yFFmbQ5U/ZhtCDBg0aNGjQc0o/dt9d2wD+WgFuD8YfoZQFTFrBv1IDTr2xXgE4ZeVj2diQZyN+nYD/Ukq9z5tesfHbAU4weGuJpmc+a90q7wZzB/5nJrwjuM1lMPDnerSwdoaksU4uZ9AlXecaFwBdXI7+WC8/grBI3lCgXNf0NucvhXi3+vgGdGHTPmtlrIvUzfri2ispJC+dce6gyxovr6sJX24/wILhpY27FJLBk+hCkAq69+745tM4i3LFBLwdlNv+/d/7gjtbHfKiVlhwSNBf3qBwrS+O8SGVnzmegvA1u5GuvO218pi3Z12ZPottj510HKJeI4Uipq3XbclIBO+l3iPHSWkcssgcJDKozFpfpnVpbWmaOY/vsXka+neavU+ffdf2oOlDe5udEP7deR+Ufbe8jGLqZzAXSOXVOnsbjd/a8xD4O92MaT+crz5w663/4IFbb33xhRZo0OVNz+NvbdCgQYMGXWz00etv+ksFeL8Z3ozSZvq63exLb/Q7qTE+JY/hseeanc34MunsFq+n7vjNF1wXoBnknMHBjQOOvOT+fg1dZifAhjrwnglL9fE9AVRPkU8O8mz+x50dOiPLZQD0jknuBBOHQlsUgIPFvrasb73vPDnsOwC04HDpy1DeSzP/uv45yAFuJ1lDR3hHnp5nUx84vnPsq8d3DmIGiRqK/ejOmQ8+eWb3XRFMooV3V3220ipgpPLDWfIlvlNnU+uchKKrU8F/1E3mxAmQRS2w84TlbaHlIlciv1H+liaWme1IvxxxECMCuHpxTf0sqz+kb5U3LGQdtt8xky6DAMkQ2rBEMbjOOgcI2v2gN6mzXvM78+YbnB1d+bRcgeTQqIJBOAngVwC8d//W1n0XWJZBlyGNz2zQoEGDBl1U9JHrb/p+A/4UwK1hpluQ0DRTPgFvPz6OE/ju+TABeuQ8qES4K8LKdm/Tjv+QtAE4xWI6h0BAdsGAd1O5Gd0hAkDkbDN8DcDxbvMsGx8zxse2VShAIHGpjpyu3rNpFrWdi97AFZ+a4OHNCgQ6pGx0j9J4yH+tO7wNRJC+5ATh+nHbUEAIkZGPrsxOc1DHAhNXw8F+LfNcCqcTAJhO7u4d23qsrvuveg2OoFKe/Mrxk0+uC17N5esmgAwOjfhVnenfOX11ZFncwZ/Ts4Npac14lUPzJ/X2632ruOkj0CJcwh4AEDBMMvA16xGzHivIPZcDQWRWWVezA8OXONm59JA4Mkx0yM/VCaB682cF8/dJbWRp00NATgGY73V7GaBtwqlOI5WBnQidAyD+GTQ1l9/HtE/Axy60MIMuHxrf2KBBgwYNuujoozfc9OJS8GcADvu9bIbNwXGbzea7Dby5E8D5TMCoGcRLAAOIz7MZUS6Vr9lgXtzonZ0RZJC34/uiZCyH80rX/7NMwbmR72qfhcTzefZZ+ekRgKQMPnqtllui3pRvSlSonopgQHX+dHKIfrJ1+iRu+J3JszT7n838874Cs+hpJEB3nKTf8wQiLMt1tpSvf/brT16zW9ZXsIMiOFRmWq/Ln3/l+MnDAK7wewqQJwDfMqZH6gno1WgNfysZQNUd/FkOZ7QKGrMa6t8Bamtl8bvmsrJ3GICu8MjAKH/HluiGIwVYPn6HuofCBMC5jUS9pPVFdJwU8L4GMVrHy2NH26aNEFkvrEtgEjbqrH1/YZPIRDca0aJOD3W4qhNlUEefBnAbgN/dv7V19kILM+jSpvGdDRo0aNCgi5I+ev1NL4Hhg6XgZiCGzPvsY1w3SkasIRjAoHwKEpnYaOdrTauzc9nEtVK1hxee1Y3rjGuibgUBqcTTQQHP7HHOCGyj5HwEoBv3BYnTROTm0xMY4KrDQeGYR2eEKICgEBJYgDbqI6Pr5gBiEKOODQXtqo2mEQd/zYnB3HlfA8c4HB3g93nTwY3vY8EpEh051J6B3Tsef/qbT+/u/UBZAP3K6+kzu+//xs6Zn2Rc5vUJGwDOGRhIdjPPnH9OO81sx1BwBrMduBSd7mMZGAwTD66PglddAhBn2y3N6+Vb0EGrl8rAbbXpr999HzW91IvKL8idDR4t0fMj8F/zTOnWKF0eXlZQvM6zE42/Z2/nXobrzuvA/ELUCPHgox+9TCTvnaO2+HvcR8rf0IwHTfQXAN4H4Jf2b21tX2BZBl2iNL6zQYMGDRp00dJHr7/pZTB8EAWHdMTSmf/JGJ2hoQOv0iIAMiAJ5LPZOjjy7v/nWgIAyt8M7GTWPpGl5V6ek17iVY38RP6eU5Ow1S1KrSAh++tApDo2KkgpUQFoocTT7TiL38nq4GDTeysU8k4FOZbw2fCCCO5UJ5Uf3VPgD2QOhwZidLbf+WiExGquSHeUpIYlULgCzyY7r4e253X/pJdsBYFcnrl/e+fu3fX6DaoXfhMO3B2IugOgttdaTgv/1wgABpJL4Nt1XPchQNO9AlHIjP7SMgLND/Th7apuB6/6pfmeA657D2/PNvRzSVYr0RenYDA9/+CyIHpccipEHcZ6cn8Tjvubr9nxxjL4cZnqtOH3E8L8i5dJ71He0fJeDP170zYw6LzoSQD/AsBP79/aeuhCCzPo0qLxnQ0aNGjQoIuaPnr9TT8Aw4dQcBPghmWEZwL/53shwZSCEJnPwlm7lYIAngFdcgJovozc4K5rzguVb82Z0cAez5730N1vV3B5DiDYxxLwTHriOCEAsVSfIIsT1UsdAhoJEOsb86lC/f2ZKoC4akQBg71Ns/+b3l0WTK7RBUDcTDCrm6io3t8knMpWAJzc3Tv6+ceePsQbW2rUR2jDocxy75efOnktzF7IUS7Z8XABnNJ9oM1c1/aCtv7fdcH1D3sNwGXtQaAeSdkBX0qvSzI4veYP5QmPCEzndPQaNu0hkOnCv+ceDMd2yc+8bhyxkAHnKjP1Z7yRZtOR6Bvc38UIhnC6haefm+Q+EjSLgPAy2IHg94rIoREW6rQBXQ/6lmgXwG9j2ifg8xdamEGXBo3vbNCgQYMGXfT00etvegUMHzbghn6mtl27C4BD4QMRUJo2q+sBKORagRvPinJI7IbiAmXlsHEecy7N/vcz3jqJzw4OLTcDZx4FkE1Eb9IJkmtPyJEKTfc085voIqlsFxHQg/h+qYFuMKgh+bq8ISPlq3sadA4N09nluBFjqjuZod7kcCmlPPKpbzz5krPrcoXL4zOvXo6+I3Uy7eye/bOHT5569xIgBsnO8jG4DqdeCJBTMK6AWIGsznx7G2zpexeMg1cL1yQfl2/tu1Lgu3SmfdADgeEiPGpeqleth7WlBR6t4vwAjhyxoBeNWFhZ3BNE68zRHK5rz8vyopBuQl1bnni6ANWwtolYh/a4f+/aL/pxnVnUBpC/50HfMn0Q0z4Bf7h/a2upKxk0aHxrgwYNGjTo0qCPXn/TK83sw0B5XQNZMax1orjxH4OMdE34RgCY3JOoAAAREG3gxYA4gOuifHuoPs2yEvAkkB0Bdi//Mqhs/DctbdhUs1q0yuMFM7j028lpCqHaxFxPcOA6VoBT338PykFpdWZ6qX4M8DXcX4F/5jAJMs8U9kiYM2pESdVLHhGw+8XHnnpie+/sy2odUmeIOF6oTi7m10+euv3E7tm3BYCIuDEgy9rvqE/8jEL1FbzPfPZl75pkMuv3HLAqG22oR9+y58+ApBM7MbyeccmGQUP6w5Ihiw6ANVoIfAXkXf4oQwTsc42NvmVJ28Cy1kmWtJBDzXl6+uCs4BfhuqA2ungCQGG9kU4zfXmeUGbu9OFvdCkqYNB3TMcAvAfAr+7f2jp9oYUZdPHR+NQGDRo0aNAlQx+9/qb9AD4Mw2sUyFk1LwGgB5hxnTrPqkXQxLOHK7N5LTmVYzEoP4sSyO43OVu6iV9yL0jVnjoAMITbdbafb3N5vkGbz2F7vTx0tx6bRlEA5wOU6735QRpuL1P8PJuus6ipzix7bqLz0t3VWWBlmUVDSJEwTKBPZ4o1/H8JuGTvYmP7EM8Qy/bQ9s6xvzh+8qC/s0110mMegajvUsrX/+L4SSsFL2vAUcOyW16WV9ffM/DkUHKuf1gTL/k74Cig3Nsr19Odfy6PfrPsrPAHvFGdkzsO99F9rfOK09MsvjvkuH3Wv1xfqj+nm+QsoTyjtAHAZ3zMnyd6lNl0fcblbXrvrT6tf2We/N5dL6qDVi7XPralpo8BTJ5h+gaAnwXwc/u3th670MIMunhofGeDBg0aNOiSoo9cf9N1K8OHC3Ad4MZnCYBOASLAoa19+Ldg1C4fA6opX4wCUEDn1wz2+hlg9CjQZx3R1kMXqk0KVgUsaT3ElEd6ZKK1TfOYZygnEVfLrWlmwJCFybNMZeE3MwsRBV357e0r+Oe0nj87qi+jlci+RiF9Nh3V90yKV1krKEdrE0G2OZNGRbBoJ3b3jn7h8acPZYEBYRY/a0+IgM7rtbdef+L+4zs/EmZnZx5LYDLMvFMFKyB2gNzJpsC1n7V20tnvbIbav5EoU6urtn2ufwD7iA6LWgfWgfW9ifNofUM8gcDLNkS9+L0K/kkBS0suOv2JMlLwjRYF0OpAqQ0dP5ZRozY0YiPybPm9fujeYbuyJP+Y/X/WaQfAvwbw3v1bW3dfaGEGXXgan9ugQYMGDbrk6KM33PRaAB822A/GY9oQjGpHIDr7z+kVUAM94Gcgo8Qhy57WeddyjJwOej+kzxwLEdVtMpQV+2ld/b7Xj+vFZ8gvhbIzxszuMeDifRKQgKiAV7MXIYUxcCes2s3OsyPD7ylwzrByK7bftHBpvf/50lKbC7+V4fwS1qU88tlvPPmSvVKuyHS9VKAhngWvshQAT54688Fvnt59VwC51vgv7eS+cZ29AnLio2vHHTT6e1TniYNJBZqBP5Wn4f+Zoy6C2akW6hTgYx6BGFJf0Ha/z+qrJye0NC1ioV215y5/dopAcBhQmeoEYR1p++Dj+zKnTdUPosOBZXSpuXytf/0tdeA+YCXya7886FmjAuA/YNow8MMXWphBF47G9zZo0KBBgy5J+tgNN10P2IcLyrVZUD4DWSdDf28ZCMp1MktbeRDQWhpYI9jLZ6MtpqoScui/AxDPsybnRgDKxKHNxscw+mw9ey7X5tl6Y7G5sjYZ+WdLqWmykHTVj298ZqqOMKO9JFEedbDkyEDN1evLf7NulDJg1rfGPkKklpm0J6rq7h2PPf3k8b29lwb9JPJzIVn9Neks7/b9x09+fXddXsfgLr5bXo8/5e7ePdpMeADklM7Pfm8yLK+fj8BXeFkL3WeAzXlZ3wr+XcZ09/4EUCvYbuW1625dfHV4eJ9B9VVnlMzuKyhf1bRWr0H3+NtfCU/WGUcRsc669LUumr5fftDeTb9sgzcW9PLTdjOj/80tdtCzQH+OacPA39m/tbV3oYUZ9NzS6txJBg0aNGjQoIuPfvTeu+4DyrsAPFIQA+YBB2s0i1/XRE/P/Bg+HgiN/p/SOljFIvhnkMGUOQPqDGhpf43vp7mMkwOYwDGXr46FXhbWTqthC6AvlQvzyDbNUx0BbVae03lZBSAA5Pqc1tUzrwbYyAnhgFZQZUFJ69nqhFqu12ldKBKEZPQ8+mpYd15eIR35Xwe2FYQivN4U9BdiUubGqBEnAPDQ9s6Xtmfw7zxW9LvqfC50AmnNeQFOi14+AN/zyhdefQLALlC6meS4dKC1i9ZaGt8GdGfQSs91g8yqb2nHuj49fcXFnS59/ZzqyQvzA492UYdWStbqZ1Tntbx7/921J+vutNal4D+BvV73qMNJ4ip3/dbmN00Njd/Z2tNLXxjTtu9FP4KqQ6mz04q+nILYLkJ7Ly7r9LSeWID+XQ56zuiHAPwGgC8/cOut/+sDt976ogst0KDnjsY3N2jQoEGDLmn62A03HQTsQ0B5Wbs7AwkCkw7+dAadqZvZTsrTdf9A7xzI8yFHHSRbnHlX0BTTMuhneZYGdqN/Pd+51sQrKGYgyTPbmjbBQIC1mdtl+RZu+jukMhuvWOvF+lt0bDAg9HwGq+v9eXZzKVKCfyc+oMV34jv9F/rtIdOefnt37+gXHnv6EEd0hFkbagt+rUsW+J1kbd7LO7G794Gvnzzz4wi6cIdCLNudOeyw8VTd5nPEw69hTac8++tp+bhGJw/B97XkfIQfA3rfob8Cc9JJenQdekDr8rjeDDGkniNJfJ1804V+ZU1mn8lfOv6P9eXHR+4z36w08mW5bf4w2BnROVyqjtt937OgSN4gG92rOiN9u254qdCKMkQ99HtJcJpznaIy6FmnpwH8IoCf2r+1df+FFmbQs0vjaxs0aNCgQZc8ffyGg68vwAcNeKmDQjdugRLCk3UmUKkBv4mWQv91bTHnXSKThHnofzbj7rO6EYRmBRoyoNeWADBsr2v0kS+Z6ORH1I/P+GlIuuqsTNO2G8PdHbAFBThYDMcjaiKvYf+UQa8CyzW1AXZiMODPTxfwWczlunBVNtFUZwvXBcC6lK999htPvmxvXfYxmG0zyHGPigbcBfj533MIs4LtPXRi58jJvfVhn531cpjXKghiQZ+b1p17Ln+F9bupwNTfV3yPuqN/AOTh+4mAmvkBrR00eacUMdQ+HvnINQ2b+HF5wncpnJ/10nj08hoWdAZvl21vA38OSsM6j4C+3fF3sOkYQ5B8mdNl4z4G80XsQ5tTk+8t7WEw6ILSHoB/i2mfgM9eaGEGPTs0PrlBgwYNGnRZ0MduuOmNAP4MsGs6MClGbp1Jnn/oYKhgEkhALW1yt7T7d8Zz4sXAQTfKKyGHz/DpjLvzyYiN+TViPbINABtIbrO4dQ3+Jp0k9/xBBpoZXJsyIargHfSepHKmN0iS+N5UuFx2nf3XkwA2zfpn+uJy/D10p0mEhPXqzB2PP/3U9m4L/e+EDtk2Oz+Yddd+5hyTg6Z89SvHd14M4HtBsta1+/IdMQhlBxu3vQyo8uy/yuW8QnECGvl96T0gAdzdtYLbXt7GK8rr+UuJzoWsrOZ8ajowREDvD1oe0jmV5TJzv+bXTW9RhhAxQvndCepOOz2hgL9dv/a6Fy6nsrZQNveHXIa+g3pywtwOzuU8HXRB6COY9gn4g/1bWzqkDbqEaXxrgwYNGjTosqGPHzj4JgAfMOD7eaZfwQsbwECcxdMZ3G8F+OvseAdN3aCff8dZZjWC5ZcCOp4A3jCaR5DL1O92XvMIuHV9rSGz/fPDzikxAx8G+3UNdQLSU3L96ML9yqPf7K932vQgmNj3oJneh5fD0QBGOuPIAuaf6S6WofWMbp+Htnfuun975yaWU4XW3eIT/0gl31BRN0EkCDo7Pgxnzp798EMnTr0jnY0W4MnAlb8Vg74DApgCfv1eBYElB+UKZn35B4NRnbnntP27tyQqIMrL0SPssGoOhCL66b9c1su8BOArBXifAb8JYFdlzhyJTgTUi4lTRo8Y9fJS2azqq/g1l8ffLacHrHs3Lhd9BhsiEHJHEecheqbB5uD3ndHp4QC4vGg4AAYNGjRo0GVFH7vh4A8Z8KcAvk8BNxy0oQ9bz2bsgWg890f05XkC6CbrOM7KtrD8dQUizLVx8/BfTsEgrAOhiSwrm476a5wtyLY0e905ROheVs8MbG2iTmcCMvqZwTZLCs2b8acHS/scZPmbM6fnnNU1AzaqOy23ljMzOnFm9+gXv3n8UJentl3VxHIbZFlR68ELSVrNHYiXAjy6c/rjT+/uvd3BIL/35TXu/bMsfedECPfmJ3SdnQJQnQzSTjwkn5cLhBB/i4A/iyBwHhG85nVwx0L8BvrQd4428IijFexhAD8D4Bd+8iv3PIFBgwYNeg5pOAAGDRo0aNBlRx+/4eBbCvB+A6adjcmoL/M/GRAEpXEAM50rL2kpGoCvOV2FV+R48CP7dAbdgUTLq24Jo2dRRi6MHQBL8mid214JDgLj2fEZ8M94bjQoZiDkodSZg2IJxLNuFIwV+lf3SVDAtgn8q/wxaqLN+k9toQFHPYmAo0iW3iCv3zditAYe/uw3nvyBs6Xsa88iM45EUArvuqvn3F5naVZyHdKU8vhXt3d216W83NvBPpNUAbT3x9Y1OZbD79VZUqM6GESLA0LL0hn/LPy/ymXRSeOz76ziLlqBnHVLoL7J3+RtDgp1oHBdAQAnzPDLAN73E1++58sYNO2K+RQAACAASURBVGjQoOeAxjGAgwYNGjTosqO333vs02b4a2Y47oAfoJlE68HsGv29IuB/Cr219JrBZOHfpd2r+epfz994rEKJLbXZDCAcRHgdrAe3zD8r2/y/GkpO9U1CmUvCo1CC4MCwGUjVZ22+18F/BJ5UkPAMN+YXWVCwnv/3uniaBg7jQXj1HZR473ycF0uAe016Y8fLmt63zl43nnJdyu6Rx5++KgX/RK2+0TGzMgRZtL5+zGMvS2sN9Y7ZNfu/57sfpOzVxaKyqwNERebvxyizzXlj/rikoXMIzcJnbTEla+V7eRzOnkWxgO5xmQzefWNRID+Kcum7T5LCDC8E8PcA3PuB1x74tx947YG3LVVn0KBBg54p2jTmDRo0aNCgQZc0feyGm37UzP5TKXihzhYq0PD7vs7dSWf7nXiWnPmCeDJvBpv9TH0E4g1syYZ5/NgjB8IMcXQGaLmtftOTVrce4GRRDUuAuc6Oy4M6K196fZ0Pb3VQ9LQpVgJdPq1nvy5+Dh0X/TcZ27XuGK/1Cu9brrXdPLC9c9dDJ07dBMiD+d1mexFw+8pALM90NxBKEQxeV3IYeHtaGfDk6d0PPn569121vVbdubMl6g0wKtP5yQy+8Rub+K2Ei59CMMkW36/Pvhvl1/ZSy5+ZaMTAUv56lwC/iVyejvmHfsXa2vumSy3f+bHmmvwAPgngNgN+711funuNQYMGDXqGaTgABg0aNGjQZU0fP3DwHSj4QxhekIGlDJB1aZYRaNiMDYigzPkxYIDF2cgSgFUhHg2kJye+tVl3KVDBf++Y4I3sSq1f7wSIADpzcDjIqWWRErKjAJeAa6azzEJRl0T+rnr5s93wmRT0AxH8dXJQGXxvQexOXr4+sXf2yB2PP/36Wg+p1NLSCS6z1qO0Tf8cwKoTwxD1wnXhkxcA7DywvfPA7roc4DxVMwE890f2TfJFQM7h/8254WWrjBuWD4R77fsMzgbhwe+HNx0M9+cLPmqPZQplonf+sA6ScP/e4WBNd1zGTF9eGd5nsF/+sfvuOoFBgwYNeobI/sFVL35VQTkM4LCZHQbw0rlfLtRJ1Rguo/sAShtgKD05+addRusxRjWKbBUnLYobCiuzQgZAoc6yUDdaaNAoZCRx1Fb4TWvuCnXwHNtZpnsGuGwW6+t1nA2lspK8AKr8rV7gQS7WAXWA6MqYd0otNDDN6Q0FpdAgWGgAKl7cClbWqMfsFDI2m17MColH91FowCrQ+lBZc32CvlxOYIqP89/NgJjbhLQbYNJpIf6zHPVcpkm2qPd5gA8Re1G/Rm05vvNmiuLf/+i9d21h0KBBlyV9/MDBdwP4D6Xgat312zsP3RQQaCDWfwMN8Pta+TUhwexINr5WgKv3IiCOwGEqG/EpgRhD22OAK+F9abbe2zUQNzqM/BgUVtm8XNbTPNPvhXKZ57MRYNB96/NRAk+WRSMKotYyR4DWL7yPwKXX0+Lae3o3rivelZ3rp7QGHv7zbzzxA+uCfSHxhrIzTS5FIbTf/Z4OWb6urRbc9ZXjJ19jwHdNthttylftsLhxX7VDZPa/2QlGaZrzJYBj+r647WWAHkiOsqOKquPEN9uMdUD4Bpq90uTl6Iha59LLEY7Bo7I4gqAgOg27nfNJPwZ7AsAvFOBn3nHfXQ9j0KBBg75D6oaMf/BdL34FgFsAHLbZKVBKObAy25d5dnnmoxodYcBtNzS8SoXgDr/mdwNgThPWRpoabFMGPXM1DOZinPUe4DgAsKwh9E40t5oF7uQPdezNjTjI5AOD/9V68DMg23yo955zOcwglCW6UB5ciwWvdXiXalC0Ok93VrD5fOTMYCnQdmNSTktP9Uvea9RfLMcMTwL4ibffc+zPMWjQoMuSPn7DwZ8E8Ptm+G4gAfvzX+3fAITw/6VTAZgHk3GnqfcR+6oGYQuNFj3XvC9bPove6+MbGmqfrJIv8QhlQ0Y073eFnYav8zgenAmqJxG0TTi0mw4eM3Aex5v5nsz4chtgx4I70LMjAHn2uKBgnzuGiH9WFdVZKeXMnd88/vSJvbMvAaj+FsffJks/5muz8ueT4yYuF8iot1N62tk7+8FHdk6/CzNPTxg3kYpHxDEQ9mp1u++jvVOvSXasXh33a7lx9p5ttKXz6D0NOxy4/rVNWktniHUA8QAsvOdof5jUZW7zc+LMRvS8vcNj1u2UddcMv2nAbT96711fxKBBgwZ9m7RhiG/0D7/rmqsBvN4MtxR3DABvBPCXMidA7Qy5Y55mtPtjWGQWpQ8B805+4lwHXhGeQxq5Yuq00J2Nm5MhzlRkgwuXwwONe7oriUFY5bFmXCjxILRGA86e18tQY5N3tWUZJ7miobVK0njZPOBM93r51fvNcgPoaqW6Lph2Eg6hrN5u6H4qp7wH13e2A3dsc70BEI2sJp2ZPQHgx99+z7HPYdCgQZclfeLAwb9egN8z4Lt0HHHivjaEsIdw+f4Mdv3N9xQo+I06C0rAr4HZKCHnNcSZ8fB8prb+OG6Ixxy5790E+pV/NsvNSwpYGVPfnx9jGBwAUmMHP7o3QtQP1SWTORkj87pEJ4L/ZkcAl7SkN3UwcBk8PhUAD27v3P3QyVM3VhuE2hwszlyHdoLN74oBdpZfHU+53owb8/qRk6e+sLO3fpPbYWzP+FGWILuI7ZYV8WQ7K0aWWCcLj+XZ0X0s/6bjBvP7y0sOIgDv8wdngepQbLcM0Af7SuxhUFovzycwVvPDOdWfArjtR+899p8waNCgQd8inWO430z/53df8+pp2UC5BbDDAA6vDK+pY3UC2tzI4Zn7DNxazYMwCNeHCwP60oww5FlNP/9wQ6lIOW5k9RsFWbjnEQBT+lJ/kwN4lqE3U3gQVENEQ1XbudH5oFZ5JoNkpwuqUDfoivGRlcEDtoZoOp8yl6Wb4rAuog4XjBExFqouONQOvbHjeTNDv7WXAn8rZvimAT/+tnuOfT4RY9CgQZcBfeLAwb8B4HcBXMXGeQrU0fc16oit6eR3gKeWjyXs4G4cWgqDjj1xZttD9IFebiUG7ex0X6qP1s3zr5O6+g/e9GyTnjpngI9VxFC1EdKDx8vm8G7H9Yls6MewScZ+DPZ8fUSBrKUXfpuiC1qeSd8ndveO3PnN46/3xOp4UB4M2pfqwjrp6skTKGEMzu0PeP1rueXhrx4/+QLAvk+Br75jHovr+E+2CEdRNntBlhEo8K56iu+lAnKxPVSvITpB7CMF4PyN6PswkoEnTzw/O8W4/mu0oxRN5HUHGTgf6ZN1mNThCID3APj1H7nn2GkMGjRo0HnQ5hH/26B/dPVLvrcAb1wZDgMeMWA3A9PmSzywa+FskHBnr8Myd+6Ad4QlOBK6mX7/vTRQBbDYQuayQTbbuZWvl2b/myz5Rj7a4XcGlvXyKUBXAyCbmQgDPHm8ddDzWQnmH4w7lG7gVXJ98EDXBlFxMCR6UmaclvMuvRMTnfXlxM2VZkPgcQPe/bZ7jo0Qu0GDLlP6xIGDfxPA7wC4Up/VPpFmtBmQrGUPANA9d3aqM0FnvJ2Xp21O4rw3zfr7ggaas5nuzPnb3J2eZ75D+XjEze7VsbGQE3weNzSUv1DaTc4A44v5N6cuIb/uzI9547sGXBXoOo9s13+d6ed3tS84Shq/ogoCeic1oh79el3KQ1uPPfmKswWrWN/EdvDfUh99H1UPsPpb24UuT+D6d6CfEnib312XTzx0YudHODKPZ/ejTl0n0WbjOoZd9aWd2ixwtk4+6MjIXqi/Y3nRRtJr5tXXId9E0FKnW7eOf9GO6+XNy/ZfzUZRvVE9vg7gn5vZ//PWu48+3ilq0KBBg4hyS+MZpn/0gpesDLgB854CNu8xAOCVLETWWbb+nmbndaBAbqx1He9MGpLlg4TuVuwd7j7jY5Omp7pjsiW8EeRvnf65jg5y+VueaETpoNaXI2FsNPBXnuS6VjF8kAxyG20uBQnTFzd49l6UF8vK9zOjhGch4prDyF8ND9bL0qyN5+SZgFmGxwC8+0fuOXYHBg0adFnSJw4c/K8L8NsGXAHEvoPHFA3P1ogAJ+53q7FOD3m2sY+a2rRJX+PfZBMQOvMp1K8b2pGGCkSBqe/2PQF4TNMwcV1r3o0ZQYal9film5lW54gy5JGD1+C3Z1PuTFeds0ScAfyOuKx0FhxxBr2WsTCTnlGtaylnjj6xfXx7b++aVnYcI7M61Odyw+2K802vVMdp17EPxCKM//zmqTMff2p37+2atz8SMNphRg9XokfL0pMDwIk31GvXzEeWEYitFJwF6B02070Ybu/ysgxqkxTNR7wQrjfbImq3+v2V9fai6pDs35Mrs38F4L1/+e6j92LQoEGDEjrH0PDs0j9+4UuvweQImJcP2C0FOGjAVT5YRDBIILh7js4Yq/fn397RM2CMMxpt0NdlAGxIWZLflwD4fS6fBeC9DJg6QO38yWOvz5l1NEDijLsOzAqy1djKnAlZGU4ecqn1bg4I6+5ren7OoD04ABKHy7neeeoAIAb9us9mFKyARwG86233HDuSiDpo0KDLgD5x4ODfMuA3gLYLOwPDpf1GlLjPq/1umCGPTtTW9ca+NPTdiLvcByBLPLI17lwX7hO9Dg78N9WJpUswYZCrlldiFFnNVBpI2lROV6iMf7q5K2LS4BxhJ0YGnBX8tfF8+fQCDaXfBLDZdvBkD2zv3P21k6dv5Ei+Nf0G2ntmJz7Xwzqp+5GZ7YZ10JnI6BEOZAiUEh3vrKt1KU8/dOLU8b1SXsl2RA/GJwoOeuttKyffI4LbZOPfHnB0I9tght6uWNqA0HXKDjlPz7JzxECvv3yJZqt3tGEy+0o3SV7ay4jrUH+LHvVbXk1BLX8Aw21vuevoRzFo0KBBRBuGrgtD//f3vOxKTE6A6hgww2GDvdTT1EHC+hnhsNkg2nOdiZ6zkxEVZ1/q+ncZpLTzXzKumKIxMnXfHE6oG+EA2YAfhdCZFDZGfAjJDIdW73xwD7yoLvqsW1+vMob6s9aifvyXR1oEh4wMcDqjlm3M1b+LVooOwL3JFI2t+fobZvbOt9599NhC9QYNGnSJ0ycPHPxv18Cv2uwE4H6J+6xsH4Clfs/QgJ/2346NeYM+44fcO1F6oAcihQWdf/fRVDrbzSHyLaJN+Qt+7/rWumY/qXwWCeB8PBpgaXd7HuOFbbdnwtL45XzY8aIzruqM0Lro7L/SyoCzpXS2RcavADixu3fkyBPHX78U6s/Oi/CcxnfXG8vHdde66rKF1Iku3p1sPyaW9ey6fOH+EztvmMXtxnS/19lOdMOjBspSerU9ap0s2FT+3MG0T9R4G+TyG2DPebgugq3EoLymnVqPRizwkqBueQO9Bw7/d9m1P2G+XjYvweT2n+1h0PQIAPYZA26D4d/+8LEjZzFo0KDnPS3ZLhcd/ZPvfdm1gB024HCZnQIADhiwzw0NB9X9pnrLHtZgeMiAAeQhZmww+fKAyps2APRyKoAlJ0BmjFSDKRl4WdaVNQNA1/pzus7IqAOIXy8M8GFg7M0eHkRrNAONSTp4doYjlZOBb52FUUdApxsZ9NZQJ0GzbvJjLFtdvA3Ju3kEUyTAXRg0aNBlSR8/cPB/WAG/AmDl4Px8Z8mdYv87EUcAFB6Y5gw+NrT+bXM5XIY7X/2GbtDXjXHz3amPpx3nqdxsptxpyangXWg2I85RDCr7Um3ZqRwALHodTbxygJ45wFOnupTtfA2yAfFcVosK6cdxdSr4/bOlPPS5x556xbrEeYsI5/oIhmz9fnW8Uz3ZabAE9luZMuHhDqBZANc1tyd2+BQA27t7H3r81Jl3Vo4yPuv+QryBMcvt8vT2kNgoiT3SHTuIHvyz7HosopeZ7WWkGwACvlFfA95BZrH72F5jOby+9duf+XZHatf0bWPBoK9w3WQO5VOfMt/76j7DTxXgF3/o2JHjGDRo0POWzm3RXMT0T1/0A1cbcLPBDheUwyszjxp4EdCDxWzXeE7A3v7puVWjJs549+fbT/10PxtRi6CBRgduNQCAuJdA5sTQcnqjbUrBAysnYcNPd65t5cfZmd6oIDmyMhB1rrL6TI7rLxhezk/eWcafr5ux0ZcRDKs5Q8tjnR5Fx18D8M633XPsHgwaNOiypE8eOPi3C/BLmD/7cKwdWn+zaYY0A8lZP9kD2zYS+G8ODWe+Afg7D/pd5UXs11udGDT3m+YqSGd+XE8g7i+gY62OrUw8vijvxcIE2G1yIgRW52HpLCXJogAUkG/SVwFQSjl99Int7RO7e9doHTbJ229aaF05wQ6xKEeMhlzYY4IYLL1f2BRZ4DvVz8s7dh8+eepLp8+ub9Jji4E+9L+VQTPi5vZTtFPcngLNqGvUR3A4zB9RcOyQnnnfDbNk/Tz6JR06QaFLKXUWH1hexsD2RvgWKH9wFMi9mrymp7QW+6l+08Ve1pXZU6WU/3dl9tO3HL3zAQwaNOh5R+cxLF569J6/9PLXwJcPzP8DeI3JFI7J78xDrR28GgArfi5TDN6RZwBaQ/2zMjxzMABkUAJiyGBbd0bg1qIhoANY0AELwwC9GgBNMHVYqF4zcM7PePY90xWEjzZWk2fV+89pat3dcIn1ZF14HbPNjGY5HjbgnWNjnUGDLl/65IGDfwfALyB07flQqf1aeOYPJXEA79L/As1pyfyVZ806X9ehR2RpYfitz23pWkpOQ93/Yj25DE0XK9N4pumET5Bdxss1cWBQzpFimSPkfNbpcz26yLP6PC8jm6EPTh8AD2zv3PPIydMH1EHAGyP6WH0u2TQigfW1VLfpd7+p7lIbzMjknc5OgC9/9fjJV8Dsas+v4zLbFCHiz9zxPrdG0p2CYXeSOY9VUoUwKVNtp1aeOkKy/QI4rZeldgl/J2FyRpwgJnXmSSBPVPWj5ZNcugGgayY4QIRHtHHavWYD1vx7Bfg3AG5709E7tzBo0KDnDW3q7y8r+qnve8WLSilvxHwSASbHwBsAXM0DlA8abGDFQdQNKYQOuD6XQUAHo2Z++YCsgwXaAJ0YLlbv93Mq0ZlAA4H1DgAtQ4Fxk68ZQuxF97WrsbQoQzYoLunKSTdv0lA59vLrHgBsADQ+cVD199FvplTytPD3XZ8/ZJMT4D4MGjTosqRPHjj4dwH8HJAB0wR8IQe4AbCHfqelXFdHqN+JfavyN70hggTAkiRjpwCk/1P5lkC7OgN6h8TyiQaqvaCbpD6Mpn2sWlpWkMkH4q+nGWTUjVPIQT/z5rxr0eH27t6Ro09sv55l1Rnpfv+FKWUFa1ENXd2cF9AvgfTxXjfUhcgNTi9peMmAjp2n9s5+5JGd0z/WTYigB+UaveF64uOb27cjbYbys5O+UDlBJ4mdxHbLSurf7WMwX8YTAJoesw0A/dQCdSC42lmPHInay9nyc/11aaa2PT2JgCdYXIYql7wrM3zIYLcVlP94+Mid5/pMBg0adIlTb8k8j+inv+8VKwA3WDuW8DCmDQdf6Wm842yeagRDqaZBG0T8zGC/V50A6AcwNUrYOw30s9ocpdDKjAbEEnAPdXJZpA5cj5A2MXo8BcugtvFSPYI8RksjdFASK8Wv9HiubIPHKGsbGAvd53L8Xbvhw8f7MN8CPGjAO/7y3Ue/vFClQYMGXeL0yQMH/14BfppPAdi0JGkJoGVgvHcGtJz5evYGWgrfQuzHtGwnltbBv4NL5cH1Ksk114XBZ+cXqYDU6lKGTK7QHyewo5aB1k/r5oFmqOOurvfX+oUyEXWmgBloOuJ9hlg2Bd4gfmdLefBzjz11bSnTvhJctjq7M/m8fJZTJw2yOimxM9vTrL0dqy3jcqG9Y8Pmdv/ozunPntg7+8Nqq3A6XX/PoLgHo3FcV/tp4tfyI/Dz370Nk9lEbA+FiRiLZXmazAFQQ/Ct32fI0Ntg2k4NsmQikdnlcAeYTtxkmyYCfT08Vair/5icJneZ4b0o+NdvOHLHKQwaNOiypGyseN7TP//+a6+xySFwC9qGg4cAXOlDsToBgLkDp3X1TtK5wodqHgR08OPRfEX5mY8OFKE8SPmI5bAhq5vPbFx3TwNhMxbaGtKQVgSLs+ocSaC8J/KBjm8GA4r1RWVmAygbHmy4Rh31swKNT9PFXIf7DXjnW+4++hUMGjTosqTbbzz0P5dS3pvt/L80RaZ9YO1vEjTdjPjYIbX+Nz4NwJA6Ix4eQrnJX+/fW3rr+sNOfpaN7nsavw4bJyagbcrf72vgs+JF9OL5+xN6CskS9bMErLN6kZj0rN1xWbON/zaVYQDW07r/Eyf3zr54Sb4s4iK+9eXNDfv9AWTMFPmz3f753el7ZsDuUSrpWDrV9dGHTuzsO1vwYgWj3DZYTq832yTcfk1sAxNNdLPkbCpI+mhjNVAeHCPk+Pf8LcdCBCXl72Xv97hgQN9NIInO+D2wHrjOK5Eh8FMdSvndKVYGdao9WoCfW8F+9vV3fvFRDBo06LKiDUPkIKafffG1V65gBwEcBsot1jYcfAl3uEDsdFHvzT8KbbC35ACgkUUHAzWqeIDj/GpQcJpQluVpgbihTQfuq8wx7L4T1Y1l8ea3WROrZVdHx0xhnaP1jTUb4PS3WZMxysXGDJpDJ9QtGgiJHr5qwDvecvfRr2LQoEGXJX3ywMH/zcz+Kd/zvoB/8z2/z38Z9MjG+/PP2JcV6W24DwtPrAejfV/Z+jqWkUGtO7ZrGWXzmnTtD2ldeEiY9dGdnpaUl/JqM/ObZsW5HpVt8lxvBZCHBqKXaImnr/tnvhn4X5KHwbxZf7yfoS030Hwuf5F3ygmWbIRuCR7pYOk1AcDZsv70g9un3sJjJi+70+gNl0HD95nvqn4w0819ycx5ldOafnTWHJQus2N0lrzZAtG+4bYOeX86ieK/XV/7rDmueNPNurFitwQClUPTV4xACCdDiI2iYN/3N+oiHdC+3WySZAU7ZYZfKwXvef2dXxzHIQ8adJnQ8qg26Lzo56955bXWNhy8BZNj4Aabz5MG4kC7jzraRdCM1tHzgBC81cgMsMhHZy40T/Vik0GgM/N92SqvDljRq2zkRFgyOFYsB5os1QCiZ7qRIUgfrd5RnmbESDQFleW6qLMqYmT4DIYRn3mQ/AsA73jLXUfvx6BBgy5Luv3GQ3+/lPKP1cheU8SX9sc5SI7dj1MOrHR4TtZwl8Y3o5aUQ9p5hrnPzwBV+9uu79UfBPj5NB3lkcpICfhaR0A+vWBJU1yvbBkAE2+s15YWNCkVnipPdpR4rhO7e3cefWL75uzIudxZo+Nte0Nc3lI9eONCXbqAriwZw/hhaWCQeeiyQ5XDdfDE6d2PP3Vm7+1S7PTbmkPDy11ZtGf8r9sNfFITTwgEAMvgncsUxwI7ISIAjptIclqmFeX3z5CJy+MlirweXyd3tA7xnv9uZbY/vM9AK5uXn8ZNDxtP/p50z4X8mMaqs2LAHwG47eAdX/wzDBo06JKmpXFz0HdA/+KaV15tZjcDOFzoJAIzvMhH2cUwMB5wxYvMHTUg+VKDrQfnYcCTQQecVmZutCznrgOsp6syzIItlxVD53xgNPS7HWczXEsyAm6U9csZdDD1snQgPqesXj3gyyh451vuPjqO0xk06DKl22889H+UUv4v7X8zQBuuGXXRdfF/Qr8mfbtFQM7864wy35PZXebl+9N4D1ekz8vqw9fcr/Pv8JfkrWNZ6WehddyouuB7XG+bgbrw0npmTvX6jMZHrZuC/un50n4McSxi/mbA2XV58AuPP3XtuhB+tZZG9/zx0w005H9TxIC+l6VlFrFtJTKjgebqdJGxP3PkcNmijxMPbe88tldwHZfL7cEQ6wGYXMewd6CBbyYzAtozD27PYWnjnHWVlNX4CYAn+yM6enonAshWy/i5bH4fNHPfnCFqT8V9ENjJ5BEAnj87QtC/K3+iexbE9k+yqbyzzkoJE1ifM8N7DPjtA1/8wi4GDRp0ydHCUDnomaZffOkPGoBXAzi8grlj4JaV4dXr2aYJAwQACKD3jr6u3aeBWQc1HyT4BWe71qpxtjQAF5Qu/A6IRosC9GCgJN545sADYXyOasgsGbU80Hs9S2n83IutOtCw2BUVorMjWTky+H4JwDvefNeRhzBo0KDLkm6/8dA/AvAPuX9jygbU0LdVINE4NNDOueNsd86jn5HPqPZtXl6VK4Kb9jtuQpvVy/hm6ceo6XacRY9jE/E2ArfnmOlmCRigZbJqvZY5NRnrmnd3jqDVZckREB005dSxJ7ZPntw7+2JNA7R3pkv/2OHN6b1euuu9Rh0sRi2Q0lkHYWwTRXB7YxuD6wOpAy9FKAVH79/eOWDAFZWtRSCpR+3qHkI+tnt5RqkNUXe6lHJpJpvfJzsEgDjh0tI3m0F333dBeKPgELGAPoqS9c/1ZRsj272/d/70JxB0EQedjcY66O2xICt1NivRF7fXmd+DAH7GgF+44YtfeAqDBg26ZOhctsOgZ5l++aX7X2SGNxpFC6zM3lAKrnY8GowFGtDD+nl5k9xR13tiRGQb7Hk6DiUE8oGgOhkszvIEw0I802ow1aNw/Joq0NWhG4Rm2aw/eYFlZR5Bh2izGl4b3RhHnS76wcTjBst9gL3jzXcdeRiDBg26LOn2Gw/9YwB/P+sTdFbcSUFdW5MbUy+ttQbzTfpK+tOX3dWAjwF0+XpnsJarvPS+ho77fgBLPDNZQxrWmYyFjY+X2S/BUKCqZXv5fM/5+fjIoHxdYuReFlFw//bOPV8/efpAJkfUV3Tg9yH3bWzxtgL05U38vaKtkMzh4QCVHUnR4dKcKix/1paB6NRwibxdndjd+8hjp3Z/LI7n+fgcQu+RgdMIwDlvWCJo0Q5ym4W/NS7beeoSySlPdCJom1Pnm/JQBwPPxutkiS4tZPAf5CJ98aRL/faSaAGQ/CGCQb4NjrDwstT+4nekE0QAtldmHMoJrgAAIABJREFUvwTgfTd84fN/oQ8HDRp08dHS2DvoAtK/etmrVgXlgJnV5QNl2mfgle24mdYxZyGPCtgB9bzTwDndiIPfhrBNdRCE3X0LusF8ySDVKICWJ9aFd+jVquoRXXzMXzOg+qMTg9EA2qmXZGd5s30G3BgXI/ceA975w3cd+RoGDRp0WdLtNx76J6WU/x1IjeEARkt2n7PUPjPmMuqX/OmUfAa8SV+VbSzHM9sN+HNZOWBcqlM4ShURCDEQmWaqm5Mkhrr3ebuCCET5jDxvHuv8PDItm6XvZ09nPSXlMuh3oLaoC4sOHTNg+8zenXc9uX2z8megGx0v/Uy1p/cN2xJ1UDpHcWgJF+qos83eBg2zPYEGvJecMi4Xj9EtfdybwWBnHzl56q7T6/XrW20J6NaxfLrTgXAay7081hKvb5/GcE4r6YraSHH9vMsWQW/Th4PsOuEx32uAvZ/Nd311Dorke2O7y2Xm2rK+Cj1ZWgLQ5G933E5hBwCnbW3Hat0LfQcxfeMZeEw3zxrw7wz4Z6/7wuc/jUGDBl20dB7D/qCLhX715a96CeqGg5NzAPPxhEA0NHggZyMoDlBkQJgMYDLgOh82ANiQWzK01AEQjaLo+YbIGY2KNugCMfTO+WaDsIL/VndUw5s98ywk81IPe9RpHJoLcBeAd735riOPYNCgQZcl3X7jofcY8L/wvQxABcA/P+QTR7jfZAM/pwautf8K5ZE8a8g67yBty7VpnT7n5Tpy3Xjn9GyZmvMAcj0BTR8qRLb+fElO5lVlp3FFd87vHdSRY3SeJOMIgLPr8sAXHnvqlWWOwFZHDDsWEMrsZ6WZb5++XespOf14lujK+vfk+dkRzmWn0QTdWG8VSPqafKA8+NXjO98PwwsbzwiqUeXADJibzdDGeLcFWp6wlG+utBmP6/3Mvcsa18u3/ZDUbtBq97PrVP85vc68p7JSPpP7fm/TnkUAzfwn8oF4cBuIThdEHtbejT9zThyBke+JEPXgv1dmHwNwmwG//5rPf26NQYMGXVS0ydIYdAnQr7/8uisBHARwC4DDK/OlBPYSfbnRky0A22JjyAYF5lPTzL94QA+e+IVIAp7x4sGdZaw7GyczE0FWMjh11iBr4kv7ANRIA5KD69PPUoheEEL7jgF41w8fO/L1ToBBgwZdFnT7jYd+GsDf477CDWagB2G1fwtgTXu3SI1H3lcvztjSM52lZcdD+xuXcTlQ7vp/qRPfrxsNioB87JlxhoQRg9gM9KszoTpFSu70zvYBYJ4BJFXe53/033pdTh17cntnZ+/s9wdnCP32pR4dcE94qjzsOGDAioJufOT8ATwuKdQaVM02vfPf2asK4//8q7bF+cbps+tPPHLy1I94Kg2dd8n1tCMeazmSj/W0BEa7pYi1DUenAMugutfya2QDTzjQOw5OBWt8/V4XhUjlZRsP+3GXGkFQy0omW/wb21fbfpQptAvSN8vA/GAbdEw2X5vAIf3O5c91vm9leC+AX3n15z53EoMGDbooaHmEG3RJ02++4rprMUUJ3GJWjyk8IE7balC2ax8s+jVwajBmg2oK0n1gSPk0A8AZRK9/CQCfZedBN9sDAFWuONj1wL3pwQf2sFPzggOCZ9ayUw7McATAu37o2JFHMWjQoMuSbr/x0M8Z8HczkAREMMVAkJ2N8y/EXoaco95fzr85RFyxHcuhwGxprf8mkMwptQ8M5WQF18tlN0d3r1dDe0QFxaUNm40ZBXgbRA0O8iVeDP4emNf9Z7PNXGpbNtfGvN4J078Dl0n3CmBHADtNQh2kwg5u1cGxNMYD3HabI6m1YuJBgJAB6uOnznzm+O7em/vj6Lw9xuUOAYxW4NnPTntabo9LJySZ6FxPYvCx35uXRje6zt0J0HhnkQKcegLkTaYm/JLt4EswV6IH12lwQmBaAsP5o9xxcsb5d+mK6NJi+gz81+eSob3fjt83Afy8AT9z3ec+N6IjBw26wLRpzBx0mdFvX/vqqwHcPJ1CUG7BFCnwRhhexIYjDwhMPHCrlcYDZUyvZtBEOkiuiF0cyOKRhc4HlY8MPEm9dWALRlbwpFtaB+bD93iQrcy8Vu3WnSvDu249duSxRLRBgwZd4nT7jYcMwC8Y8HeAHIgDsV+dHJYIJwBsWsM+bWQ2wy8HWoX6aylPy/e+zR2l84713Wyn0iYDwfiH1MPLZGcD31dgysI6mPW0LeeUhje/PR8DZglQ6z19B9lv5lUKsL27d+fdT27frE5rEE8EPr3MOiZ1z+N4Un/HEbh/9zV5ALB+v997IDgN0DsjmmxJvg3jZinliQe3T+2dRXmpz15na/LbGJ0AVLIVoh0Sx3d1buhafy9LZdTZct4AEog67JcflCAHy6vgmyMA6sz5nLc/eSjO9vOEBJDve9D0wBoUUC7fQ7bJMds1fI+/lerEYQWhRWxwmZL/jMF+wwy37d/auhODBg26IHQ+4+egy5h+55WvMQNejXYKwS0rs8MF5dUAzKSJxMGzmRmZJzxsCDVbE7p2v80pRIOyGzTJ6PWHPa9+gyo+bocNcxU2G9jWlN6WygiGK2mFB0fYF4Hy7luPHXkcgwYNuuzoUzceMgN+qQB/m++HvkZRJ0U7UeoAYJay8g9OE/u//Gz74LiVfnDT5q/+e033KniVDBnY1N9dXdgBkDgFNCHPqHP5CrI3gtP5LwO+bM1/QekcJXtny/1ffPyp/es4PETwXeXMja0l2SKYpxctjLqyKI2OyLrEw9teiU2kcwCoU8fTVAeBOm4Sx8HZdfncQydOvYnbu0sSgSWNo0ldPF0W7t/aZJ7WS2jAtKWv+kCvO6s8LIztnpfBcyuz1SHaHnG5AcvLRwh6Xj6piR02qsdQvuVRE64Vb8uslpXqHNF2CptHezrPNzcELYuXbfT7JlQ9/AmA2/Zvbf0JBg0a9JxSNiYNGoTffeVrXgTgjX4SQZn2GLh5ZbgaaIakGzdAH5IK9AO0erjVTPHBeRqM4x4Fcba+8ecBOID8KpcbcbGMVmabZ0pD+aUeTDqLV/Pw4DyV/QUD3n3rsSPfxKBBgy47+tSNh1YA/iWA/9HvdZhN+i8gA5yly210WaA82g0GUryGP/Z9feg50IN/BhuZVLyxoM+8qnAM3BrAjkAlNUJC/xnXwbNMgKUgtrKhZwrSFWRnzhIHS8yjFKCUsnPsieOnTq3X39/qWehX75g4H5kaLxFSdJK1AXUA8Wx4Gl1yHrJFyCmytdupIyOIbobjZ3Y//vip3be3meNlMBxthLZBoW46x5MD9R4D+tAOi0wWtMK1PM/jtgLLp3rrlyE0PfFpBbrf0qboRQX03uBXJKw/TzcMLHR/vtYjAFle1keMslAHTeNpIa0FfvwW4zGOuQ4B3AHgPQB+Y//W1pn+8aBBg55pSsfeQYMy+r0ffO0+M9yA+WhCwA4D5RbArl0E5nTNA4bf4zzTPQjQj1ZPZjApr/5+c1SoAeFmmpYb5FyQtV7LgMf14HWTBeVzBvvxW4/d+QQGDRp02dHsBPhVM/x3vBFg+MEhvbOhziHZDXAzzFVA1VhyVJSDoh7MRiDPfVq2CeBSXpWFIwAKWr/X5FmQX5lnFEBGPFGgd5H0oLh3NkeHR5AjFNsDZnUEPHhi595v7Jy+QfPF98YOgSiLnsrDOVa1cUQhszpyXn4HvvwChlAPB2h8mo+u9+/1k4x9VKklIzKp2+mvnzz98Jn1+jU6k8xtS+MOdYM9XxKTReVV0Mp6MU/Tl8l7KGh5QS4HrwKgVT5PWx1d8l36c3fWcJQky4qkrMpDdO71iLKSbmp5TSudI4XtM7JnlurfnQAgOtDTEExk3rDs6GsA/jmAn9+/tTUmSwYNehZp8SscNOh86ff3v+4lAA7bvNng/P8hM7sSQLAqdOMbJ9O/OriQsdGf6zsNKLwR4CoxcrpNAsXAnKgP9QyDbeK9zjZVYq+38Nkysx9/09E7n8SgQYMuO/rUjYf2GfAbAP4WAMDarGqNkqozdApf5wzgvqldMMh2h2blwH0k+j4VFdi2/ndpszeQRDyrrGShbr05Edb9d89ijYMcUg92Alj4TbWbZeG6KwhcAt5p3QiArUsra3t37457ntp+A9CWDrBMnlflymbJVR/tnfVCZjJ3Tg6a+c1kYcqc4dnY6hwY0HKerC41DY2XpRSsgfse2N65bgVc6UC0d2DEcHqeDFAg6fcryNVZdYttT2eua+2syRAcCwSGmS+nB1q4fFgqQOWx/EohVJ9kjnWnf+leK4ccCIXu0fXKLLNHOgdJk9tC2+V6bNxHwTJeLW+2n0ZCJwD8CoD37t/a+tLGlIMGDfq2aPMnOGjQt0l/8KrXXQXgoC8hsHmPAQAvAWJoXmcAQA2NNtqEASekj550DWPjPJnl4gZcVkY2K9aesXOhuRLIZxHqMbP6LICfeNPRO59aUN+gQYMuYbr9xkNXrIDfAvDfhAcE0nRHd/89UXRLej4HYbyTOecA+v4rFH8Oq5uKSoBSMttuzQFgJIjXLztbvgPdDjLoOqazNH/72x+vBuQOWD49oaZTeWr6nufu2fX9d37z+P41iukRfa2UJp+GP59LFy1yzjqhNjliXE4d6zY6OBYexBY43cmA92JebhTwttDyn9w7+/FHd06/PZtpz5zvXK9uLbmAZ76n0QV+pRsO1nclifeZ1bFd9+UIvM3CxAbv4K8ge2nPgr7+vXOLlyQU4cHgni0RC/mbDiaQHvsDfb/7Vha+oWojVf3MJyHJpEiMEMg3eDyftjTTGsD/h2mfgI+ff7ZBgwadi76F73DQoO+c/uN1178Ss0PAzDxa4IDRaTIGyMDTrKds9kY3NrJ6n2faWo662Y61QS3sNTAn5Y2GPDzW//Y79vYy8NfFA/Vct08D+Mk3Hb3z6W9TlYMGDbqI6VM3HroSwO+Y4W8ug0AegiOE70DubPmHVNRf9bN7yqH1l+00gOWwfwfLLHPXv80X2l/rviyLm//1Yrbbs3zT75aQncY6A36uY/W6sl3exBnj106llJ2jTxw/dbqu+4/cMnmmfDkYZZ3qUjcVUse2Lj9VcumIP4+IY9mYN8DLK4rowjqHk5KOy0AcO6mc8o2d03ee2jv7hmwDvDgDT4A5GU95LOb00++5sBnEr0TFfPxf5WlNDwCDWavPw5F4An51Nt+dQDybDnPnQvz2siUBHHVh9bkcLUhp+b5XJjqhTPjFNs7tQ50uXV7Quyanix4ZmPHIvsvzoE8BuA3Av9u/tXX2W849aNCgQN/6Jzho0DNMf/Tq669ewd4wRwgcXhkOF+CNBrxIveBKbVCMO/GqoaIDagx1JFOuGgDRJmVDhJcatIGyBKOiEhn+PnhP8gAAbgfwV245eufxb0lhgwYNuiTo0zceugqG30XB30gR0vy7D2mn+Vc3mImv92MLeHHKh37GOOtP1TnB+TpQO//Dm+4xH90MMJvx2+hM0AqEvDbnn2bdeU2+82UQotEJ6hQw0UfjEyMKPPz/oRM7935j58wNXn6rRz8DqpEGGkatxE5ud/ZsMs7qyTqRSbc/QleOgOjeGdVaADtaNC8g7aJGLsSEtQw5Zq6U8siD26deWAzfy2OsyuxtgzcB9PfG4zjLkjkB9H5mN9TyoCH9sZ7sbHM+/Jt5+Wx9cCj4M+LpOthn/B25U6BJ4OXqEYDR1iGbhfTDOsjqW+tH91mHXl4f3SD6m/sz3pwzLPX41qMAlL4C4KcA/NL+ra3tb5/NoEHPb/oOvsFBg549+pPX3GAAXo3p9IHDhjlawPAaHzzDMYOUt59NaLM7bOKwR57D+wDQwB1paeNCv1vvmw6iFs7gJmPwEwD+6i1H7xwD2aBBlyF96sZD3wXg9wz460ug1snBJdD3M82Ij/e8T4vAtoUB+6/IO86h59EJfdna72Euo5tBL7GvXCOGUGcz+ISB49/SQEe2MWIFlVBtNjnzte1c1/YwiwB4+szunV96+uTN/HyVltYDZapeXya1h8JKruNSzM/OaHZEs+wKo7P9aJif14X3MvB6TOAd3bvp6iTTutwGl3SwV9afefjE6TdH8Ejr/4nlitpodZYJ8HVnvC89ic6OfOM7ltWZsROF9wDg+qfHEM7y7qPJAdffqn0soUw+as/FC/foG2t1jO8iRCaGYuKMvdoezdbpbR8vkXWYbqLocsh74zrH9Na16++AngTwLwD89P6trYeeGZaDBj1/6Bn6DgcNem7oT1974EUGvLEAt9gcMWBmN5dSrubj/jLgHs/IlsFVjAN3DOimhd0SABmggRIG8CZPNJ9kIP+YGf764SPDCTBo0OVIn7rx0Hcb8Ptm+Ml1if3Gps3aoqHf+q+KtWiGbY0cMLp5nx0J12bJMzCZg75ORpKjRSZsPnpuMQoAMUETSXN6GQvAtNarw6aBm1IDY00/u2fXX73zm8dfVVAS6NLXEeg3UuRyM2dDOgaRnKyGvi55u+nuUd7Gl0L+5wZWjzBcAGr9m4jjI0fbbZLLzPDE6TOf3j6z9xYGkS6rK4CBJ4PWEPVnvR7c8eH782j7VieBl6FAt8lula/XJVtDny1b0PfL9klML3pMwDPn1/IjaG/LFkzK8fqpw4QdQvq9qBOiPkvrO6UXv8c5I1u+TdoF8NuY9gn4/DPPftCgy5OehW9x0KDnlj7w2gP7VmY3YHII3AJ3DADXTmF18ZgtIBqqQG9o+72MwkBqzWGQDfbRIG+lc9TCbKh8dHYCnPg21TBo0KCLmD5146GrDfgPZnh3A8ChR+rydIBZQTIBgm7mHArEtYyWsq2374GfOlTXcg3q9xzQ8rrpLHpgI3CnZ843049qLgP9/tvTZxEODHp09n9d1ifvfnL7zOmz5fvWKCEUncP8dUkEh6ZnfCvw5woncqnTOtTf4kaL/fPIk/UaZYpvZumEHqVsb5z0nSZyNX2V7YdPnN5el/Jy5+lpWtudKADlDIzOeWod67cx62nOvxL9O3Dm8p3CBnYEklf1eVxyoY6IlUVZEdJGQN7qSBEmwY6wXqaUx3RHT1jIvm2XQ79BdwzxHiAc8eJ7DYTZ/1C/KVf3zqT8Z4H+DNM+AX+0f2sr80ENGjRopuEAGHTZ0oded+NLABxemR0uKLcY7LABB2GYjydEMBoAdF+EGgdtMPR7aqg2xwBotoVDN/tZmMrjwyuz//yNR+44+UzUf9CgQRcXffrGQy+A4Q8NeAcYiNC/gABYsMMS7ag7QooKcnsQNhn/fJxdBvayzQq9D+xm7c1BcjtacF1KAEHqeIXwIQFrPcLRhBDAPP+ru7Kz3rwefC+Tn/MqwHHZH9zeufexU7s3cNosokD5Ag1oVt5zgsJ6Fz7sFEbJHT9hH4cgby8j6yDml1GL9JYtlajvPNycCombNfbv2hB1phvzrguOPLi9c8jmmz0gj8fGVTAJGkdnARmQ7zPRiQN4qiODUp/9Vz0Cy1EBXl7bfK9fjx/uWl+/DJDrGv9Q104/5JCzKEEP+GUphKbn8pL82fp/bwP1fq2jVR3wN5A0r2eDjgF4D4Bf3b+1dfq5KXLQoEuLnqNvcdCgi4M+cv1NVxXg4GqOEoDViIFr9AhBIA50vN+Ap1sKxYM/T4zEbKaE7IcPGuy/eOORO3aeifoOGjTo4qJP33TohQD+E4Af9XuGGUQFg7z1EHVDLQKGNFm4CEoDf0SgzpvoMXBWZ4IDFp/5D0CQwevMK1uXznJsNDoSdO69ZXfSgIjQg8xl9qxhqUblf3x37457n9p+AzsassgC5d/dc30n6IflyWbOw+7+G0A2QG0EvQ68BrwPRNd+ECMX/L0vyQcBg0DMF65jRjiod0fO9u7eJ544vfsjwrrK2sL5G5e42V+M8tMoPp3RZj1ypIUDYgtl5HrPjjHkiIIYxdDAby1TwTTlcR1wJI1GEKhMXB5HqmAub19SHiw6Pfj7AmQDQW8zaPWA6MCjD6Keoh6W+qhnib4B4GcB/Nz+ra3HntOSBw26yGk4AAYNAvCxGw7W4wlh8186nhCIxhjQZhjq8/lfNT7a8xaCtylk02AfMOC/fMNwAgwadFnSZ2469L2l4I/N8DbAQ6iBCP8XjrzrceTizD04H9oMaHsyp7Vuc9INfGI54HSzsa8b1GU8iuRjMOp18uu4lMGTelRABBebADqTb3zHMjr/s+vy1Tu++dSrCmB62kBNb0h1xqCzeyHuoFiQicGcO3rCCTRU5+XxYz7yz1o9m74ar+DIFmZTWbIEQRTqz7KxjMtox03mNZ5v731j5/RfnD67vj628Rz8hvX4BJT9uetDebgTgR36COkbj5A/+eZ0+YDu/RNn7K37bnnCwXf/V57+o18OEJ0AerQxYALexVmA5vBYcgBkDoe2jCLqgdNlmwrW+wWdHp4j2gHwrwG8Z//W1j3PffGDBl18dAG+w0GDLg36xIGDLzDgZjPzPQXq8YSeRgfNzqidqQ2YanDMzy0auAa8H8B/9YYjd5x6pus1aNCgC0+fvunQiwz2fgBv4fsN/E3WMoM1TVcEUFbQhbjuHB0nAoMEuBto/P/Ze/dgS6+rPvC3TvuBMdgDBuNYfSR3tyTLwkL2BRNCHpUilRqoKRJsTKgZiqGYJJVMQjGEmswEyDsDoSb4AY6HMPaQYAKYsbFli4cxNq8wacUyh9jdeli21NgtyTbGtqR+3+4+e/74vrXXb6299rndsqTbj71UrXvO9+3HWms/zvqtvfberXMzA/wGDlFDsPnE/97e8BQ0ZgC58tSe49JkF3RX/ncC6qyrUsrJjzxy/Ozp8+vn9mpjZ0sWNVFBb0BtVWfFP7My520DIZIhruymgDtpR98f4HRoK96kp07ZIJl45T/2C45CYJ6m9PaF+2ttk1I+8eCJ019VgGcCenaP15GuJmfgdKrPt5iWsQmUaxnRgVDlQb4FIIJddiBwfu4DHDGoER0VVJMTgMtUXtWmYJ01TgfiKZbB4J2jHTQd9weWIzvHgFZFUK94dPaOpff6lO4YfYqoAPhVTAcG/t6ucTFo0CVAwwEwaNBF0B0vvlkA7BM7aFAjBvY5cA9bWWHjl3/cW+PGDlOa6TcF+Ou33HVo7GEbNOgKpDtv+urnAng/gK+N7zLQDRD47ACtmD+GFAMTEOTVz51W/zm/AhFdoY7P42o9z38OYIbKKn9zQnUExBXsBsRSMZLI1uqDn03f9Ao8AHjw+KmPffb02et9tITxqGWtSWcKJjlMP5M96rR+D8xt2iihBxAyuPN54nq/vdPfJHVccLg/81NUBncgQ3tmhJOBatfQ+R02fDR1bp8/f8enT21/QwSOHD3HkRUiBmTVQQLSS7anX3+Ho8zad/U7O3ni/vU0P4yXrC5uf7d9gfJWWUPB2daGTYcI1qiVqrPWMaB1so7iuGGdcwSF15uPWsgcGJnclwD9IaYDA9+2XK3O7TYzgwY91XRJjcZBgy5XuvOmm587RwfcKpBbC3CrCF4K4Fl2uJSt6TU/ovQhrHL9BoBXDifAoEFXJt15081fBsj7gfJyBuxMDfjW5/PfTeDSrbbOBngpBosY6Ezv2pDwXgQCo9t4Varl9YC98jk/KOE7gzuTw1aD+VaDdIsE4MBKjI7YZPQc2z536P7HTt5i+pqe64n/fluCAc/pmTQOAKevKD/xma32A+z82JxfP8f6jC9rr4rngy4Y+AusHfmQR03HN0GoU0HJ+AlgslNnfPm509sfOn72/K2qCwbjljzsR0+iTCJ45ao4HH1R9eIBNdcfnUoxnJ6fR0Cv/AKtwyVeGVj3/Ed+yQERwbqCb2sHP67tXZY+l1mJDzFUHUR5+bvVX9xqvztgM7TlJUCfAPBTAN60XK0e221mBg16qugSG4eDBl059Icv+eo9BbgRBbcuBLcWvZGglBc2xob+r7Q/qhD8mgCveunhQ9tPqQCDBg16SujOm25+HiC/LcDX8KJzA/DK5lVcW32PYNFABQPO+ckFAVaRGQjDh7lnVgQDV6slCeGX+tJVqvhs5jyUwRnn+ghA17QBGAv81X1W5vTu/Lp8/PDnjl3LhXNe1nekGOrPWx+iuE1EgIL+cJr6OtNXhy/vXvFyZdsQ8nRU+KzMTaA9gm2g3VcPoJ4HEfuTc/ywTkr57IMnTj8NwHP1ZXP4X3QQEXCV+t1W71NATemsHNO3bsurdbKeOsA3/p7bd6vPePRlcji/d9ZIUl7/zAF1isUbCDatxktIuyA+C6atFHqDCJ+hEKMKoh5qOUmbXYL0GIA3A/jJ5Wr1id1mZtCgJ5su7eE4aNAVSKuXfPVXiMjLgHrY4K0ieIlAnp7t0QQAAW4H8OrhBBg06MqkO2+6+SsA+R0AL9XVtibMv0Tg2Cd2BuiTCherA6A0QIIB4ZpyIr4nRKd30sf99Lry14Be0PxGMuqzCGgFshEQqz6A1hHQ6qWVBQUn7n3k+Lnt9fq5nJadJXE1VPPHA9qi44P1ymcr1Gth50bNtodx/ujciJEbmttFi4RCUtmpTmsXcYqMZ0LEsqSpLA//l8jwXKl3MAjOrs//0SdPbr9cy9kE1COY1noi0FfqHajXD11vATiQX4nn2ooiOjivOs6io8TttaeCuc9HPTTnFgittjsngj90MB4KaNEAfuW+6ot0onODewjvNFBJonPyEncAKJ0D8HZM5wR8cLeZGTToyaLLYzgOGnSF03+9+aXPmJ0AzjEA4HkUsvkugXzHSw9/+Owusjpo0KAnie686ebnA/K7AF4SMVXFThzGTSjOndhe/2+wjVftNSwc8GHyWg4D/wzULoSvEiyWuOabwW0AOhmwjSvM9b3Ne8RL36HQREt06tLvDEwePH7qY396evv6WL+g3etfQ/7hw/+53EYW/luB2c5nJZizwPLX7QgqU7GVV6OS8rSTA6C9wtH3gZ7BKDN45NP4Yx1ORvHPpr/athO3j22f+8Cj22e/noE+jzLhAAAgAElEQVRjPFzOnFG2VYC3UmiKuOWOy9TV8iyCoHIWgDdvOdgjxj0D8awuwI9BcwpY/TU7yyysJ9QVeN0u4G5BcDqw+hnU7wntzPp1Dj5wvV4P8RpFTZw5DExDcLJcBvT7mM4JuH25WmVDe9Cgy5Yuo3E4aNDVR4e++pZrRHArgJdNZwuU+xci//jmQx9e75h50KBBlyTdedPNTwPkhUBZFmApkL0FZSmQJYCXArghA4SAB1A7/YBb3gxWeoCUrfBqigz8ObBDK9gxiilb7eQoBmZHoEBlBpT11fSdzwLwALAF/9lp+My3rt4/tn320AO677+CqcBnyFMUYCeKiSCbnzMATs9FCHmyrQ2+HnE5akh2srJOj336Usw5lPBqcm9y1uSRGQquNSKBVZb3Kffk1CdPnv78uXV5oVtJDqv/3P9yJ8BEC9JHFkHA/bYXEs8U9+87J4AD7AaIta7Ke9CBvnNbHmC81VsJZgfAnjrmwv5/x6N3grAOrF6fU9ssbr1wkTBJm/MWgDhHXWIHAF4s3QfgdQB+brlajeuZB10RdFmPyEGDBg0aNOhSog+8+OZFAV4AYK8ASwiWpWApgiUw/ZPp/Z4cmvLTGb53AaAHOwXFgBJBSgMNOZjUQwHjymwvTLxyRkCJ9wTzKnnDNwHCROAKEmu58zd/G0BbegtuTTfsHGAQc35d/viuzx97UasRz5qV2V7vl+olfhfTEWfItkgYQCPZwqq2OnVcBMHMC59zsHHVvvKW9bseQPX8cA5ewc/C0AusHfLbB1pOC8p9Dx4/fb3MZ+vVfi1ex6xLHx3Qhs9rfqV6tWCQ0d7PWqexw1f3Rd4Jc3f5zbcwlLScZmsB8WT5VV8mS+QV4BsHwrWa5ABI9cXlOQajXF4XPvJCqJ7Llv4UwE8DeONytfr0bjMzaNAXQpf5WBw0aNCgQYOeOrrjxTd/JQzILwt9np+/UICnp7+uhQGhUkxo0EiN87iCqsmyUPc12Cg3gMYrh+6U/hL58Su+DSgtASQSuO1dExd5dF9C6IEPV24haQTa6UqytBEBMS9KOXHvIyfOn12vnxP31GdSMLDh0P8oQtSjfnd7/uFBZ39l3YC+L9/zEsOz+Qq4jPjGhrjyr39btxTMATLzpdtAOE/zV9pyopOqOjJIIZrv5Nnzd3zuzPY36FaMRZBV+YrAlf8fHT8RlLPjKpYfATCDeP3uDvCrPPiOxxEU7gA+x7fUsRejEGL/zK/so7B8x6/MumN+QsRHEn3AbeR0QoNU5dX0GiXDz7IrCy9zOgPgPwJ47XK1unu3mRk06PHQFTQeBw0aNGjQoMdPd7z45i8rpdSV+oXIHKKP5Xp6vldEnhnzqeHPgJlXAoELWcU12KTh5U0IuSh4tYec08rz3DFI7AFjrkvPAciBcACsrhwPcvlZBIbKQ3uy/qwf4tNC/wtYg82KKVr5IsjWvw8eP/Wxz54+ez0QrrGDhV03stNSa9VlBIZBJ7qKq2clLGQ60LC3+p+1kQO7CFcfSlNdSJ84S2okw8wb8x7yMx+A9mNrxbh3neVQ0O7L9ucouIxUl/bzhWD96VNnPnbm/PrGRVA2r2gzzzVUPvQPpxcCr9xH4Z75vfoS8qJJ3zoA+ApBA+f23cLtDfz7ds2vDdYrBznCpI4PButUBveZ7Gq+bPWezzDo6cHPJW0kUfb8CqEC4D2YDgx8/24zM2jQxdCVNxwHDRo0aNCgQP/fjS/5UoELw6/gHtPnvQCezcYtU3bHe+8HlA1mvkPeFs5sJbVXSgTauqrHNwOY4d4Cdl9q6wToGeMRMHKdFTByDH+D6vUPASACrZwFyovT2wwQA9A0/uxO8nVJq+6u+mva49vnDh05Nu/7T8puQv2dXPnquJMLyUGJQuUHwBnzm2PEdBidHVVvM0McHdLvBwoA8z37WXquU1f9ud9G0B/PXoh6iTrogX8Gm+tSHn74xOkvL8AXOeALG4+xv9bQ/ghek/S9LQDxCkEgWXmH16eE+jVR5FlcfuIhDPz0GkN6sKjfLZOddzA9bxwWCI4o4jVeAbipfk3DByHWdEI6r3Vc0fQhTAcGvnW5Wo2Dmgdd8nSFj8dBgwYNGnSl03++8SXPWhcP7Bfz3ntMwH4pgnrFWwZMmLJ7rvnk7nXnnvdYNpNbZa4giVfsfRwAF+RDddsV4mzVdw0K+Z1L5vVzvQlgUyQAs5E9iyfZo9YS4UCb18lZ5QnOBfhQ5UjRsTKVsbm+s+ty5J7PH9vX5ac+96f8x5PbYx1ZdIM5MRpc50iBaK88cW98+SBnQAzFZmKHRCZvrKF1FHmutF3iqjV3Vi4/0y+ni44tBswFwPb59Z2fObX9Ci6XwTQ7Iex75/C7Yuma/fAk/4LS1jKoDyxIN6x/i+6wOUTlcYcHKj8BvDNlMqgc/oBFK1d1VOcVyq/V1W0LNa13EjJ47zlRVC4EuX19We+9oukhAG8A8DPL1eqR3WZm0KAeXSXjcdCgQYMGXY70Bzfc9AwAe4vbZy97Qav5AJ4XQQDgwogdiPbgOCfeJ50dlJYBRwbo7eo9rwRPqRn8u7phgMqt9Gp5BGBS3gkCMtB3B/XNyuH9y6yjqsv5AQM0xoR2sFsLpDIQ656Jr5dXgj2gj5KaK6OyMn/RqAAPBPVdOXHfIyfOb6/Xz/Fw1oMbuyrRdBj1w5wwuNPoBc3QA0BaFodmx/vX1WXDYeQ9gM3EvLpIBErD10Yyb/0w7fz+eiY+3K8L+DMmJabN6ZHts//1+NnzLxP49orpIxDXZxEouzZHCXvXJwYdAGaQrWXM/ZPnE13Rj3VrH9HPewQhYkJCufSsA8LtvIC2Pn1atxck9fiyxeVvIlao3EXQBcTrOzoyLvNbAB4PnQDwswBev1ytHthtZgYNinTVjchBgwYNGnRp0H+64aanAXgh5tV7CCKwXwrwfLORpa5grUF7mIshCQc+gtEMEDBCDuhAZW461K4HciNg9ivBtLOcnmmJTah3p1JBXJ319fNKP+Wosgn8/uysmqgbBu0x/Lzlr3/HvatHwkr1nEidCLxXPiarzovgNKg4mSIDFIw8ePzU/Z87c/YAgxsvt/AXtw0gRluIz5hePaekK7WFPreRCtY/hJ5wnVyf/sn1GpTgs4V6owPEZ/XRHXkbctmpU6VjakYdtH04vC/l0U+dPHNuPTv84jjdI3wLgl85j04eBtm63aJdaRfn1HB5mV/SU3bQYOwzm84V6AF9gT/Ek/PXWwREaAxh5idxkHC588u4es91unyBr6a8Wi+Vk/BwFdF5ALdhOifg4G4zM2iQ0lU8JgcNGjRo0JNFv3/9TXod3nIxr+CX6TPvvX8BBHsa1EAWd/6YwVF7J3sHl86gMgG1+j0AimwFmIEOQjnsVMj36/tD+rzbIuEpJORV7oX4K99YZivDRxnwSnIvsqEnk4KctRPK0vIqqlLrfrDvaSFzJh8WPYHwdXUotKv/rBtmjyM/dN+/OgQygAmYzuLp+BnwNwA4X8FY/ApvIpoDeVnd6gTg+99Vvh1P94fXub2wffOpA4PK19XkHgiP9VQdF/2+wbESwK32L8re6Grizfg5vy6HP3ny9EsrX5KHnmu92TPVIY+xeHI9c+5AcVh5n/oLOwJM3sxp1ALl1hmgc0VtA+Y38GD9wVrMnwEQbgSon+3MAc25h6KFohzcD2IUhfKo20IWlP4KPfzv8dJBAD8B4LblarXebWYGXd00huWgQYMGDbpo+r3rX/z8dZnuuhfBEpB4sN4LC/B0IAfc1eBX4DEnqCAkoA8PDMKBWfROgXFr+FtSLVrDoyvYDSts6yQKIP5oRpAUQZgax9AVadhn1giHz+tnt+IeKm4AnFdFlQ0wUBujAniFPOosAsUI+6NsCsQ0n67e7wj8QXrRiighn5avZayDrhioxUPo1gVYl3Lk3keO7VsXA9YOZBNSi6CNP1cQTnx7x9PmvlJlpVVqL0Hh1mnqSMsLutFMMVw/OqgM2PoDKbn/x4gU5ScZnsRPe8p/5qRDwk9G2bkbj22f+8Bj22e/Xt/H8H2tW2UUTUdlMJjmscfy8RkAbo6AdwBEyk7QB2aATfJyG1j5qhtx4FyLWTD/oS+ZTF6f8ZpC/m79yudXHmJEgMwJ4pyXXcUY27/Xxlch3Q/g9QD+/XK1OrHbzAy6OmmMx0GDBg0a5Oh3Drz4y9C5534G+HsBPJNBbNwL7iGNN7qbFW6iFNAkoEK4MM4v/tEmoMxFxEPSgHaVPJYRjfPIkhn4nhu/999zE59UkD0XnDkEPA+mq3ruAAwAaan+gEMCvgR4Mpmh/MxFcah4PcCvBJDBfEblkeJcWnKY+K0E/jYDtxKdOEpKKcfve+TEenu9fo6WIeT40RXhOa37nu2Tdzpw7zaf8K88ctSGB4MBadHLRoddnkwJ9Tn1YU5rulDZPRjl+nSlmZrXObV62ynYudLlGU03cCv+3iFR021/+uTpT5+btg65vBkYNlnFAXo+dDKC3QUp3srmGcnzWvNJ1GBysJ/EMwP8/Gj9z/dFTduUW+z5tBLPBflzPuKVhNoHumcNzJ84iqBGSOl3+HMG+BYEd37FoEifB/DvALxhuVp9creZGXR10RiVgwYNGnQV0fv33/ilAJYiEvfa6+e9AJ4N9H8gWpCVgwcgX0l1ZXW/eGChIIlXf9U+LmVeca6rhQSyCGzG1axJlgkENMAqGPubVirZmAanZVAaQG/rWMjcHsFZQqC45wwA2DD3Ww5QgXMe2VDBNPoAzZ25UI39VisRbDp9JJILojxt1ELcj57dAqD1KA8PHT/9wOfObO/3fNBWj9BwHAGQ6YFBWnbGgUjS/4JsreZhQCn0142An+XRyghMFpKD9cx6KgweNU8p2CNSt8u45g3OIg75d9snQv/M+hbLYPprt+FEJ8LM45GHT5xeisjTPACfpMjC//W96qSJCnBtIy1wBxpeoqMrHrTHzp49VDeTW6Gn/Bx5wPV5fvSdry9Lm11hGPsx64DHWw3rnxvVr/h7nbCDJc67g1LaBvBLAF67XK0+vNvMDLo6aAzLQYMGDbpC6P37b3xWAZYLkWUppYL7+ZkesOeuw+NVnDVag5PTuu8BdMVw41hOBlxcIkrcOyTNAACFyAcmsx+1jA8O/5fwOSPmXwFwtsoNBMBPTFi4Ma9sZ+vksFVP0o+CXkvVAqjKV2E90X308CA+3gKwySho5KLPWk8pPtS55nXSUVn6Gd6xoLrhdm5Dy325fO6CCHBs+9yhjx87eQvLHPejNwXtUCbXn8qFlrIu5eogZ4c6EDLwGvP6Omj8Jec7cDr/vlA6X3IFq8QLn0Pgx5Uk/c2Dfy0j67NK8baCXn8UAKfPnf/AZ89MWwGmvDauPJgm/ubV9zWmflrf09zD5zjE6xnZwaL9FiBQzwBawrv5Wbb6z3WozvhsA563eC7T97X1BMSfNE4nS0MRD8X4iDprIgKoX+ktBrW8+Xk8CJHzD9qRfgvTgYG/uduMDLqyaYzJQYMGDboM6H37b3wG4E/JL3TAHqZV/OfFfPE6sx5FgLzTj0OzWltBhUFbwEAo6vekLipLTXJe/c0OJ4ulkS3eLNuy2LH++GySzUvPdfJnBRKxHAkJfXHZDQO2USJdzS6B707jRK498Le2mULR7aq7LEzblcQ8VJ1S2DeBgKijhjfXbyyvL8O0LS5JaG/09XJuvX7g3s8fryv/2aq/L3tz3xeSr3kH3z80PTsOhFLHgyDdTQdJv4n6lNBJNAIgclfBJJWnK/56RgBv0XFp5gIaZ5xzTiR8k6wxb+Qvc8QlanD5eBtFKSifPb39kdPn1zcp3xZ63h6Qyfvqs/oACpGPwHd+KFwezUn8jJ0hLL+WHSMAtG/xvJEC8rjSXvNTS1T5pOorrSfLS/X1DlbUz+m2gqStR/j/46bDAF4L4BeWq9X2bjMz6MqjMTIHDRo0aJfpt/bf6K/Dmw7W21uKHrCHJYDnA5B4yBkDF8Dv+2aK4a7N6mnyzOVP+G7DdD0M6QEqB94IZDigQyAzwn41We1k+NZQLbUMqmuDTApGWHds5K47ussoyudlYc3YZwUtoDwKztyNAtLmzmXyzgT+zKfj86n4Kf8b5PWgYwaTxQOrli//sMoSVout3rmPcVt3eNJq1+ty/P5HT5Qz6/WXTs+lZojXqMXxA/ibD0A8MPEhe3HcMHBrw/49924MiukCksgX+OXVbAllcZ7ogGLNZv2ogtvSyuFLovFJhTmHG/WvXn3Zqn87QjRt06c/88kTp794DTybHYgGjgkQk061TN4T79u7uHcxbeVVrLZeXVZ+2Osfn9FcEXnS73G7gDtzoqlTXN+LDgBfdiJDUn90mtief5tvuL2jE2TQRdOnALwRwE8vV6vP7jYzg64cGsNy0KBBg55E+s19Nyxkvg4PtIIvkGVBDdN/gUD2xBlZYIZ3BLT1PX1mYoMVaIGPptG8EVT1VjRF3AqcM0L9Su2UOxrBFXjCQIZLUOVsV0pb7qWCZa6AQT+Q74FuQZLXIAO8daK7WB6znzUMA1n7vtmV4FJ0AFbGi0ICDslWGXv7/7WMRpYo15wwRgDEEPS4PaJXdo8JIaG5fwEeBPJK71Q38NCJUw88cubs/qkEC/3Oxot7RuXq99jqvj8GEbTfFbjxonw0jp5EBzsZZb5PtI6M3pwQ54P4vjuX0JjyfUyaTDpfWZ/P+bA5RdK+0qNc34Kz6/Uf/cmpMy/n+UjAum/7gVCB+Wp3AM+wPs58RAdCnBM9APfbB/j8DHMUan2mXxHvnKyRBNJevRmdVlEGSBtxkukrKyNe/2f5O+mDzgd9QXQSwM8BeN1ytfrobjMz6PKnMSYHDRo06Aug97zohucLsIRgLwqWkObU/Bei4OlqeHXvyI6UGNegR/EwLc0S77AHvOEW8+jz+H1NdZgBO/PQABvYlXOihh/X167UZ4fBmcE7fchAIxvGfF971I+CkQiWC/q6c98TsBwN8FguAzAX0eAAcgkgqf8zrEb5emY2niK/KZ86TDiCgvcE81+/Yje1vS+H+bG9/kIJfF15/hTkUaeMEQAxUbZHXbOrU+DY9tlDnzh+6paGH+GSfMlad9opigG33io218/tLuknkrXqLlWH+25y+ivdok6VF+0nArsO0lbak+v9KL+rt+HPQF16SwY5C9jxxnVM8rf5nT7RNoemic6hgoJHt8/90Ymz51/OUTaCGAJv8yDf+hGjCthZ04BiArPu8/w/nqdUD3sSWfUaQeM0AeDSnhegeauekhV5nbu53+pZDm4LgCgvVn9sawPzlYlQn+/jmcNj0BNKawC3Yzon4D/tNjODLl8aY3PQoEGDOvQbL7rhy2XeYy/+jnsF93sXwDOdgZvMqtlE64BJXc0s7h2DhFhOD8jU72R0Xsh1drEcBhKxvuxAOTM2/YrtTqd+8+qrpbE3Hjx4mFIdDQl4i4flbZK7WRUOq8Vxn3wGBJ1csxGcHebWtqcvl41poAWKEaC1+t0EVa1Mpp32aktUGAxY+ggQu6EhA7FN+eL14g+ms/4Eys9OtDhOzpfywH2PHN+/1sP+WJBkHAngT7ovvo87HSXODa676oneVaBOjpdaLzkLMnJnd1DhAqTjOeyNryB5qqsgC7NH9p2Yj6vU3JAxwqHhH77N63aJ4JjkrpXOR009sVHnZ6Wc+JNT2yfPlvVXRkDbO+sihvTXMwPCc54X9HsD3pVXoLlSUChv/Q6/9YHL7O2/zw8MnLSmc+FCWNekgyS/FsL8chtkBw4i8lDHv7/uT8fphUZ3DHpcdCeA1wB4+3K1Or/bzAy6vGiMyUGDBl2V9OvXXT9fh0eAvuj+e6nX4UWDK1v94/e6YsthkAqULJ0BJv6eVZBhmMygill712kxcM+AGZcfYSTXs6jley44dD6jTIc9oTh83fM0G73iQ4i5zJ2Mzp4eGbRl4Il1xOl5xdMLl/HUq13fUEruGonXwq8456VYu1uZ1h88EG0ASfHtX50/ARxuAv9MxlN0hgSeMV35yCfkZ+AQs15KKcc+9uhx2V6XL+kd4si88en27VaWMgPgJMRe+U744LpUJtZhBHRcrn6OVw9yJbHvdecCGliq1QXamxnUWcBlNKC/8tZGDbDQ2Yp9PFOj54QU+HMM2n7LcvnWZLnOl/KRT508/WIGw6Cy9DP/zffUe2cBz3mgtDyaJdaVOP/QlDHXpZp1Y8Hzr/rjdortEa8g9Kvx9o7HKpfJkUCa1pUxF+TS0zixvtPqdtCTSh8H8JMA3rxcrY7tNjODLg8a43LQoEFXHP3addc/q8yr9ZKs3GMC988FPIjwq7xsxkfDiAx6XhFTBoovl987ABOn4Iie5mfVAM1fz+VPn/hE7QvZBqCHiCl4XdNzNoxZFle/W7U1AzNKVwFyhsaCnBF0MeiP7RFP2+bVwqysHvhq5WlXWiP4anQRy0wyeBiifBRa2Q6gEWZY17Ln9/HwPgO3fpWccdfUhlQPvI74e9Sd+yweTKhTINsCgFBeQ5EBGMBqdJrwsxDgwWOnHnj07Ln9McGm9vZlUMQM2tX+6BQzHpGk8w0v/mvDl8ksdZBVntA6BWK/EImatpRRjjUoOob7UPFzVOqkDNXwnMdjq3XU9B2Pcf7JHC0sZ9ZXeUwcP3vuzke3z70CCCfyh/lPkB8AuMDkeNoTGjc6RHh13F8VSPqmts4OEFX+Yptqn+FxyM5Ofcbjzb63dVb9ANVhou3uvldHGJUrfZ2h1ukdAKy7Db7gQU88PQrgTQB+crlaPbjbzAy6tGkMzUGDBl1W9GvXXf+MUoq7Dq/+E9kr0+fn6eQWT8hW8kapGZi2qm0GdAqAtBzND0pAzzZNsumKGlXEZUQHBFXlnkX5LvhE9vA+A/+8qqbPos4u5keFDdOpQP/dm+yobVFX6IoCFHGGKusuVpG1YwQoTDHCgDmS+D20XQ3JpmcNiko01qTYANgy6JeVEx0BWh7QvwUgfq9l9QYDDED19piDZIkgUQvNQLS+48gA1fHxs+cOHT1+6hYTDA4MhcdNyZsiBjhvu1dc06vM3gHAoJmdUr06uH6+2i+bA7xWWhDaODHEdB6dVL5Mmcv053bwmRGaj52Evf6z09aZbF6LURbZOQFuzHkFnf/Mqe0Hz67X1/ky89B1rpPriOMlO8G/OgHEy1LBfsm3FfDJ+TzPxjKMl1YG6yOlXm8IcJt4B196AKS02xVs/NJhg1XXNirtDAPr6z1nwaCnnM4B+H8xnROw2m1mBl2aNEbnoEGDLhm6/doDTyvACyUAewH2QmSJUpYi8vxSilvy5dXveChSXLHjQ9TcajEBtN7Kb89Yh/h0mjg79G9K1+5j5lUqBjA7OxH8CiZlr+Vx+P+mcHk2zt3Vc726xevQS5inZ3VEINITVk3hKYlBLCuHnjlglq+Lgp5n+tvpvATWF5cVnSYC3g4SuZ8++asBGfz4O+u5AgcsnCxcB5xjg0FBth+a+VcDvyDvG8qn6abfQ2Mfa5gOibmtbQtAJuvEw9nz6/vve+T4AZA8meMn8lLvn5/bpnc9oMvf6ZuWNuSnMcxOgE10IVfiTbzMbV2snassgfem7UgW3YYRo0aykP8e/25MUJ8zPn1awPex+M7n8/OkPuHxx3PlLNSDD58481UQPJ33orMcKmM8QZ/BtL7h6BB9LlVncfXcxjEoP5fn25Bk4f4vXsbmDAGuC34ujuCf+YnnC2gpjQOCeDD92Dc+VJB5AOVHyD9oV+h3MZ0T8GvL1WqHX/RBVxONsTlo0KCnhG5b7l8sRF4ADcsv88n5FKa/AF5QgD2bypkMJanA3+1tlxaK9ACON2w4vb8+TXPoatE65g3lRRDYGuMyPw+GrQKzYDVx+RnYbkFKC2QzwJetcDYyYIeV4cq61KvyFgDOR0fMbJyq0R8L9KZ+kDkkl0w582dBb9W9XybX31sJjleVZWW4OrjODc4cD9xzeRVgXCixE2ACLlqTccCAKJ7Z4BxmCT9pnQn49jzt7MiKbalAxbu0Yhnl2H2PHJdza3wJ30ef9WsGTIB3FrrV7sBr1D/rl1nXd86RdwGyu/c0rzHvsd9N8viQ8F4dMv+PV//jAZntnNmWFOezrJ8oXxtlDM/0szpn/VjkayzF+Cj+8MYaTULj7vS583/w2TNn/wKX5/lEndP1WbwxgPltQDz1pwZsUz+MZRQAe0SdeFQmzRGLkN/pep5jWVZ2+rBzY4/YFpKeTG3/nvWiep3fxTL875wEveRlDNpVuhfA6wC8Zbland5tZgbtPo1hOWjQoC+YblvuFwG+svCKPWQpguW6lKVMn18owNP5VHk2YpR2AhzV+AhOgOllu8/yQsCHN1TMxI9hmsofl60VNMY0GXT6nFf+rSbPqK0A+zIEfuU38sSyIrxTQzCVHflqHL8HvI44DFrl8Gvb02fd37u5HXt85SuSJiPX58PYe23NOlGZ2UnCIEbTrgP47zmRGplCQt829qINtW7BLsvn2lzbA3EPdb9c7+zq9x3+buV6PcYvHFLdHcdRNzAZWFeepsQRmD504tSRR7fP7ctSb3pmDkPPsxt74VnUG29F6K2Wl6481s8muUv9zGPmQuYurSumSs8NCP0RsDmokSH2E9JBNu+IRlTARzHEyIo6ruhzXEHnQx+jZPG3woleWBfloYdPnH4AwF+MDpksHL4CV/EHY07FWfi/tivPCdFBxG2/qGWaHix9DOn3UnK5fOYAmN+5MZnnNNx/zsNRC8wBz58xKoL1wDqMc/Ii9PWxBeCSpM8A+L8AvHG5Wn1mt5kZtHs0RuegQYN2pHfu3f/lAPaKTCv3IlgKZFlQdPV+L4BnsvmvKxkK1mw1EnXmYcOyB7DMeCUrJwL+zl53qiqsorSGPmDAL5463gPIzrBWWeL3xLDS8nWvZTUQ45QsOf8RFGiIalwpErSr8UA78dsrR6sAACAASURBVDe6TuowHZls/J1L1vz6mfXk9iHHiqjyrE8wEGxAAucr7b72TbLH5/EgwOgAYBkXxHvkxQN37Vn22XjSfmH5BbYiyn1oY9sEaMbODc6R6SYbc/yuV3l11FRg6fs46yOtUN/Tw+LK8jcD6Odj22cPHT1x+hYkxaYySe584xPyo3gR/LN2F14JzcfMaYA6zplJqQ4ALbsnA2fhERFvqlhQ5jgn9Wgj+Iff7+/Z92NFnzW6RD7WVB6OIorTge/VbX9s23Z6dvLsub/+yJlzPw/gOVpPTKOPFqxTacdDjHJZ6Er8/NBtoZjTZqvm/nDV6AAQ+tznVVmNY0KfxcMNuW1JzJqf53Q+wT/Wr8RzXq2L+OVzBS7EgTVoV+g0gJ8H8NrlanXvbjMz6KmnMS4HDbrK6R1793+pzCH4BWW5gEzh+FKvxZuuwyNjWCeOdeGVgImicbyu78QZHxGkbZqMUuMxAf/Z52hMUvYAYj1KiXtpGV5nq2tAuzpfwpe4Yt7stZWQmfKxMRpXCKOhWjLvBr2LBwT2jPQeKGqfbrgiLPKgOUXBS34SOeuJ83Fo+PTMDqBy+g7Ui3AA/P7/SUa/YpeC4Q3ycXuh8lucPCofy2b124PqRCix3E1g0Z8tsNlp0/LftHfS2eNp+byfelMfagA26YnbehNkPL9e3//RR08cyJ03JCe4r/l2QJI3luHHM2vddMANd6ELnpvC96OOsrzMFX+O0QNZIe048tuOopQ8z+zM05y3+NPqebU/lmE3GLRtwo40l6/ToWo0h+htKPLjD584dbeIvEXT1RV5tKvXgIHX6PiJ4DxGJTVOVvrK77W+PcxDSBsdBqYnrt8oj2jwc3u2hYEda/pMvzfOK+LL0loiXv2vupEL/VUYtItUAPw6pgMDf2e3mRn01NEYm4MGXcH0K9fsexYES5R6t338t7egPJeByCaKBm5rippF5g83swPNIlDrgRlfb1g5SwC/zN8xr8xoedkVU2nZAen0QEsmPxvPalz3Dv9Tcg4A0o29V5l2BmybqLc/uwvKKJ0axRWkV15M/1qHwJwkGZiJANfJVQIvAYxEMBh5zts1y2n9ode2vUiSrKxqoBNQ0brriiZMZwY+N/V2Xz6p273blMccGmbYA6Bn+ZkQsd4IAvULOxIyE78LsklPDoi4uSDrmVbeuqwfu//Rk3vOlvLsyGOURw/60/DpNYX9V7nm+gt9n3TVc1AqQPR932QHpfQkVLjyV3kNZTDosls2uGyfl+tdSBs9Iklez1s71/Tkyg5ancRqo404TWxz7xDltBbd00QzdIZPE/0yff/In//oPTe97YX73grBd9Z+PPcBbn+hZ6hp/HzA48CcABOPLiRemxkz0KfzUZh13prF9cf5Fwir+so3iGch3uZPiyBDnOfYacfzZepQoER2AKDV5q8VbB0bgy4LWgF4LYBfXq5W53abmUFPLo3hOWjQZUpvv2bfMwqg197FU/OX87vnWWhpe6I2X9fFdlVcMVTaZCTGVW19BqEDt0pbFhsuO4E6t1KbMOON3M3GeJRL5Y2rOxMvXk+Ov7kiETvxPTIvpB97toEjafmNoCzen53L1a5gJ1U133uOAiYFV1M9sf3bvKyXemgXVcIHeammfZSEJt1QPgz4qCOB2ytzBGWrlxd6C0B8n76k72qsrz1IqXl55dplpT4WyfYjW6vxlpAY3cDbGdadMoX+8mFrWp8DbgSEe9RRh70MZcYr9bhPPpzs+xeQ6kmP8ZC/GO4PSt9jn+uOK8a1P1CHzIrJrrGrkTiJDJxO22vTKf+oaTGn9YCujhGezwiYVhkCA9nckp3yH+clJh6fMQLFz7ftWC2UVhPEGU37iPFDlU7l3/zQ8dOfguDDMv0mNuNR81UdUTtae8usY6+32n+Amo/LEFj7c5nqFPT1T7WxTtWBEJ0uPE/GuqMDlfuS1qXtvScB+5qW30RHssrAjhStf6z+X/b0IICfAvB/L1erR3ebmUFPDo3xOWjQZUZvu2bfNwH4BQBfldmbHjDYYVf6XUkBA4frZ4CZDeTeIXCang1MNtWcXUlM2xVpF0ZZJED9Xg3ZFsAxH1mZLLkaoz4EPF/RVCCwjvoIjg0uGzDdNyaSEKAIxngmQ9Sv58sM9exQrgvSTfKsScMWdciX3UUO9FfygsjuSeZgqudKZLryICCtQ8tYU5/Ktkf09NPwzPLRMw8wfYmRnwbSzAmio0NfrakMXs1j552e+p/t0VZ+4yGDWs46yFJ5EeNSzwCIV9ghlMUvherjIwpMO63z6rHts4cePnH6FgWI2QGT0QHQO+yP5ar86ef5/zxO4zzA4LQ3dpKuWUG/wOeNToks6iYd52j7n5dDP/uXfFvBpr4NoJlPs+0L2Rjh7/qeHRpcdtxWxfmAGI3Ratc5Ofx8+SPfeN89P/a2a/Z90wJ4X8Xq1CdiO8Zw/Xpafv1u+uTfL6GKRVpnAaj82J/YAYZah89jOvRjRJm1AweNL52eowO7yh/mp6pDhMMNG4fAlI6vi+U5ZEQAXBF0DMD/A+D1y9Xq47vNzKAnljYtHg0aNOgSpO946MhvC/CjSOw2/bFXS6mAjF9aJVTDg/fsOiOVytQf92blfzYwYhnruZZS3QBWLoeUA62Rk5EzQiO41+8iPh3IwERrnLLxXsp06FiVs/Kqq6jTk0J5CzEWnRiZYa+0dt+QKNsDNycqOity4a97RkZ6rY4dA4GN+K8H5pg3A7tz3ypskHujM92DPiu0rY9Xte2zRq2k4D/wx8a9L9m3seolgv/Yh0wux7q9d6B7elH/Oh7Fp3N8EbwRS8N16nt+PoGT+b+5304gmw/gtA63pooZEHN/KqFdNFR+AjABICfg3/WlrDOVHPRp2TqTCIBz6/P3f3IG/7HJ5ylgKoP6mIEvPw6cw0M295EKkoAG9Ea+g2iOzwVVFLt/k7f4w9ic0yHwqLJWIEbjCbAxGCsW6lxtH/S8r0tJo0iyMRGnNNc2gPWZebzFebLmFSpPvCSFarboAUmddqXglcD0uwngdfy7tQhtL5BaHssV5ZvGgf1grOvHYomq/HkPmc8ooLrpX8gSnUbWFKpLflf876oYv+5ZKIv7OxDAv6vNz15xTucxM+iypy8F8AMA7j+6tfXLR7e2vn63GRr0xNEYooMGXab0tmv2fT+An+yFNeuqHF/PxIcfZVsCmJrV2vC5pnN1s9kobtWvGttJOSlAb/gRy8gg8wJWsbLyVEbbK2ugz1Yy/UF9cWU1roiCdZXUOYH4cPBfZFYT0jM2yOPfTEb93Dv0T1dPucpN5TVsCrdhf5uBxPRBF5JUFFWwAN2WkAChbCVTwTgbpRk4NXnyQwB7K9ppX6KKVDYFcuYksv3cClqqDG4E+RGlfYC3mHhQRW1OPCloza4AjHvce7JFIOHmmNC34sFqWXd2uuKXNDegyqhjcv3YA4+d3LO9Ls/mrK7/UPqePJM+4EALb6FgOFaLJn3HSIUeuXdh8lyEV02EBRBA1Q7zG/MHD+L0mkImPvSP55Wec8HX1fKS9buUR/g5CMjnwNimpu94hob+JqDpOzynzY+v/cb77nnwbdfse+YCuBOCWzhaxqqK4fTEQmg7jhKIW018mXCODovqsLmY1cCHEPZW4OsVfvRjU/fgE1/ch1vZjOe6vSG0hzlRfZnRacJp9dlwAFyx9AcAXgPg3cvVar1T4kGXLo0IgEGDLlP6joeO/NRC8A8AAhzAZKiTgaQrgfYjbj/2BXArtkoFk2FaQ9vn5wyoOK03CwnIFJ8m5oPLscN3Av8VHAZnQJa/ew/9bA2pAcfh8nVvO7zOIojVennFRVdJmSEG1rqCXei/ys9siddVM/FlFCrLl+nxlDPktd3JgORf7SzfRvDWWHYkQyi3ilQ87wyiXHFzB/aOCDtMcs06mytQUA1M/ZXBf5RBEPjS92F5Ou7Pbq5uc/xRHYV0VwII0HoI0AR11HJ4Fc5hoWr4T3/ZieNlFQcGqibL3BbkhOD6I78sH7+v+UJfiLcAcD4DE45Rx7ytRoprv0+eOPPZc+vy7AXmMGfY9g/uU/HgzYZfroNAlvYxS1us3+kcVrAjqLF50hqKn0V++KA+K3taydaV/zhvaj12j7vKTnM689/ktadRN/xXec7amvMswjPLi7rKry2hoe/8e8GyS2RCtA7LwZ/qsKU25agmfbwQ+TYA+I6HjpwB8F0AzqxDb1mQZuI8mIW/M8UtXZlDxeYSkhdeb25oUObs0EWdV3Wu4/KZBz17p87S9J55ZjlUxtj3uK9xusBuk2bQFUV/AcA7Adx7dGvr7x3d2vri3WZo0OOj4QAYNOgypm9/8MjrC/CDbKjy37piMhv92fVwXcNOUEMk1djI9uVyyCSbPtUAJauqhtpLa5wDfaPBATGyFjOAFg2qyK8CqR4QWtc6snP8GfzY3zXJpbJVUMP1VgNxNhiFwnvJYnSAOYDnxiCDn8ij0V8dPBzOTvpiZ0A0WjeVB5LH7a9OeGTAUp/Peq+6mxOX0Jvsc5mN9DlMl2JXGShVI7Xk8kS+PE/TEz4AK54HwP2scS5Rm0tcBiReW+k8JxEsaD+IgEL3JLfjsdT8fq/1HB4sBJ5misApjhnWJ694ui0TNT3lThStY1Blqv+UtzqHAMe2zx567Oy5fW56E5bL90MGvjQkvaw0dkvNp2ntPyg4pQKy8qayNHELADeNKV71L6SPpgyxf/pQ5nz+Sr+W1AnMAiwQ+Aj8+mvnfKms36hj5dH6XguHBa3xGUF1pgf+rfF9pp0jXf8t5ZX6+dsfOnJIID9cf8vmDsVOxR5Fp6zqYPpr+bM5kPWdbfMS+j+K10/vN7LOde69zfNTXaWRyTnmxX+vcnJ95GT3acXPUdC5pTRtMOiKoxsAvBHAJ45ubf0fR7e2XrDbDA26ONow1Q0aNOhyobdfs+8HMYVlATCjjQ8ArO+EQylbY4kNOcB+8Pl76/X34b8aemqnTZtR4UN85zKxeTJiHtkwidcVUdGN8T2lJ1BVzLDVcO91aU/ajrwJFcr7J13ikutrSsbGetheEIWgurJ77D2QsCvPNp3M3rvfPrtVQJ0bmnbBwoP3f3JfMsZV39WAl0RnUWYGN0FnQmnYrq2A0glqhcRQ96g31Uv8HvcUZ9ecCTGqOnIHzNX+VGq/UNDZ69eu7PlhtmLPvEWI5oHAlMq2OvRDdOPjaTzbAWP1wMSkT7f5SisnjQ8bg8XJpvKcW68/dv+jJ6+P79ytBzSOM30CfhuGEm+BsPnS+qUHQMR7Qlxv7xq8+jnMQfbcJG/msPigtPMZ4Nsh22bUADugqct4aWXL+oaWpeM7p1amKheSF6EO129hYyH/LUq/nwPwVX/uvns+BwDv2LtfAPyWAH+FeV5Qw/v+Y4cACnV+vqlAlDvSsfLuZIH1X+c4FcvP9WcHCbqIAOGybZxP6eZEJfRLsfmHeY+HEnKb1VsPqkzWHpwelHbQVUVnAPwigNcuV6vDu83MoJ1pRAAMGnQF0KsfOvJaAP+QV3niAVgWjtka7PrDrtR6+imtWH63+jF/shB3K8xWhHw5XH+kDOy60NrE2uRVzKzcKlP9W1y5C1peY8N30wqM2oPq2Igrq6ovC+jVvNYukGT1Rdg486e9Kx+Fv+uqi7Y7OQL0vcnojXo29Fz5xaJABCxbqeBNRMu2ux+qI6j4gyAdkKLGcSAr8OP6ZYl9U0G7V0oFI43zxcsI2AFnUWfZgWJxpVt50oQ1rXVTksvCof34K/Z/Id617KJ8whG3v4433zfDGK+OuHbcCFpdcz0qO6/saWTRxKdtA1HiK0a1Dv5rES+FoovI8VbKY0eOnfozkYfax1WPoR+xHLw6XOucyY91i4ho+vrchxRMZeO/wOvVR8n4Psik/BlgasPQZxU1jggtMwI7zWhzpeUB8u0/8ayLGCmWjRtlh4FfzBHnvMbgjAXC5F2ADqkl8A8SKx4i69vecfU0EflW/fKqBx8oAnwPgM+rqAsRup7TymDwP/Ey160yiUnbozi+bJ60BDqDFtrX4uZzcN+00c59Ncy2tbI2gsPPYzZ7q9yWdjHrAPNcvkbHuUTpB12V9EwA3wvg0NGtrfcc3dr6q7vN0KDNNBwAgwZdIfTqh478RCn43wGYwQhvQGwiNgbYSK/bAAr9QxtyrzX4/YriDFd73tYbKYZAMkAtMyP6OYLhmG8T2anpZgTx6mnKa9VDC14XCZKK5fLefytvfkdl6XcO5IgAIfLWO3WawasasDFlNKaZH6vDHningq4/MfjxoflN+0SHgJhOFRChlmm6s+RiAISAeP1Kn3v9ozpEyBHAFE9A537I1UbnkuehBchAmQEHrcZTGRXgBADH7W/ZSCfCq/+2J1zLiBEpTga0NPFB0URc5+xg1L8sI++p1nbl76rE4kqsPax88sSZz63nQ/94TFVHzTxum+0fLFfxfYxXyrlPBZbsgeYL+jCOPfhnEMRNyjx4bO0hcm9sQ8hZ0EszV5Zt84LO30FG9xvBctBqb/HF1L+mb44mMambuUX7QOjP+plBtBAYB8jZG/SXzSlK7srLqf++kt+/8sEHHhLB32Fn20I7alae8ql9j8VN0jKP8Vkzkxaez/LonNqPaj/giACtK2eIbyfQ+SAbLzUSzQ9118cXddzmiorz5aCrkv5bAO89urX1oaNbW99zdGvrGbvN0KCWOtPXoEGDLld6+zX7/pEA/xqArWgKef0DyMkMtfYOasx585PDp3IYjtghXbUOMl6zbQA9UiOPDSl9lt1FzTLFvBvrUSbhIxiycvW7nuCsaVQ/SPIIxJ3Knd4EECuQxBBLkmfv9Nkeoa0Bidy8jzwe6NXTWw3bLoAHzAY8eyK5chPlqiHMq1kxXDZa/lOf9VsbMt43ydjbCsDlJc1Tv9d0lIH7hei7IEANvU2iDzLdlPl5HIccKqwOrQjQ7L2BrmxsRS6bvzyf1PHSrvj3+pGWwUCD+9Sxs+cOPXzi9C0uDTERby+p4zEAxMqLmC7YOcLlZ86RtL+QnjPZevkWFA6i44bPMVBpmrmL5klun0bnod8xL3D5Mv34aKF46ByXFb8z+NQtVFEOx0foTNzVtU0UYNaIkNBRe2O8/S1zbXQKwFf82Y/cfZLT3Lbc/xYBvpvnfudsk1aWKTLAhKqAnBiQtv6mrzd1zTrQNtRnsT1cuaTH+E7fu3GpvJIOuA31VgA371EEAlVZx2G9spLyDxpE9EkAbwDw75ar1ed3m5lBE40IgEGDrjB69UNHfrwAP6LfeXVOgQaQAzPA71+uqw4zNQe5ub/FGzHwxrTLV40VX38Eie4k9jmjAtkIMCJIYyr0L648cY26ohgjHHS1vBpkoD35MxMM/hHSV8PKAST7rAdICZXX1V1HxoXo6pGgAa/RgKTPGZACfB1ahpVjwIXLEvq/PlvDG+vVaAU5gmI7wNaC7TWt2TLTFRhtjnIRtOcoRJkz4vdr+JP3a5/SZ6HA0ihUKKeFvE99T5/4ThQBaW/ctGHbpLnap2xc8opwlJefWR+y7zKPFXeXeQa8mT9+MD/0fWEq4HwpH/3USQL/1D9EpIIOr8kM/OlBpgZmuD/xWFMdZbouCKIp+NcopKD3LJ9U+aYKFtQOdtp/6L+kvBQkwuYV15GLn7c90PNOQDdXzHOrhDTa35t+IRr+LvZe2lHIwF/VxpOB6Yj6qpiOHNCmrLzdq/4jWRJ6FoBvTp5/XwH+uJYW+gD/1bJ783Smc++Mo3IQI39m3UmYo3nujh1X0zbzMPeZOPf78trzUXz6KofKF8Z5O+42zcKDrlL6MwB+DMDRo1tbbzi6tXVgtxkaNBwAgwZdkfTqh478mIj8Ew45j0ZmNKKVovEPVFvXAR7aqljLm/KYgdTsjy6+vEjR4EDxoYp8kn2zMpPsW83AQax3MkxthSMekMjlRKqr/WSkZ0ZjvPpvel8I+HsrrAI80vkUotqCTv3OoZebVrF7gL/qJ3kuTfnUlrWsUp0l+rw5VJBkUTmj4epDS6WGyUceE4va1xNAg5bKDqT6vrP6n4X+KzUXICfAQfu936vMJ2YEnvVZsX+xDxf4NhIEnZcYnDulZp2AeIrtzU6S2Nf4nAQOE4/yc81+jIak1DHnyIRHP37s5DV6M4Tlpf3gHd5qkfRgXSyHH9FWfwVKoaBsvMeT8es/ysPOwqntfVg3b5XIXFYKlBXXt04Jn4fnDs0b89n+db86y/NFnPfjPMHjBLDbO7g3NyBU+eBxrp8TIMmA2B3aOJeRtbk5GMT9jbLMT902AAD4tqMPPCbAdwNYK1/cviwPQDqLBRE/bjxx/6h9QMvi5zShBjkq/zyxoCS/o9y2nl9zGhZXv80vMvPbzsnMh/6tVzN2xk1PP4Ouano2gO8DcN/Rra1fObq19Y27zdDVTNlv3KBBg64Q+pW9+/4pCv4FZPrBjmHSQN+AVlCbAeaYzwwsK5uBNJ+2relrebF+tMYD58u2LwgMbGaGRzbRFVh4/FRk3MSgsuQ3JkinYOZ1MQNYBjKeh0L5SC7WOwG1bAUb8DzFUHIOCwdAtx0YgMuM/d5fHwLtIcmaAAYD17Sv0Qvucyazz5nlbdqCQQPaPtfzeHfPTaC8Df9ZWhobFXtWg3rnn1vX30jGGFkAeDkZVOp360O2JSevz8uW9ocqF99moO3cgtkY7WLPfVupHPNcUx4+cfrjx86eexHXlYJktP0yO+mfR62WU28moP6SnYsQ64tnaHDf6PWthZtfVKq+LOkD5REWYs39Q/Pk87F/zo6t+Dugt4DEPN7JaTmmiCeNFjD9RoAugU/tO9a2/OsxpW9vHmmJ5yKdywvMydHp148I8Pyv/8jdZ2N57772wI8J8ENOd8G5w+OAx3vt69QOuiWnDd+3/Dy2dMuc/lbqrRvaVv52lim3HVDofzui3G0Iv996wE4AddDonBG7ozlthWSFfxL646BBG+gOTDdYvXO5Wp3fbWauJhoRAIMGXcH07Q8e+ZcA/oWGGjfGyPyZsUUE/PUUeGnBla3IWGkaqK17XtkQ0ZPMs1BCLpdX1mJIKjOpq9JqoGi4eTTSo4xm/JoxqyHNCmcY2jjeahnTg8KK4DrQAqF1SMShvNV2klBUaWXR8ptVaJBx74C66TT2g8h6a9QFPFIBjUEwLWNPaKsyF1D5T1EJfaRVtwgsTc2lVl37JJUbZYlgVusBfa/9KIR0lyR/7ItC7/glG9wxTzyAjuurwswy1lPGafzFcj34n58VzdOGZTPPvNLu+aDvcz9fs2NJUxUDNLXvhDYjcTwT9OHR7bOHj5099yJr72JOgsB3/UxAI4LFhZPStpUoqHGAKAEsAjoBHXDzDPelqS6SUXXu+qLPFW+vkJCEn2s5OtKi84IBmxaRHaCq5XH/1isdOZw+GoW8fYR/PTLwzzyzfv0YV66qxhB7nB76uIfzhX8gWTiqR/gzyz39/W8K8JeRkAD/rACrWEfVQ00ndV7TuTmjTWftaF90/M3zKmtEHQg1HTEmENquZ608lWXlcrtpiqr9Yo6lKGvUca3fSWHpOz/ngwbtRN8A4G0APnp0a+v7j25tfcluM3S10HAADBp0hdO3P3TknwP4l4A3u/RvNJzjqr+GegIbjJ1q0riH1VhSAOEiARKju2ZlIEaGlF5H5FZGEqeGN3gcS7V8zaHGuj992Z8uzuWrka9GoBqr1SEA+lfY2IsRBq3MIN0Llcv7cJmPPcHYLbG8pI5ok0fA3gDcCpIyiORhnY92mCMWDCe22z4anRUDOXMCD3Jt9bPiCPrHMrFeGmOewVzsQ7xKmrCbAgOBA208ZiydSSg15aYxFXSnMgVQpH0r4cqNI7d9g1LyHmDWm5Xi6+MogDUJuU56dQRhgb2pv6PgfFl/9FMnztyConqfdRNW3Wu58xdzcsCl8z1Tx3Ubis18NqMlOLN4xVz/6dWcXHdJZLBtAfM8FnkhBtoVXKl53So7yTyV6WXgvu+icub+zs8R8kYAbZEkvrct6JsDuAkatPnDg/XaRjFDads9oxoFMDtws9tNWK6FSLMNAAC+9RP3nwXwXQBOxXFgutD2s743lVvc75nTRcsxorz8u5SPZM7djgmeG/Rv5qznmI86dmb+2+g0mzOq/MX3Q4GVUcuRndts0KCE9gH4SUznBPz40a2ta3aboSudxjgdNOgqoV/Zu+9fLSD/ODPS3XdpDTgPOvSnnvObYZGF7LLBysZ5/Ms8JTZkAAF+hZvrcityaI0lwJ/KHY0q+1vmMH5v3FUjC3RoYjDcGRC0+vNCNmG9zqhCPRiLy44hoRzqH/f+R2p4hNctsu9i4M9k4t6QtbwXtfEhkFzMi5achZdr/2z6DwkVQbJWFeWK+vKrXV6Hm2QDjZlqVDs+orkv/bZRUFG8rBHwNf0x1ABXy/R3Cklv28GBvewz8QHqB73w/PggizJQ1kopjxw5dvIZ5wu+mKMKIHbKeJVVvF59yHToL258kaND9ZrxWuuxBo2ruAqm/Pjzc2YE1tncUQFu6C8GzHRO8v3THAt5u3Nb9s62ADxPTFHfqLxlc4sf934e5PbgZ6ojiwjrjV3mNb0lQ3VCPBlvSTlTgodRsPfrP3J3lgS3X3vg7wP4t1qn58G++XM94Nplks944lHozpsJbc0Ocq6f62Zd+mdTLZxniowgh6ryFuZT49O2ANh7r1v73exsAQh8Dhr0OOksgLcCeM1ytfrQbjNzJdIYo4MGXUX0jr37f7Sg/HAPqkVDuxrOhQ0Fb9i1hrSdoq8GXzR4gA4ggzfcBCEjW9ki3bxqoKfAti2m4SQa1VoSXzMWjXnHQDCqsqvSqmEfEJcT17/qAxYnXwtYsvQXWl7WBzhlq6vW6HV1ZYiFHkdnR1pb6BLRGWMrW+3fyh8BCsCDpexMAG4H7luFPlcj2/UvrwEPivJ6XDci312ZAgAAIABJREFUWVrnhr+xgnPPh+q5/h5BBNOm/mCyxBYn51UiQzPWuPKJt/LwidOfOH72/HVZX836fua8WBfjjduAHRgXAvyn8iemd+oD/D3y5cZ4ohvuv1ogO9gaB0syyGLUA4lJump7Rjb2o559n5ly8FzelKm8OCdRy1/t9ULOGxq/OpaUOKphId4BEA+ijOcXME+aX89jEODPveLeu+9Ah26/9sCvA/gWmQvSrQi88q1yZ4fh6fwSdRXHT/7dlxF1saD2qO0089E6CewdXNn++j6B54Of8++syq23P2jb7pH5ilvxLsdBg54gej+mcwLes1ytUsfdoIunsQVg0KCriF714AM/IpAfBwyIAAReZooh/2zccNivGcJ2nZmV1RqMavjWVU2Y0cfGH4f+FrKUy/yuGrKlIPs1iACNaZ1kMJHm09LrXzOOxKVTPk0uRgXe0LLgb14hMYHoc6BYZwTYjRxVHjsbIe5rj9XuRMyD6U7M2Edou5B3HdJo++e8izOcDSpPT2qYOfUf5S+Gg1feAz+8p7s+jyulWn9nG4CSyrageh2QES2zPaSPuYvtqWABQRb+Xuj/Ota4jhiiLGLyFUxtWc/kQOswS+Wu6ef/SnvYn/tG80jlnxrkse1zh49tn7sOsPMxuF0bfST1MABVgF9YEMrfAFiRFKhB7EC5zhCnuZGA2PyG58VNMtV+3LRrAIactzf4Z7IrBsXxv6a2b/gInxn8N+0Q6nPjbU7AYyCNCGPnR+2jvu/Fa/74bBOBjVmgPQtF54RpvPtrF+fc6TYAou8F8Jm67WOeX+Jviv5WAK5bTzyF36baL73Y9deBZY11VF3Ufq7z1ZSAdcV/IaT/MO9W5wuon4b5M86dkVS/a8zzQGn716BBTwD9FQC/DuDw0a2tv3l0a+uZu83QlUDDATBo0FVGr3rwgR8C8H/aidJGbEgrZWAN8CBXT9ZWaKBvqyEjM9gwRD2VTWWxQR+BV5ktMAnGra5OCPx+XKA1QrSuurrBq2MVvEn9u8mQqbb+LFNdtRZvhCnon/b82t5pV2/xYJQBDeJnSpPxp4Yyy8cH62W0SWeRn8bARN5ezGPd/yxJ+QoWCFh6k3hONhuyuuqljoD1bMHKXFbPWcJlsWEeu3Zz0rtIWk585urNQF3VT1wRNghBvhVy5Hj9cN0aHo9agr3nQ/qmlVaNBrBxqcY+j70oY/7cO048yMnPAYDqQ8cJgHPr9Uc/ffLMLXwivEvLZWTzUi2f98hPb1w5YfzUfzqHzPMIr16yfAwua4i28PxRPKCF11t1SsB0HiMyGCgvIsPw4z22l7t2UPKolgmoiQOTzCdT7ReuEaJTjj6noDbmaveNF+ponM/J5+Zo+xzH3wJeDw2PswZp7G10AHzrJ+7/NIC/zTIB0ziujqowR8exEs+mqbcpcEU86MNjzc/zFW/B0v60cLnsUzrX1r44peXzPyb5QpaOznUejmf6RHti0KAnmG4G8GYAHz+6tfVPjm5tfcVuM3Q50xirgwZdpfTOvfv/DYD/lY2FaDiooRb/LuZffIMvMoNwcwRkhxX1jd+cuhMUxXdmxlYui9RTr7mIfm35HuepPtMHg8D6PVTOZnAMC+Y9vs7YTDjSNL02i2Hs2XkAbDRnvp0eKIghwW1YeffqrWogOgaiIDDAwH1J7OXcfp7DyC/3q942EJVD+wPraF3a9ohysTj1+fyAV5rrXwLf8W0dW8R/7U9U6cZ2h29L5T6LhvDbeVpdeR2F8U96y64VjMT5FLCgAOtSPv/xY6e+6Fwpz/I8e9n8fNPKP0vpctV8ocyUv1merH2Zl3iqvh9vU5+MOsl0h6D3bFsQYA4byIb5LJMnzIPcrtnY9HmZJ1S5st+E5mE634nTQRwU2ViKRfPBi7GPa77qRGUWXPl5LxDBV3/dPXfdnb6c6deuu/5NBfhbgvaqOw/6k2dhDpnKaPuH/pbC1eFl1ysBuY9pUYsgI/OgZwDwNoWpvGy7gO3/t/HXhv+b01DqOQ66JSC266BBTzKdAvBzAF63XK3u221mLjcaEQCDBl2l9MoHH/iHZdpXVSlbpeDVN96bHkMfzfy2vxp6PD+sfyPI8WUYVcNVpH72q5iCPbRqm1EtuxS60jCan8aFlebDtjl1/Tsbnij2fWa3hkRGwzUC2AUtEU7X0ZFeKGOhfw648SrNHO7vbk3g/FRgdoXgJrLT8ksAkRbd4DXp/+qqVX2eIjTtU7Zivp7/obDhqkDJytDVXtaR1rdGaIOwUsqniLMThcuKrJbwWQFbmTPVqIaiIDO7/CsUBLtBIFtRZorjhJ+roc5bGpRHt7+X5FtDxwaVTf1acQpvJ+D/vG6Kzw9XbvnUqTOPnSfw7/P6LRXuuRuddWNOBVfcBzJywFK4rD5FI6nWQ6XGccgyMzOxHnOYap/XsQQHprLZqvIexj9CWu6/i/BceVzMipvGqG4ZsnlW03G9zquQ0jRmaz4ap9lY6vXx7LfBjcc5gbuNxXFuiVwdZXMUwEw/IMDHdC5mB2Wd66tgxHfovKw3H5mTyKNpeQvXnG8xV8x6WNcy7QR+m4fNiaPjQr/7bQ1Wu52j4n9XDfxPpbfjc2NnGDToyaBnAfi7AO49urX1rqNbW39ptxm6nGjT796gQYOuAnrH3v2vFeAf6Hfz/m/ON5sB1YhtD7wKK0izNZetzhUqs5Y/exz4XXba/WSMFmew8C0AfNo0r9y7/Zi0kjfly1f/nfxBHua/OgUErkwgGIyF6mJrveT6D3hixwmcwazelc0rgjG/Ay7wumpP4TZ5svZ04EXCw+KfCdrbFPRjNVhR6KR3v+7rQlHpuZUxGcrZ2RBs7G6iCKZK5y8n5mgEfuU/BRM8MKfggyvJrnwz4z5fnY9OBX222CB6BIq6ncDyt3edM6ht9ALgse1zhz596swtPMZ0jOq8o2PTVhi5PN+R9CDNbBxWviQPjWdFZH2A+bJnHhj11OfnMmsbzWvjQ2qamZVuBIPqUw/E23Trh4Q8WVtM9UrzjudQx68bm/HAQvs90KRxrtP+7OZJTRtk4UP+4rhjfTGTdetLrSuPIJjniz/8unvu+jrsQL9+3fV/tgB/sBA8zTkA5vrd6jqDevEnfQh831nAeCwo1ZGdpSeerc5a//R8TxiH+sFvrbEImZhWV/SzedHyt+mZLiQqaNCgJ5k+iGlh6+3L1ercbjNzKdMYrYMGDcI79u5/vQD/CxvfmxwBauhEo5av7SqUt15fJe2kkwETJmHL2B7ax1ge2EixpGzIx1UiBRY90D8BGw+8YrhkrJtD5M2A7V+fFsRyQMDVm+bU/O3b7OospQxIZjxxn1gEQ13zZcC6/pWgD25zMtanr96hxCGsawIaWhaoGK43W0W3Pm0gw8vaypR9zsgBpIIAZBjmT5/ivncdLy5kGqobL2faTg13PqUbixvGT4+k+aBffbtt4vXcev3RBx47eUN6HZ1MY3SPAyH+ar9pHFIfcPpu+W3ajDvz3I/j3v/IT6afDOhwGVxdzltyxaXOJ5Q+9tm4ZSWeis9OPmTywxxmgDl0Cr3lFkzbnBrV8YfgnOOOzfogyk72188qn4v4CjKxg03gnYg8HiIrNPdc93X33vUJ7EC/8aIb/hlQ/jkDbzefkxNKi44RIQrSfUi+aZB/T+zQP+N/EZRqzrMpV+NwqHyS/sSeRPDOWwCyWxai3Oocq44LHbc7/J4PGvQU0ScA/BSANy1Xq8d2m5lLkcYWgEGDBuFVDz7wAwDeUPexB9ARScG/rfZJBf8WEFzcvmEtkMEkAAcOmQzIsXl6AYCV/pa5vnjyv6/PG+J66BI7NpxRBjM2eQuDGj/OQSAGXIy/RLmJbiIIYJan93kL1ZPeyZjmE8E5V7w6q7IjVn+9Yo2MwemdcRWBXuQ5tm9N67wGhfLGcxIYQM97i2GHYZWoIMAZoRG/TDwVStvqck360pS9cxMckQFs5zvwWqTnifsaFx7bOyPr62aEx97CbTmJ3O7r5XqatuTEKh/16jb8vwM8S/nc0eOn9y64H8G3kwf/Wpr1iQm82ptsBBT6Gw+Rq4BSGDy1vE782txlB2r2VzkNCPv+nYF//bsJ/EcZFeDrZz4Vf0GycJvG8a78134gfBDsBvAfG7Uo+LW/DP4lyKP/3FkXlSffRlwt95WsX9WxD9S+kY1ldsK60+8F39YkzulHS8EdNE3RPM9jr5VBaSF+rEz6sDNz9FWcRxfhWa1DdTpLVufCOU2h8mT+EMf6uqYJNYSIuuI+2HY8vQGg1jfA/6BLh64F8BMAjh7d2nrN0a2ta3eboUuNhgNg0KBBAIBXPvjA9wN4I6/UeuBgxICsGgDzf3V1g8yKCtBKbghmRkM08NWgN+M6h0Vq8PCtANEQtuwEIsl1YRIkYJbKjGzUFRQqgVf6cqBHxh8ZqmzIMbio73l7xKxA3cMeV3l5dVApuzrK1UkG5PTdVrJN7jaWgcvj66u0nVWeFtXaCmLVC9XAbaN1c2VZH3JAgZ431yKyk4lXJBFAGLyeJLzjcwDU4WInCfRPyJ/AGPHIwCnJYzxx7WhAgIIM0HdXT1K2ll9Xxkvggcr0gNGfA1F1Mn98+OTp43HfPy/I9zjygBnglcmqB+EcHjSDPusYYDnre8qnQNnOvNBIAdM611P7NkK7Ob5oPDLaCx3Kg0Zx7TnxJvaPeM/U6PoBPWXnIgN5R52OZw7MUuXmMHjr/z5sXdBu1YlnllT5SCZVkQPCpDdh/dGcwfqJDmBa/b6QcwDwLX/80XMi8t0FOK7V1LEdfxvVAQv/G2TzqdT3fAMG61vHnyvX1WEPuM9yDm5b++5L4m0D7kwfjjyAnxOA/FDOQYMuUXoOgB8EcP/Rra1fOrq1teO2n6uFxtgdNGiQo3fu3f9GEfw9/V6NsWKnCouZP3QdGa8BzeHAZChEJLUT6JfkuRpN/D4akMxzY8M6C5LKV3CrwAvSNW6EZOBnBswRsKnUsGX97mVuzwCI4GQB24LQo2osd5ZgJKTrpYlASHXCpz2vo9Ee8yG2GVUeGGLgmIEYWzv3hrJzIiX61yoyWb2MZASHEOSezgRm3CsAUR0BtspYwGBj559b1lfENdNqWyuXGfidflXlVBnbscd7lzOeIvtc7roC6/yGhgLg2PbZQ58+tX1L1q+ykHdgmlfceQKk56wP29g1sFL7aTJHxK5Y25JkLC5lHjnhAKj4dumN+el9G7Yd+cvGu3OCbqBF0K05do3DXnsJf6ly9bcvmc7bdlU5kqFfnZXxsNJm3s6e0/zREv8SkT7g2wfA+T0iL3j53Yf/NCmkod940Q1/S4A3OQfKLCTLOtXn50f9XSHWa3/h38o4hy9CWpY4XmnL7WD5JejKfpu5f3Kb1bNSqH9GfZtMVNdY/h90edDvYzon4PblarXRBX0l09N2m4FBgwZdcvR9AGRd8D+7FRzhVQJdaYF7ImRiTCHa0hglZc6YGoTMBS0POiNeV77VEA5gTeuIAMnvN3XwlMI3zfDfZMo04LN4PQFmMPMBWfHE9GkvpdQyleEim+XJ3ql8vX3B1UFAnw1shRUm2J5TkeLk1VPgmYcaeUBlNStWyrdQAoFLGTAH8UlQbA6bjXdYR6Oa1NmUywBE+dfw4dhven1BnTL6TrdK1LxqSNfnWctNCRVENpaIOoQIHMwqQBG/KhrPTuA6/AqrFZ+NTeaQwa2LBBCrz4M3iwACcKoAH0Qpf/Anp7a/1Um+AfzrQY/ZYYY98A+0q83a96OzqqZPytB+qg4N31vaccjt6/RGQMvx7pxTUsc6gNBinr8YvZONEdAzlcUBbLGUPEcz+FM+eQBHR0R7dsWkAAmdV1WeHbzp04Xr7UiOxulJhfBvj5dr+hTbhMumz3tKwbcC+PcJaw19yx9/9M2/+aIb/jtg2jrgt97k/VKBsnMM8xhMHFNNOcISTmQOjVZvKHBzGX/3cyad4RPmr+aWDO50JPMsw+lSylsA3I68mQc9fhr6fPLoAICP7TYTu0WbbNxBgwZdpfTOvftFBD9dCv4OQIaBM9jb8Pa4Wssrx2xg7gSwp3T5AVFs1MeTqvVv7xCs/DTw/qF8bLjaqogHMCpTT5505YyBVQIUohz6nflgubw8c3oCQPHkcs7bGoWeKgySLIVpyNq+A+QJ4bj2J915kD49XaOAz5fQaxM3AtekPP2eHWLYO4hMwCvcwcgOsjqZXX/g+hhWelBXy+WxRnpr+nKQ0Z7ZuNy0Ihf7UcaLqzNp9jBujgA4KMDBAhwE8KGvuevQOQB4x9791y4E/wXAC7I6JHmidQrgtsHUZ4GltLzO6n9HHAeY0z6c/O2pWKNVbJ+3Y6nJ1+gbLTjkd7E/8nzEdQVY3NRVyxT037m5nrnwbZLx6vhMVvyVunPa/L/ogHLzzfwhzs+afxrHxifPVCK4/eV3H/5rCfspvedFN3wFgEMLwQu0jZnnZuU/PGeeF0Hp1WlCc5TAr+hzFJTKEh0QrCe3PQPiojSYN34Wo7v65Vn6+et9AF4H4OeWq9WprhIHDRq069S3DgYNGnRV0zv37hcAPyOCvw3kK10ThdUg+hb3NmYGdHzXlq6lwQHaMjPUK0NqHm8Yq1MiM7KlkcHzwMZba5DutDInsxwh5J8qiPliGdEBEE/RBtA4ONiQ5DIzwJGCKloG9g4PL0/WrqyfZoVx/nwhzgfHT9YDk1+yDMg4BwPphvsUg/0eKMnqYpDCzhI7ZI21bLJscoZFZ1AL0kOfmr+J6EFvfK3ahelJxwv3LW5YgaCUcqoAd+4RuWONchDAwVvvOvzpjhgAgNuW+18B4PcAPCs6El2/oS+8NWGjnvS9hLKSdD0ysKzknVr1bZjEuA9bvxcqxTuUODTezW30mUFYdEgxxXxA62w12YMTK8yLnJ6dls1tBaHcOJazcP/eFi39HN9x0TbXTNy346mdlxkwZ78z9f/Tn9Ol4Cu37jl8HBdI7913wzcD+I2qE/FAmdvKy09b44ql8+3U5rc6jG//XlwZKv8ibTOZt3JZO0cHQJRhKjNq3W41mDlgHv4UwE8DeONytdo4LwwaNGh3aCe7ZtCgQVcx3bbcL6XgTQD+pgvhn0n36QLesNJPHPrItNEQpzrcFYBhyb0xFCmv3R/egv14AByv2GSrvRv5gxme/JCNK6AH1GDPGOk5sNXWCZ/EyRUPAMzuCI/GcN3L3lZv6QKo8GCyBU2ZnvhDVpf/Gw1972SoqhJXbMfYbymPBCEpwqpxukUikU/7HkDtkQGowE/jBFEdU2KnZTLWGTBaH2gBXtaGGkYcw7QbfQqOCORgKeUgBAdR8KFb7z580Xcsv3Pv/m8Xwdus2BbQcf/adDYBk/Wv3CHYA8rKwxRRZN9BaYXSr0lnGVubon24rzJP3bI6q+U8Znl+i+ORo068VFp+28eiLNwf1gwU5zw8xnMHlZclhqHrvJOdbeFV2M5nTT3JhFN/D+ibacM5x75j657Db2+10Kf37rvh3wrk79t8T/wosHfPwhwgxseC+i2PZ21XPw78ir9Lq/nF+uKipvfOBtONOQFqe8ESSi1votRZQDwFOgPgPwJ47XK1unuTPgcNGvTU0gX8tA4aNOhqptuW+wXAmwH8T0A02pnYjEc9wIsxfF2dkv7k44AOvPEYkQ3vU+Q92WwLaplsoBgQmo3CYp8VaGYh0hEgtcy2j71swZgPoKzuRQ/8s5GN8JzDRTNQG1ncKE8ilhmg4hwkPedCD1A6Rwk1Za/eCENjGa4+8XvwM3kiUI4UZWneZ+UFXhzwCH2s5aRTRwBWCh5jH8j6usqnVxhObeZBaw+kUXWnFoI7S8FBAHeI7Ly6fzH0ruX+HyrAj1V+0Ym4cAAwJ3/Su58jdppfbF+9tUdsnQoe5xcS9KgrrJmTJ4JQBlc9Z14WwbAOToBeb4q+0tbRSDx0JoAICvUJh7rz/H0hTgz3fUPaeoYDT/GVr/54ifOK8ugdZGJyA2HLD7AQ/OLL7j78XWklHXrvvhueJZA/hOAlOg6jAzY7x0HT2m+gkDPK9FNX3INsnF51o7LGvoT62VLr6v+62C0A0aGAkF8Ldv1QLC07BTpUALwHwGuWq9X7u6kGDRr0lFF/uA4aNGjQTLct9y8AvFkg3+sPsdO/fNJ9MKbZmp5fXOjE06SbLcOdVmxd/Vm5hhOSFH7FjNlvjOiQTZ9F0NULpeXVQueg6PAd+dkEjIBWL5vKjIB6yq9llfpdeY1AI/KTNHtbUeU35ueSqD3IeO2FOmdycYm9syXimQARXLJjJltdr/WVXJ4sdLnmLVau9qNNDg0rNTuHwySXDYY5NcURTHv2D5ZpD/+HXvY4Vvcvhm5b7v/Zhcj31v3x1FCR166DKnr0GPCgbfead+5I1u4twGzyexZduhSchgIkf1wdeExZJE+ci7w8mbTtuQMuEooZaOZjqfkduE7y9ObYCEI9ZyGvqIPRxjWPFz8bR9nh+g07yXi+zjZPhLHxqABf+bK7D59NK+rQe/fd8HIR+S8Anh7Bvv+cz/PKm/K+ANo2r3PAVI53BoXQf/g+JZbQ/VZrnrhFwM3fHBEgVj9g5whwFE3bj7r0IUwnsL91uVpdlL4HDRr0xNEFjtdBgwZd7fSu5f5FAX4WwPd4w4wcAmIhomp0KhDunyHgKTW0kxU9PghwKn8+9A65cZoZpbbnuw0xr+AP0TCCB2nwxmc0qjPAnx38x8ENGfDLV/1aMLtpv20sk79nunLpavmtXCwb661eXygE1jMmery1SLo5e0HBcwwVj7JscpjUuuD1tSlf2mZu1XL6f5kZlqREliOWlbVbIYGE6wjOpXiCPvWpkwA+iAno3wHg4MvufuJW9y+U3n3tgaeXUt4rIn+ZnR8b9R3fJXNCNn5dGW5stGN+Ltb1MXZi8pjW+zyyg9w2RTlFkOX4D6v9UZ7YH9r5wqIasv3dUdh8brA96iXUEXnZPD5ofkvqYyea0LPITUZajndU+s9+nqVbapJ5Yi7vm1929+Hf7Fbaod/ad+M/EsG/9nJMnzg6oncuAP+eFNCqPNXhwv9rHfxeGp3wXKzpW4eBhPeefzeWxMrMytiw+t+jhwC8AcDPLFerRy4696BBg74guvghO2jQoKuWblvuXwjwHwB8t4GkyfSw1Uhxxmbcz5utzG00dDNDv+6vbsvKiA0uzq91xcPfNvHU2KhhhTWWwWHCVZIo5Pwsq5tJV4niMzbE4+FhfANANNi1PMvrVwrT+gPosB4wURoSzHnCil1UhZ74r2/9NYquSDP6iUHuY1FfvDpWn4VtE9nKK9cR26jqNDZt0baYpSlA3zmj4eu+LRhIcr0qFzunIuCZ6zqCeXUfwMFS8KGte57c1f0LpXdfe+DLMDkhbhTEPtVSs488CfWP2T0o9C1XARNM5+w85KGqZVhbJIyGvq3lRb4iyOod0pmNzZL0j7h1SUvh+9+bSJnGURW5o7HK/To4Aixte3tGNpfy89y5EOdK7yxzupG8bH1me9+9ZCXog5L8zMvuPvx3cZH0vv03LgT43QL8RW5bHrMxHF9/C/n3oJu+vjdOectAdlZJBfuaqIQtBVwXbAuB+80jHmzOF/sOK0fnrsfhBACAE5gWFl6/XK0eeFwlDBo06KLp8Q3XQYMGXbX0ruX+BSBvKSh1z6QZD/aJ93TWdGHG2Sk8WT+zJd8cdIfWAORy3EqTxEMBUbm2/e0G1L1B5J0ZAs/7BQH/mSkNfa4HAJZQPvzk7Iwtli/qonMGAOePQLZnrDs9iu7/n7S1Lt6Bkh2Sx+W7Z8Eob9tseqo6jEb/mtD+hWxv6MpNoEW/xzxRnsiv052E964tL/ynlo1rLTxrGy+TAPPqfkE5uBA5COCOl+/C6v7F0LuXB67HdM7A84Bcz7qvv8DaLLtGLmubKb+9jVsm0jwBINk7fzJ+3Bcv0o7T3ljKrqHsjVcgOt1ifhshPtpoBorRy+bks4PiuPJmLtM5lIEneF5oD/nTOTWCYQb+DCzzLTKtBrM5pP08l+T01rZFGE+fAnDNrXcfXuMi6X37b7wOwIcXIs9hDjjyKQPgGXB22wdUBtgc4lbq5//7Mn1am0NiSL/mkbZMarMSeJKQH7McFz7Ddek8gNswnRNw8AsvbtCgQZvoCRizgwYNutrotuX+PQK8pQD/AwOqyXj0Bmm60psA/y5o3OA1aMBCUpaSA+tkTGvquoWAAIaCWy7TGcRzERzdMPFkQKPWDy0zPw17EwhnYNSjTYcA6tPsiq4oGz+3suZ0xZfr87aOk1pOMMQb3kNZ/FQBivarePK5bjOZAEdbx446DcZt1EE8hI11EkOYW/BotasR3+uvPh+qzvaIX+kn3R4B7d0H8KGvveeuS2J1/2Lo9msP/CUAvwXgGYAfC84JAFQHYKR0XFLeWCbrclHTeUchwLpOwD/gGixGZCB+JudFHPfs1HDzZCjDytJ3frwpsS7qNBcSxpgDCUriseXqbnhpo2YyHWdzjAe3voXY0Zo5Ibr81Lx9nnr9AcCfv/Xuw/8Zj4Pev//G7wbwlgiG3Ur/LLPqV38zF2JbpuJ85MG2rcBbedOXelglpdS2F8qrPOjn7Hq/NoIBroToAMjmxy+QDmI6J+Cdy9Xqoh0ygwYN2pme8FE7aNCgq4Petdy/B5CfB8p/34K1aFC0+ePKTGmTeBN1B6AmMCOq5unwHlfSBBHA+nVbBgpcRjyobROI9w4SKp2EiU4KNd4EVlditLo6skPtXJrwWfWYORnqKiJopa4TshzLM55QVxVZxjQtPeX92Q1ADg97Bj4nzxwkm3S104+jhEoMMHXAIkBcBmeJghuq1xwUgAAnC/DBAhxcTID/jq+9565LenX/Yuj2aw/8jwB+Lj6Pq/9ADuJ8HnvL+8FdGrT9MetPm6J4sjHLr1NZ0ALTHl9Au91Go2+md5abQbbVRy/Fm6OvAAAgAElEQVRVJnLgofZRX7dQ3mYOI1mygzSZr8iTW40PjobeaIuO1lZftEVIZE7bP/xyc58BUPBvbr378P+WMnMB9P79N75VRL5T6zJdivuufSuLUIjnB/B8wpETABqnkVAZLGNzlSTpUiDBeT0l8PmnlAUFeyT+LrbnKjyB9ACA1wP42eVqdeJJq2XQoKuQnrxhO2jQoCuepkgA+QUA32nGq4XHugPNChqDRyk3ysj4nx5MaUsb+t0Ym3A2Zn1m9edlKTe9lTUtRwsu9L1nnMbPAF1BRjrJyshk6U3aPcBf60S+QrmpbDM4LezfDgJs9/pyubN4rqyqMzL+M8fPAnarBDsCrEy/ChuwTv0c93fbam/uyMj4536VOZ2qPIDrE9YcXjt8WGLeN4ECHBFb2T8ol+nq/sXQ7dce+FEAPwx0+nhYya/jXsFJBaRTcu23m8iBUeT9qKblRDRu3ZaNUIY/iNGAu6bvzVnMAzuHjO8pdV2R5YqRz7Emg9Uo/qurmOfVHl3IFpw6Vghkev16R1lvDrK2Zr6kpomROu63Jys3Pp/q+djL7j58wwaRN9JvH3jxlwH4sAB7tY4YgeLA96wUdgDU5y69yennb2nyssMgbh3heUmjqtiJIHMlLb/hrA2qk3l4EunzAH4GwBuWq9XDT3ptgwZdBfTkD9tBgwZd0fSuyQnwiwX4G2xSsWHVM6w3AdpaBjkC+KC+ncqKBksbztq/aisa9Az09Us81I4rNODKe9njanBSAVXMBnNMqntup3T5OQAZuO3pJwMb2TM1BlWW7NyEnmi1zKCnGNbL5U/5bUUv8q0PYj1ZG2r9rLtJppbv6BxIZaJK9Hvs554HexJWXk8W4IMCHITgYCm44xX3Xjmr+xdKt197QAC8VUT+xnRGxty3Yc4roL+NBfDAmFyHKagECMAXA05Wbifcv4QyYOApHWfB2Zj1KXY0xevwLK8Bweg44g5n45YdkEDkUIvXMRgdkTsZhxn4j2OQ5WMnGTvH/NxBq/fI50DLSeNpw4q/1l9vJCH+iyrMy3PL19x16PAm2TfRbx948TcBeJ8QO9x26jCqkXKkb3Ya+byeR/19UX216Snd/H0Nv3qvFJ0IWV36PeVp7jA79ZcniLYBvBXTOQEffmqqHDToyqSnaMwOGjToSqZ3Lfc/TSC/BODVzjiPYI8+x2f83aUNKxLr0kYAAO1qbZzcnHE6W78KMDVHNcICX5E3fRBlKnNFargq8N+4okg8sRG7yTnSe64OkgtZ3c7KaxwO5FzgMxIYaMUzE2LburJZxrDS6OSYc63Rnmbu+A+ZeytRCoiUeqH/cY92lKPVT7vamspNb2Xeu1+mlf2DBfjQK+69slf3L5R+9doDXwSR30Ep34AAQAC/Ih0dVDqmPfloHj0Ujx16DGTiNiCO1AH82ETN5/9O6Xxf662UZ/IwccQNzxduxTz2wTCufM3TEx1/EfS3KXOZ0EmrOuW9+8ojXD1+21V0tKT1U7vEMxnq/DNXyCHtjrdavi8rfP6nX3PXoX+VCnuB9NsHXvwaAX5Q6+Rr+rTP1sgmMf5iZJL9Xs3zLbUBnxegZaqe+GBH/q3T73z9Xwz/ZycEp9EyMvDvnTpPGb0PkyPgPU95zYMGXQH01A/ZQYMGXZH07uWBpxWUXxbIq+pDoVU2e+SoZ/jyqr+mq7cAUJ6uodctm5gjEBuv04pAjxaLXN1RttbJ0Rqbk15KY0D1gCbC855xzvXHvEzs5Ig8+1VIH1od9xDHQwEroAmMOJ10OgDv551hCiqAI1Ch+c0x0V4J1luJ7FE0vLN27pUTZXLtVKaT+UVwEJCDAtzxdVfh6v7F0K9ed/3zBfgAgOsupB25X/bmFgeO58Lm9nHgN131j4ODAGoPvGc3SmgxWQRDdE76cdamceOMGXDy+ZFkvLVOq8yJFff2Z3L15HEfGocEjWtKoryBfi/iOIyRT5E2zZ1ZXY0jYWL0j245fGirKfwi6HcOvPiZAD4gwNcw+Pe/FeIP86t8xZV2S+SjQybaQ7+P0SnA5cX2ncrz82d9NydWh1kcW9EJsClS4ymguwC8FsAvLFerM7vDwqBBlx/t0ngdNGjQlUjvvvbA01HwywV4JeAPkANwwYaCGqDrORQYvJpNK9LVUAn5/3/23jzesqyq8/ytG4zJPCTzzcjMiBdviCSBqwIyKSKiOFJtl9ra2raUVQ5dpZZd3X4+Xa1tV9ta9ckEVMQBZ1sQkSkHxswEMjJf5MCJIRMLSEjQZ5VDOeCUgsjd/cc5a+/fWnufGxEZw33D+kLkvfcM+6y97/DOb6211843WxTlEmktAajXKynDXnAkehSUm7CxKLaY9tgx0bgDozvn1ti0xKgZJxqj1vJircs12xnZX2UlkL2nnF89ZvRwIY1+eRv8q34MWDqoXRTNbLZRbz+dqKZfZq71nugTOzUCAOSTCWkzpT66D8GJZ3/k9yO6f4Zcu//gFQBuEeCRrfcupzWfxlQNpl473n5PzXJ4yshv19jnqBXxF4zX31C77G+VVJ/ZViR7UZ9Hp5zQeS0nYG9PXdhv0Vh7G8p1Wu8eOVm1v8Ohrd+7lqi3053ECFJvi/5G5jbFCn//Uzy8F5c9/cN3feoUXV3ITQdWr5De+fdgQIzDRiW60Gu11Xy+GsfrsfzXaiL0vjqnrM8AYLHvHQBC2/XzOnHnS+PYJYp/5k8AvBbA66Zd9xfLNiYItjvb4DsbBMFu4h3TAw8E8KaE9A1AuXXQG+h+2+Iod3/8IGj5WJcZ4G+KF4llOj1H+32BOx+ZYrtags/3gYq4AbBz/031fz6Z2vT4CtFA45qN/i5KOVb45n8Ma5Ntc2zev0aidL6tiQ76fhfhPJybcosmGstCQU8dzlWnji/Gxp+NSkSJNJf348/fIkfAcGN93zzhTgCbE+kr8z/7I78f0f1zxPX7D74MwHUJ2Kfb+N0qmUG2mv1Y1Ftgv5+tz1mr2r9pB+PfmdZcf/8ZNMeTbeMFUsu3wztAFsHzw/18er52+9zy26u/s2xDdezwRNu0Eer628e/pRzRHptKw/aWMa7HYNF7A7RrPIz9pgL4wad/+K5XjzR12rz/wOoPArhaREw0XV2amh2g9ldL+tHxflpA7oVo/6iv/Fst9m+w7m85TvXRL1VZrmH/BohrZ5twH/oVRV417bp7lm1MEGxXtt9XNwiCHc87pgceCMGbU8LXAVas+XWlW/ANXyk0h3znVwleet66yfU3Ka0UW36eTuM1iwq7o3HDTlfwc1e9OKVuNvumDgvQ8/oGuT2XXdsQ99r3s9yQl6PYcWIpN6aj1/OdaHwGrH3OYTLs0arZXnDwTSq31xpboAicRaKNzR3ay5X5RbCJhBPP/mhE988n1+0/+D0C/NxYBLj6HRD6Pg6v/edFP1vle9Au9tcSoC1YILecStkWet5/j61DESjf+9bvBWvq+rvrvz1Actbz74mfltXq41jxQkHJZjDnVGNt5/mzvYD9O5DIptJcKVw3Pk7OZm9b4wstsN/z+rMFJOCDT7/7ri/BWfKBg2uSUnrvPpGXeBv0WjyuZglFekv1t7xE6hsV/KVuW/cBtXjXY70N4DbzyzKNQN8ndcwu+m4smTmAa9DXCbh52cYEwXZjG393gyDYybzjkgMPQsKbIfhafzN96kg9zfXsNzSr25tzRtvqH/1NpL+N9nP/K0GrohhF1PKNqL+Z5rn/oNeV0e7E1k2pPzzbaFJhyzZ2ALAwWdg/fy3x1chLxoS/qT+VrZUTwBxX5IqVdTaCmUUT8m4jpMbbXxwZ9GJyaP8+QR/dT32xvqPP+WhE95fBdfsPvlqAf8O/CT4zoyr+KfXnL+9DEVAAjFNJD8y/GdS2ldiFVqFMZswOH+kv+8ua73qC+f64zuTvBkaWzhQYu1p98n3J49LoR7bfjYf9vWj3i69YhGnbpWiygRpfbran9f77S/rf39b7SRli84T0pKfffdd/qy58hnzw4NpTE3CXAI/hbnD6PYt0Hk+QE5Y/18jHuEyX1rbhxIk5txxhigCK3c6D47MGJlL/ndnG3AHgKgBvnnbd55dtTBBsB7b5dzYIgp3MNZcceFAC3iLAV5/uTYK/Yc7zUenGxjsTqhtZVPfJZV/jBrUlkMfaMnqBdti5lK0INkpEq9WJ4Xnu43ARrm/ghQTbWPpH4ogEUyVcXLu8zUfa/Fks2RcJbCkHmwtU7ebX9rZcgEHUWEHE41SOttdtjdWCz98nRWQzpbQpIpsCnHhORPe3BdfvPzgB8HYAX+NTk5kqIwflM8bfR31NL0x7/JlRsazPx75noyLfv5by2bcZNe2sJiviuT+tERhxNIq1Y1F//LKorRU+mt8pafVgcT90mpD93sqw8kd7VKRxvl4jX4cuODadi+2xXkrqE/DKK+6+65ebnTpDPnhw7b8H8Cb+fW1lHJkpAe69ZqHeb5HSVn60nwyzjT4HfhUA5DbL31xx2/tss/54ndq2Q8Q/8wcAXgPg9dOu+9tlGxMEy2QHfW+DINiJvGN64MEieEsCXg5YiaevR4Wa3pQOz/3+RREpasIV/+uv1qpCPWaPx98ctUQJZwCMRv9dG7kPqdywqX2c7m+jVjYC6SvZ13aVNv3z/jr9UVz9vza8iA0VSeZmXIoQyzfao620xpCzDEjYSBkfv3wVYPvsI53U36Eyv2wC2ARw9LkR3d/WvPPSlYcLcCQBzwDqGhNG/A2MfRf5dT4wC8bxaH//uR6fOtKC0/wB970oP3LmfP7cmn6ofZWt/TMVaObarg3+nk0afQHtY3ty/10fylfS9qDOQLBj0Bqvlm398VI5PwSU6j+cmE0i0et/e9k5oE7HRG+y68t1V9x98msapt4vbj649hsQ/I8s4P3ntV4BQPdYxwzQmI9P/dbz83WoPe9EaK0AIKdoQ7fpSWOf/23MXwP4JQCvmXbdHy3bmCBYBjvwexsEwU7j7dMDD54I3pqArxoT6oq7RxtNrdWsAI4k+XP9DThgb2rSYMlpRa9QC1Z/k92K/FdrTUs5iW9AW9dojQfb5qN1pY+1QFkYpV+wv7TJfWoLeLa5dePfupCMtKQpwHxNfT/92MM26cfqXhmEPoBNETnx3Iju7zjeeenK06RfHvDJef6z+3IWB5Y6iZy6SfQdHM7xAmbhd4W+V6echgAnlqHfARbe9J11n3NDGn4HkZytroChy5KSPA7ud4oEtllm1fW7NQ783S6/CeXI6vc797vdrulP4zfeLzNq2vW2sTMUpXZCwwk4HM+/v2XkhuefBXDx4btPnpNI8c0ra48EcALApS1RzvP59bGahiHcb6k+J31mBE8jkNwfm1FQ+qvZFPrCXr9/lpDycoPGtsb3Z4fxTwDehL5OQLdsY4LgQrKDv7dBEOwkrrnkwIMBvD0lvIxvRsYi7WMRKqE04HYa6ciNKwkDfd0S7GM26Q0RR6P0Ohp5U4HaL6OUqputVpVxfzG+KWz1Z+x5f667YUR9sz132xcLHj8GumKCvYIvpFbZ5fraEvB8jbwmt++Itu0+P/R4H4a5++jn7x99/sf+c0T3dwnvvHTlCwF8QICL8mcKMA41pirw14JFGDXX+l616pD475d5LXVV/FN+35wSt5usCLOifrR72c5ybLs/lYOTtmVnqtT9TGRbK/snt51qO/XK7JRQm3wf6n7YDfn3ZygcYoonNgal3mdFeAK+6Yq7T76p1cT94eaVtRcA+ACACc+p5/ekCHy7rX9dLPQZEXo8P+c5+voZ5PT9/nVxtHN7fM7pFBbcBbwffZ2A66ZdN3ZbEgS7hl317Q2CYHvzjksOPATA2wX4itZ+Ge4eWxEbG9Wob141JZiP9dE0nn+r56ZB0PoigMUmOte17W+8W9kAY/UAygUWvqzg9FgeE0E7C4DbbI4n6vFiJ4lxeCRtl/tVWvCi399FmSyA4SB/XBEf/c5mVffSqXsxFOlDL/pPPO9j/zmi+7uYd1268goBfg+AsDOIxaWd3lMcAP7zzIxFlZXWnP+Ww4C/kzyNhn8Pmt8N35YReJL74n8ZjTPMOSd5isTpFPhjoamN6BinanyT+dabNtwgpgTsE/s7Y/tdnACj40G2VdMoKIrPzkNzLjcy7PCFExu88fDdJ7+lteP+cmRl7ScE8iP621d+d63YL1Ocil2mkN/wm++dBai22WwV31e9Tr/0YDsDgF/npW2HDIDd5QMAAHwEwKsA/Ma06z6zbGOC4Hyx+766QRBsa6655MBDEvAOAV46Kkxdanvr5lup1ppfcG1OY+d2va700a98A6zPoZH+EtnidaaLmBgvPsYpu95+7kMrw6HuV7vXDb1t+jj2CNhaADbiP7RJjhOPcbyMhTuHfSJjDpJeLM3LvvsEuDP1gn8TwNHn3xPR/b3Iuy9b+XdI+CnAimtm1NlmhOzwXYb93nmx7FuaJyrmSU3n5yrChwN8IT3Fi/Qxk+2zlCvI62+R/w1s2aTX8IUUq98eFtjOtvr3YuT3S+oVAXxf7VgMv8Ni2xl3UvbvT36OOstD/AtyXgLszNTdNpNp2PU3KeHiw3ef/EecI46srD1QIJsi+ILW564IbzVdjONzIvXv/cT0j50IQu+7/btUTwmwF57Q/la9Am1/F/PfAPwcgNdOu+6sV4MIgu3Grv72BkGwPbnmkgMPBXBNSnjJ2E2f3nFwEUBNaTTVqRv1AQB7gzm2fj2QTFZAa75pNmXYoI4Ac+Dw3FuxKPXY1wPQ67QEud44c9SxnEPjNBLZ49dj+8csZTHDY9/S9Vn4U+RQL2CitajH2MoKIAH3AmkTkKPSp/OfeME9Ed0Pet592crrAXxX/TkqDoFcONJHjLE4gu+nH8HtF7fNYxxgI78CPnpdotj+O8vxdpQ+ES0HwPj3WU6xH9lJwk6Gsai/dkFfa9/5XLUR5Kg5VaE//ztY7Gpb3jrH96tsH34zYbMFuH4EnffyjbtOvnNkuO4XR1bWVyeCLiVcJNIo6Af7N8tH23X8TQE/oer+tN1PNdDz+f3NTghydpXMAMntGxsbjrFdymcA/CaAq6dd95FlGxME54o98v0NgmC7MTgBrgXwZSzwGY5W8R0iC2K+GdfIkxED4lcB6I828yOHfa358fnysDfFdsdwnt+XbXNRKoG5/thNq23DXrL0uV4FoJXqWzk1qB3fvrkutVFs9rfSY+eWi55ibO6TPHdfNhPS0Rfe85GI7gejvOeylQcK5F0J6ctYisxJ1GUBSh98//lX8aUrbPTn2c+8FzveEceiV+Hvif6WmO9bSz3Dfp9KoVLa7p0ETjiX9sXYr88XLXfK2U1so61hYrepMUaoV227YoXmqkWEUpeq3/CSgUXvzaLIv/vBazoV/O8yX6ts+sWNu07+y7pXZ8eth9a/F8Br1bY6pZ+PLgX/vLPbj3mue6DHN8bYz+n30w/081zGqOzLGQgjv+e7mATgevQFA29atjFBcLbsra9vEATbimsuOXAReifAi1v7S7XulKMT9U1cHYHS53V7fHNX3/S0btSrNuCiRSPXbaX7N0+gk0ZFOOqbYm3qdNIwW+M2tt1mPtRTAMp4WSdApWfopt2LFgHuTVyZHxLR/eCMec9lK4+W3mG0ZkQqCRR1APiI57C5EpVK6yuqwn/suwIkF8mW6nzhF6AGwOeUb1dxAlAGQL5mbWvLCTB2TLaJRbx+V1Ppkz2LvvfD7qZj1PVZXSH+GB/5b52f98kwHo1sJ3M+nchZCOU91M9K/9/KiWBf/qkAT1m/6+Qc55hbD61fB+DlnHGigl5/WVnMS9lixkzfhwlt5GMBly1A70P+7aZOT3IbXFSQz2+/l3uIY+gLBv7OtOvi71awI9m7X98gCLYF115y4KLUe9a/pNzA0dxSl4+pNyxa8K6vuG9vavWGlCk3qUW0JnMLv7haeFUF+xTRfh9l0n2MT1O26fZ6zLjw9xkTY8v/+dUSvLNDj+FsifqmvtzGcyZAqwiYu2nvK/MnbCZgUwQR3Q/OGe+97NCBhHRUII8X+o4qY5954NTOMz73VMv82d8XjXa749UOuqxOrdF0dFvLoHy3nC90VHCfjjPD25T7KGWc5smPj+0T3PGt6xXr1ebxuivmfB7X4T+tCv/+eDFtsPPSOi5PIfip/3nTC9bvOnkLzjG3Hlp/IoC7BLgYKBlv+7I4l/x50b8JLLwnNNBerOtnkT875T2Xcn4+hz5r0DbL8dZhIKOfwT3GHwH4aQC/OO26v162MUFwJuztr24QBNuCay458DAA1wvwIhMxaqQ7tm7G29Gv8ZtzZixix+34aCKo7brQlSv8pyfyDXBlV3tcxvrKj375LDNtojEuvK0VyTT9ppvuMnZF4HBbmnqdgHtFsJnSEN0XnHjhPR+JKElw3njv5YdeAOAGJDwIgBEvytjnvZUqb5wEw2P7O2JFJl+rHDOc38iGsbP7nYBvBN59FHYs6t/6PfB9yucO4rGv7dFy+vk+F4HMv41qsgrE3EPqP5/fGk97jeF9GVITemHcmBKhbZETgH5yc89Hf9vd2LR7javW7zr5wyPmnhW3Hlr/+onI24rYLk/8Uqj6vnHKvn5m2r/ftXgHrGNnYs6hz7CU99FPEWg5rfc4fwvglwG8Ztp1n1qyLUFwWsRXNwiCbcG1+w8+LKX0TgAv1OUA7XzPcsPjI/5z2sfHMnyT3rrhS0BVUNCLBt5uonj5+nTTao73xa/sBfwNNDDeFxHJ2Q9exHhaY2T6izJu9XU4OtlbwvNBh8c+ut+n828KcPSFH4/ofnDhed/lh74t9cW6Fop/gIX7+Pem9bsClEg5YKOsrd+JLK5YWJMhLYHKWUEt6/h3IdvqRL9ZD97ZxG14L4J9Wa6Ui/S5/nMzc/QC3SxFCicqne35GLLFRrzt76n+jppidzkC7hy+uW1bf4B/f70D1vz+2d/ye9fvOnkA54mjqxu/BOCVQMk0MyLd+AEWC3o+vprr7z5j6ozh70UeUqHzfRsjn80An0e/ROlV0667fdnGBMEi4jscBMG24ZpLDjwcwLsEeL5mAPibbxbpXjC3ojj2hnW8QJ5vj/f5NMx8nWRvNkuEjR0X5Xr9igbmbq5yACC3Ye3xz/0UgFbhMu6bPm+JGlD/2A5Tzbu/Kb13ntKmiAxz93HiRR+P6H6wPXjvZYd+HIJ/Dyfq/HcHKGLVF8WrHGH8XGzxUP/b1F8ruTnmJHBdm+wYZHeAnsvfv7HfN752axWTsg9FYLsL+QwGhkX/2O+rF87lt6TOAvBTm4zTgX6DWsXumobRTq0PANFMLCteuRhsq4ZL632h3+tnrN114qQ341yweWj9YSJyfAIcLH8T6O+TEfD1qjf63vPbyH+DWlMATEq/+1voHQY+82QPrQBwNhxBXyfgHdOuO+f1I4LgbInvcBAE24pr9x98BFJ6l4g8L1HxP48Xs4tSOO10AHt7zFGOuTvX3zQvuhEGfPqsv8E3N5NG/LcidL5P9bJZZa8XAPkc2Eh/C99favY+EdyZEjY1pf9LP/HRiO4H25obLj/0hgR8sxW/4yuMePEHem6j7NYZ5iP/+VzdDytsS9ss0kkgOy+EF6/lHPtd9w5NdpByP/S3y2xL1snAtqThKM364d89XwjR25Z72nB6MMaJ0BgjvwJDc6zdNflIFflc10QZq7MyWqcF+LG1u078X41unBOOrm48ZwIcScADJL9P/X8n9Jo/h/p3gj+LgO2rTfen59RN71BvLWFZbELTARaM8nEArwLwa9Ouu2/ZxgSBEt/fIAi2HddccuARArwbIl8MAH46gGdsD99Et8V5f1S+yUUt7hfe6ND9pjfPp/Ry2qUvUIjh5soUGXT2jAkaPy5+2a9F6367bfeKYHOecFT6lP4TX/qJj0Z0P9hRvO/yQw8R4MYEfDFgRQunp49FmFsZMjaCXfa4AHSOwPJ8f3+NQfK734GSml6LWnuN1r5TCTIWh9mRKPoblbJDw5/Tmpqkgf2cZp5T6tu/R2z7GKQ30Yq+N/su5YF/20tmQaMIo9TC39swNl1LBCdWT5545im6clbctrrxowL8GGdksO1qk27XvxGQul6AwDqoeBlBHgOlPY1gpIhgZADcH/4CwM8D+Nlp1/3Jso0JgvgOB0GwLbl2/8FHAni3AM/t7y9J2KLcpI/d+PJNe45g5Rtdip7TNr5pqtpDfZOZ26BjrH31OtOjdg7/4ddjS46Vc+ub9pbDwNsH4D4B7kw0dz+i+8Fu4YbLDz0B/RKTlwHtCKkXtV70m6iw+e2wgt98t+g3p3YIljO8c3BM9PO51p52DYPR840Dg21sn89ZSXmMBgO8k3TibOHoNDDyu3WKDvrfTe+M4Tn8XigvwhdsZdHfbyuOh5ajdiK4/NDJE588jUvdL25b3dgH4IgAz82fNRLf+inWz7M6tYQEvz1H1G6DoGRHiJ7AzmIpoyr0OqGfOhOcFZ8F8NsArp523d3LNibYu8Q3OQiCbcs1lxx4pADvEZHnmPRG2JvQHAlBfeNa7lf8LamNMrXSS4FyEziRPpU073MXMuee4qeV225lJ4xZywKgP79dudy3I8C9CcMyfMBRieh+sMu58cDqRkrpVhF5FFB/P8Q95u1SloBz9S9GsnFKxN9HqKvCfsMrXt7NXBtWaDM+++d0piBwBwXUr7zZOkbMb1zuQzm29CM5e8q1s73D2I1mVQ1PRGyRvkXiv4xr2VOs6V/l5VpRHL/cjnFe+Gs50c/Cd3j8t6snT1ztTTqX3L62cUCA44A83NvhC9Tm8R/6UE3n0H66Qayr+vcXEXOM7qNigY1pJsFZ8W70BQPfu2xDgr1HfIODINjWXLv/4KMAvBcpfdHpTgPQGz+7ljMv2cU39Snv82vbA7VA9+m9lThHPe+/mQVAd96tzIIxB8BY+j85A+5LKd05EdlEL/qPfllE94M9yI0HVl8K4GEe+QAAACAASURBVPqU0gPGimLW36/aIcdThPhkU9kf9nvsmQxCigvRLUr396LZz4XX7fOGGOOMhjpi7kfBX2c82u/P7g+zRf7suNn+8O+mNuAdmJwVUaUwQe0q07da7tYxe6xN7d/lU/TlyKGTJ16I88ztaxvfJZDXG3uHJ5UTQLdDqs8uOzYEpc/ahm+L2+QVX/z5i6aVBfeLkwCuBvCGadf947KNCfYG8f0NgmDbc+3+g48W4L0J+MIJ6mJ9QPtmvncE9IKZn3M0b/QmEu30Xj1F0yHnSJUTAM0WkaNX2T7vWBC616XXejM/kg1wb+or828KsDlP6eRL7v1YRPeDAMCNB1b/lQCv8861WmDb6GkL7zwwL9z3t7lkHWC+xM0MgMahrYyfbLcep/bzudQgS7bq98p5FlpTAKrfQ3rGWQXeYeCdJnqdMp2rPUXKOEmSfa7vkc8U4P0tAV85e1Bs4BoM4/3FHMCTD5088WeVweeYO9cOvwXAK6yYt0URs1Dnwo8uks/TMbxje8IvYMW/GSf6uzUZPhyRAHBe+GMAPwPg56dd91fLNibY3cRXOAiCHcG1lxx4tIi8D8AX6DYWx35bCz9ndCTAZG788o3OyI1lK/11LLrE0RO+iWrcaDadCgDuE5E7U0o5uv/l934sovtBsICbDqxeDeAHW6JO639Y8c8yvmAEc0Ms+91ZZDpFXznxULdhig064c+R+SprqCHmYY6VvN1MFXDHNrpqnBG9XacW2dxu63exeY6OUXO8+L+1A4HFqmIK5NF5XOQvHytuqhfcGAHfvXLyxC9VDZ5j7lg7/HgR3CXAk+zfOTGiXrPWJjRQHKFvzf+3TgFA0//9+8Xjs08i+n8B+XsAvwrg1dOu+8SyjQl2J/EdDoJgx3Dd/oOPAfA+ADPdNhKpydgIUutW0t3g6hHDkz7qgVxMMN9gNm6wq2tThCnfpLqbW764L/qXgHv3iWyq4AcQ0f0gOENuPLA6EeCtAL5u3AnAQrt2AHA0dBGtAnIqKksqdXnd7x+KuXE7ZBO/BsbrnXjlPSbVTA8HW3WpuVaUvzVPvpXqrzYJuF1XJNBF7Zt9GBpqOVX5PWnZMjIUpo2xaQstR4w3S4B3rpw88fKRw84pd6wd/sqJ4J1APY7sANDXPMXDf1YFMFkO/rMP9J8rP32gvwa1I96tHZxH5gDehr5OwK3LNibYXcT3OAiCHcW1+w8+FsD7BHhWfYPX08oCsDeJrdvDRuQKLbGwWPwn2OJSfMObIyiNbII0VOYHVeZ/SUT3g+Cc8P4Dqw8Twc0p4VkAci2NsZU0ym+Jja725/rfBVsgT6P+uQ2Thj/icGQbGnOzQcf1vzHlABXwCSCBZ+Xs6Fx3d53ym1VH/n21f15Oj52Xcwz7cr/HbzXFDUqZ9lTs8KPAhVt9hHu8DkG9vGC+Ho2fPccd1D/+I4CLV06e+JvRTp1D7lw//LMCfB/QKN5HYp0FPRcF1OOr+f/gjIs6A8CPUX9O+RCHeLjgHAVwFYC3Trvu88s2Jtj5xHc4CIIdx3X7Dz5WgBsSkNdlrqNCXCzPbhO667TVp9uFr0xaKd8l0h15K82VBb85p+deAJsifXV+JJx86Scjuh8E54v3H1h9KoDbRfAUwFbTnw/P+ft/Gj5DE8vmwmkslPR3Ze5etzIRfIV/+GNgfnYAePFaOx9ZY7eyEZKzxYp/MSJ53ohCGxvpd9AXKGR7zFC6seJxbTlhFZ+uz9Ft68itb3VZDLMZfjqCyQ4ZLiTAtxw8cfyNVaPngTvXDz9UgA9NRNbVDhv1t++FKeznHAC8rWxHdgDkdgYHwCIHQrA0Pgng1QB+Zdp1f7dsY4KdS3yTgyDYkVy7/+DjJsCNCbiSt1c3pSZ4A7q5TjlFVfERonwj6Nugi/nrlfmaJvp/HwR3ImEzIW2KyNGXRnQ/CC44Hzi4OksJHxTBw1SwF9zycw31acVlW2SDT6HfCC/0Qa/H4HZ9lNZnFrCFNlmenASNc+qrF7HXO0fsNRdFy4tTYoi4UxYAX8f8rpIhE7i17bWf3Gcag9Y4WbsavRs5T50yJqOh/d78zsqJ49/c2nE++ND64WdNRG5LKT3QFwEEaGzJ+aGrAgybmw6A5ioA7r2y9QIEof+3DZ8G8IsAfnradf9l2cYEO4/4KgdBsGO5dv/Bx0/6TIAr/Y0yPxe6m9eb/rIkYF3oy9zEDxv4xscXp9KUf+Je5FR+2QQiuh8E24X3H1j9ehF5C4AJR9yrCLAPJQ/Y7z0q8SUgoSp1VpHO+de2gOIU8MvitW7Sym9acWq2jknuOE7ZF3/c8MqK7LKnLiZXt+V3cDq6748dN18c0LsvytaWHWPTGPQ5YJ0HfhzYueIdOC0ngAB/m4CLV04c/ywuEN364f9dRP5ftYvT9E0f3Bx9dgIAGJ0CoDUg+N00c/+Htv3fwmDpfA7A76CvE3B82cYEO4f4GgdBsKO5bv/Bx0ufCfB0Hx3jCt/99nKrVEWs3GttRyNgPoIG5Buv+wDcKYPYT0hHv+KT90R0Pwi2MR84uPbDAvwn3mbqcjTyzkvukBVL2SHgRGZrudLSlkWXJjWOCK9I6WLFqQmgsojMdwIQfj9fj5858WevUmwzw5SvNX5rSb5Ymu/vr9RyctSPI29TdX1fbyWPAbVTbJNhn1sulhoYjv/qgyeOXz/a0XNMt354IiI3CfCipuCn99muINFX8Fc4rR+N7fk1GhkEI5+lYNtwI/o6Ae+cdp3/5QgCQ3yPgyDY8Vy//+DFCbgJwGHA3aTS7auvJJ1ou2JudulOS1NVRXBvKoX6NlPCyZd96p6I7gfBDuODB9d+AcB3V2KWvu/O2UfRaiBLTb6TcqJyDhtttbVJqshyBTshiygeX07Pt6Ui29YcqB0ZPr2e0/xbdVGqLIYs6ts2eacK/wK3fpe1r7r6yj6xKyf4sWquuOKPaTg1gDI+zQPNNcw5r185cfxfNA88TxzbuGK/ACdE8KjeHuv0UY3evzeo5vADdvz0vbJ9L++CXzIw5v/vGH4fwKsA/Oa06y5Ylkqws4hvcxAEu4Lr9h98gvROgA0bqeLU2pL06ef/8/0p3RDeB+DONIh9CI6+LKL7QbAr+MDBtQdMgHcC+PK8kTyAKp77zbUj0Rdg80Kb8b9HJrpcXzpnE3jBW+cvLSiUx1FyFzX3S+H1tjUMZ9uNfYMjYxCMLRtMin12EPRH6OoKc3KmePv9/H/+BS+29W1olLt3GBTxOta3bL+xUdtITUeGa+LPJoInX378+Lw9aueH4xtXfBuA3wTqVQH0vZjQ+ypSovmc8dCacqLb/XvADoDGOATblz8D8FoAPzftuj9ftjHB9iK+x0EQ7Bqu23/wiQLcJIL11LgLz4WpGhH/gXsTsDkBNue96D/5lRHdD4JdywcPrj0KwOZEsN4W7lb+ccTfC9363HbEv7WeO6f/NxtOLNr0IOsOAG3OzguX+p6ju04Rt4Sy2sPC3kwd0P7AFU9E7QwwzghuL9WRZe+YUEHbygAYW95P4fn+vl/mgjS/QMg5I+68ZE970YHjx2+uLnqeObFxxRsT8E12NQBy7KCdKTGpxH3b6TJx2QJAWQIwRMOO5B8A/AaAq6dd97FlGxNsD+K7HATBruK6/QefJMBNCVjzP3DlpkiQkO4D5E5BvwyfAEe/8lMR3Q+CvcYHD65dLv062xezkNJU/7y8n+pEd34rSs+vy3F1VLl5HG1UkVyuU4s2vaZJckIt4Ln9eknUxjHcNk4d+a/spzn7uiO3A5v2X/o3XNNPpUj1PHWT6dUQrWTG6M1u3k9iODXOq/rUb37VgePHf2ik6fPG8Y0rHjMROZmQnsaOFxHrBOHxmjT6p58DP/48ln58wwmwo0kArkVfMPADyzYmWC7xPQ6CYNdx/f6DTwLwfgCrNFf13onI5jylTZG+Mv9XRXQ/CAIAN6+svQLAW4Aidkpku5dMLKg4Pb9OSy/bJyNC20ddVVHa9H8vwctz80pqwazXqCcJ2CkAvAqCj5Ibe+kAdh5oKn/VOTffP5HnxC+byAJ0LGW/OGJS87F1PPfXbxO6SEv0s0jm90THe+jzpy47fuwyLIETh6/4MoG8TwBRm3SM+PPg35tcF8ANmK1TUdpRJ4HPJAl2PB9CXzDwd6ddF/dBe5D4OgdBsCu5fv/BJwP4PhHckRKOvvwPPh7R/SAIKm5eWXsi+voh67qtXrhu2N6IgC4Sz60IO683XyKxyMuLZmjOvJmGsEDsMgl9BXhf3I9T6XV5wFNF8kv0u+3IaAn5OsugpOq3j7eOlWwzbJr/WMr/WIHApoPmNAr96Ws/LsURJADwrMuPH1vK8msnDz/9KgA/pO+TOgCA0j2ts7CPnB25/875M5Hy3pjsgaFxrV0R7Cr+EMBPA/iladf9zbKNCS4c8U0OgiAIgmBPcvPKWi4eCo4o6wGDOspRYLRvnLzo13n/XOzPVOJ3Qr9Ece0qA4tQMe9T4/VcjfCbfYND4FROBOHjBwNbzgzjmqAXGvW3065Gxq4h/H3Ev0Ur84HH43SEv4/6277DvDf5+GQK4v34ZceP/WjTwPPMycNPf7AAtwO4MtsLm6mS+0JZEpNysO2rHkfb+HMQgmFX8zcAXg/gNdOu+8NlGxOcfyanPiQIgiAIgmB3cfPBtYsB3ABgA2hH9wH0gjZHWCmK6p6bU0SqCuteYKo216kCOcXeHMVtFjuyM6IR9dbr9O1rRFjoebsPRgy6Bn3BOO6Tnzueqw/mrS4DgAWquEeUtPU5pfkvQu1gJw3b6p+PbTPvL9mljgBpn/iKhcadR6788F2fTcC3iuCz6nRRB0WrVgWwODvCLM1onAg0qMFu5ZEAfgjAJ7ZmszdszWZfuGyDgvNLOPSCIAiCINhT3Lyy9jgAN0KjpyS7ec63plYDJV0eaESXeV48Rf897AjgjIISAe+P0Ih5aZ/Odyn8bCNL7XJ1Oy8caN/8ab0ULibXisCba7gLloi6uGNLnzjq3ori8zE+/d9nCVROFfhMC9vxRQI4tzvYMie7uE9wYyKCg5ceO/YJLIm7Dj/9ByG4mpf781khfsnb/qPWb9NIIGd4TOj94GkCIRr2FB9EXyfgmmnXhQtolxEZAEEQBEEQ7BluWVl/LIAbBHKlRpyzABUST2IFj0+t7gWwZIGkBf8mw7YciYd3Fth2yrZyYV9TIGmIGy7KTTZOKHRfBJ9Q4bcxB0G/b55SLfBMVkJjPKiYQUv0cx6A7pNhjHNKunFg1GKzX9t+cEgkm63AZlrHhB5v5xbQMFb9KRkWZKuOZ2MbZVosLQsAACB4tQDv40yJeX7fzIQWOqf3FOjHrh+ilMdWCx6i3xzif2/yIgBvB/CRrdnsX23NZg9dtkHBuSO+z0EQBEEQ7AmOrKw9BsANgDwLsDdBOaJNYWUreMXMqeeIKRe7M9FoKan+xWmgr/uIexa3KBX1dYm8LPY5wj4yh9/b00f0XaYB2Sd0MlffbwlGcS+yU6IxTmPF+RZlIDQj8Y12uA85iwDtDHWN/id6nh0DdG42iIyw72TZ1qpXkBJuvez4sec3TLhg3H3FlU8F0kmBPJazAHxRQH7vzRSV7IwpNSK0jSj8Fwz8OYDXAfjZadf92bKNCc6O+FYHQRAEQbDrObKy9miBvC8BX+D3TZyw01RyRTQ9fniujgAW3Syu5qiXVmuJcD6THQRmOTwnnJtz3EdE2tjygF7095tajoi2WC/LG9bXbDoQyAkwVkzxdIr+qf08xt5OzgAobTvnx7ChNR3Dj7IWZfRimvqTEvCUS48d+5Om4ReID19x5TcC+F3/fk9I6OdHcojY48vol1UBovp/YPgsgN8CcPW0635/2cYE94+YAhAEQRAEwa7m5pW1RyXgPb34T1bkNEXs8Eip5JVgbYh/fp0LyJHYtseW+LWKcgGy4NfUeKoP6CLdQv/aTMQ7MoY0eHIM1HP8i9I20XWhbVn88/WtQOZpCrkwXaMvZj49yjz/VoFAZY5i25w7N0zH4AH34t9MzWDxm/Sh1BzI0yeob+a9lPx2fT2WzOG7T745Ab+hr7VuARebZMpn229vfyeCYODBAL4LwN1bs9n1W7PZS5ZtUHDmxFc8CIIgCIJdy80ra48E8B4BngNwBN9HP3t8BH9CTgA9n4+1Ret6TGSZUqpbhf6MQCWVusgxoa9aUwH0+jZDoGzkyvr8fOLs4faM8K3GTNrH8bV9P+nMM13qzzglMP5+6PvI/TBjQX2x0f/GZ0KdGpTBwNcUyLsuOdZ9VbMTF5APX3HlIwGcEMGlZbzEvAdas8IMg5R3cZ/wGFrvS4iGYITjAK4G8MZp131u2cYEpya+y0EQBEEQ7EqOrKw/IiG9WyBfDPTijdeKB+roMFdF5zn/WiVf14DXef9emObHEdGkkVmFBWkVlXZtl/Zq8W/n8dvj+TWnhLemE4zBkX0WlwuPJaXsK9OrLd5hMNaHsk/K3H61pzU5HzY/gacM6M7ynmnxQZuXkODqODQuM6xU8I8CufiSY93f1L25sHz4iitfIIIPTCATda6UbA/r1ALUKdA/Y0dO2dd2igRBg/8C4GcA/MK06z69bGOCcWIKQBAEQRAEu44jK+sPF+CdAnyxT/uv09CHfX679BX9s2gWqYQ06BwVTDp/ulSUV/kltqK8isthN1fEr9uW3A5fWqitPG1g+DfRvgmJ6kHN+r63CukVu0o/JqZPRTQnwDg+MDznlHJx5+ZlB0XHtIxJlYWgz1My71++nIjpO/eLnQUJ5qShPyUjgndzBoexETq+gnl/7oMAfHVrCC80h+8+eUSAn2Lxz4h/nv+T3HtVHCNBcJo8FcBPAtjams1eszWbXbZsg4I24QAIgiAIgmBXcWRl/WEArhfB87MspAg2q13xj4Pgz0I5pUoce5HJ0dV5K6TdwBf4Qypz5a3gL/FoL9CAPqPBp6Tzo1d8YxHdLIN5h5s/nqCL+0kW0xMqJOeXSvTNzbOzoBenPgNgnko7gtrGqm0akEVCNUfAjX3FgSFukDiDwY93Mv/6gonD+ctdDtDyowL5EGCzMNh2fc1fiNZHt7k8ZBAs5uEA/jWAe7Zms9/dms2eu2yDAkt8p4MgCIIg2DUcWVm7CJDrAXxJJYJHBF2JAXOF+yIsq7n62qzQuUnFtUrkcqSPsvsIfosi+sWkoAN2LjoL7Tm/HgzLIp2ub6/T2GbGgOsFlHO8SPZi2Y9V6ZO/1sgAuL6BbOLpF2PvyXwwduLs9O8G21SyOEp7fkm95M4jB8LfieDiadd9ZrxHF46PPP0ZqwA6ABcVB4jkJSJ17CY0Jtx3PR7AaE2KIDgDbgVwFYC3TbtufqqDg/NLZAAEQRAEQbArOLKy/lBArgXSl1QiO9n53JwarsfocxVIehzcMWNimkPmLCsTFrfDRddYWPqMAl2NwBeiM/2kR0hJ359n4Vr3tzLKdKAcxVMUNFqfBaNzrLTEPx/bymbgK+r0BR5rFf25MOOw3aT5J2ubnZpQv6tzddhIbYeK//yazsuOAM2AEDwcwJdjm7B214mPiuB/zdMYhu3qBNA+V1NB+IPlHE9BcBY8D8DvAfjY1mz2/Vuz2cOWbdBeJhwAQRAEQRDseG5ZWX+oANcAeDEv28Zzt0vEs8cLeY14qug2mpiOT+irpQNcIE6jqDLUCkjDdSVfP4v3xhSEOYqrgK870ZoCRoiSbU6cTQYlK7BeAp7PnbUwn6uimaPBdK72lUW7Rtn9OJXrSfP87IRxUwx4PPI2EW9mPm4C2D6RHTkrg8bB9qe3bx8XcnTjzJH/OQn+3IYMU0RS7st2mgaA1ZMnfm6ecP2EPyiaATAMki+AyI6QEP7BeeAA+kKBW1uz2U9szWZPXrZBe5H4agdBEARBsKM5srL+EBG8AwkvZZHvI/z8WlPjW/hjTRRa9xlHArdaBDST94gVy94mTmxXsczp/nmqAhop/8P5Pk291QeNiJflDUl0J+TVDnQsjdiX4gDgbAQtEKhp8X5+/SkL0mnPeU7B8Lgw7Z/HxTtYaOx46UVPyzYec50aUpaFrK8B4M8FeNK06z7fuMRS+OiVz3iiAHcBuJiXTNRlLkXK++bT/0MkBBeAfwTwBgBXT7vu5LKN2StEBkAQBEEQBDuWIyvrDxbgbQBeKtIuRGdSxPk5RfrNczrXCM3hxYQaVsnLst+IyUHt++iyT+HP67MLclq5Xqs1fQAYIuAk/Eukm6PvTtjp9ZON+iY6j5cKnKeSQs6ZCJxCPoHocniwS88Vh0C+JjkStIBhFvAiOUXdFxbgyH5LmJbpCTKMtwxjKtV4aJ/NlAQa39wmnVmKQtrz3TSGxwN4QcO8pbF68sSfCvBKAECi7BKx/a5IY9NcguCc8iAA3wHgxNZs9p6t2exlyzZoLxAOgCAIgiAIdiS3rKw/CMBbIHgZTb+vRE0vXq2QBEo6t0Z4vQjMkd1WqBos6EvUHYBZ2q+k1teCqs4XkOb0AMHiG7aJTjkwDoZSvT3xoJBDQcclqVdkcI9whoOffuAR6Dz6lOVyQnLTBfI8ebtUoVAkejDUFGDk92yBEdmBIdqHYlvtaBl6Sc4IoGQ46HnII4HsFNF+jAnj4bxtNQ0AAFZOnngHgF/iN/Lzw3ueV51oOKd6x8eFszPY87wUwLu2ZrO7tmaz79yazR60bIN2K5HdEwRBEATBjuOWlfUHQfB7KeFrdD4zsuAsj0b7iq3wz8cqPvqvgeis6YeLcVV5oYslOk9T5OtrybC/pJTzc8b3pdo+OC7mvl9FxZoIfxG1/X91KbtTMV6wbzzVv19CriwT6J0zVSr/gikZ/rVOT1Dnhr4f7FBptbYo1b/Zr0alPBra1jX+YNp1lzY7skTuufIZD4PIcQEOAnaqxMR9biaaRYHxjIsguAD8CYCfBfC6adf95bKN2U3EdzoIgiAIgh3FkZW1B05E3pwSvs7Oxe+p59XX4pLnlPtztC0W8xo1nhhvQy2PTOZ6soLTOiL02CLcW+vOt+3R49Mg1IoI94LeRHcTcoHC4lg4s3nx7bEa7EFZYo6X4fPvB0f956ClF4eLLup77s+wgd9BzqjwtqrDoNWPnLWAIn6B4b3RFuWMxPAXTLuuO71DLxz3POOZzxHgiAAPoG6Cx4trAthjgmBp3Afg1wC8atp1H1+yLbuCmAIQBEEQBMGO4dZD6w+YiPzOPOHrWJ2oyKtSvhvbgJLyzzUBfLQ9R/ZR0sD1OdwzTW03kegRMZ+GnPuUSgTfRrCH41BEuBXRqV+pYBDAKmKBImB16oLoydQW1wrgqQsmTX9E/Os1uMK/LzqYqC1dko/70O+X7AzQyvSL5hrwfH07HuUd5HHwdusYK9aukhVR6hXwVIR6DE7BtpsGAAArJ47floD/oBkT/Ueo9JGzVUa/OEFw4bkIwPcC+OjWbPbWrdlsW9XZ2ImEYy8IgiAIgh3BLYfWHwDgjQD+O93mNQtgo/1GyDXarKLaLlpepfsLp067+fXuGn46gdrGlf1PlYmQzxW7k4VumX/vTiLFnacKkKprpf672ntVU2WbFcengx8LdQT4/ZwlkK/RmKtuVkwAd7dMPVBM8T7XDzOFIY+XHYczTIX/8LTrrjj9wy8cH3/GM/cBOCKC5+qY+VUAJm7sgmAbcjuAqwD83nZadWOnEF/vIAiCIAi2PUdW1vcB+G0B/vmi1HSAUsoXRZRRRJ1ZOk7q/fYqeo3hemaOfRsttFecB9Yp0Zrbb2yVMv3AROzRcBwItUlzvOdmnr6ds++vI40xaDocxNYu8CLbp/vDPdcsAH8tPi5nCTQGRu3yEzLKeNVja50yNM/fXbTlCDlDDk277p77ffZ55BPPeOYBAMdF5OEAvx/944TGIxwBwTbnUwBeA+CXp133t0u2ZccQUwCCIAiCINjW3HJofd9E8FsTwT8HVPhZOI2/F/X2CGn8m4iL4qvoG87w6wKosBVYh0ErU1rPnoj06fq6XVyGAtsDuCuSEKV2J6ji/WYg7FJ1pS5Aa9w0896n2LMdar0u88d2af90PBtauuqrNtA7KVJDmJexYPHP0x302DlN/MjOg4Zwra5BzpRSf6Aem7NgW04DAIADJ45/AsAPmEwIdvoMVS9D/Ac7gEsBvArA1tZs9h+3ZrOnLdmeHUF8tYMgCIIg2LbcsrK+TwS/AeB/UKHuhWyJ/Eperx2onQAejhZru7y3is5TeJqjzHO9Hh0v9F+N+AuGuedOZFfPyWmg6e8Tipbr8T7yzUJZX84H8T+WocCRbu5vFSWHmGNbKfVe9Ps+9QfpMoM2bd/blFP+YcW6uCvoezg03cxiYNu4YCFQHBg8vufo5nhz2nXPOzdNnR/ufeYz3wLIK3gMJ8P7reMRQiHYYXwOwJsAXDXtumPLNma7Et/rIAiCIAi2JbccWp8I8Osp4du0QNlYyrjCS/158afncaTfi0egRMxbghsoxdJajgMxRzuxWjkZLDx1QaPqXPHfizIW4r0d9XUFbWHr0/y91XouUFL+/bkeL/hPZxqGf92aBmCnMNh++T55Z0Yr8g+U2gsw43dOSQCeOu26Pz63zZ477n3msx4nwF0AnlzVRpDRHJMg2CnchL5OwPXTrmslau1ZYgpAEARBEATbjltW1icAfiUB36Y6TSPtLOpE+ur8Mvxrif8JbKQ6pzcP7WpEekgIL+JSRTKlHHCldBGftj/EmCkcr3Z5B4YewY4JzV7o+1DEKjsCsgND2xLuW6J22ZaSnm8cHkDlHPCRfxb/i4R/M7tAL5RSdZx5LtYZo32fDDt42cLeMlsLodXGGCmlkiVCn4O8f/HpZ4IA+Ppz19y55/Ljx/4iAd8pgiTQlRH0f0Gw43kxgGsB/P7WbPbdW7PZQ5Zt0HYhHABBEARBEGwrbj20LgBeL8B3eNGIxnM7x74W/4les/LMy6BpOjvUkVCuIXpimdhOPAAAIABJREFUcsukGTQ2PfxPo9DUji47x/0ps9eLwIdoH2wuQX1FvjL1z2UuZK1b1QZwfaT2eIk/E/mHFdhezJu2eM29kXoMyR3qpxdwtN/bmusBsFOj0R9jZ3bGkHMh+XbPKdu2DoBy+fFj7wbwWmAY++wGC4JdwxqAXwDwh1uz2Y9tzWYXL9ugZRMOviAIgiAItg23rKyLCH4xJbwSGKLslBLvOdVcZXEvSvZAeVYizLVQ9Q33kXqOurfnyOdjUQTm3DXHIri1coG3Pdce0G1D4xNIc64/6+5WYTw9T5v38/25wr/Hi/gyXmKUvND7M/Y+abV+HlsdV9+nVv9a+0D94dci43acBz4H4AnTrvv0hbnc/eNTz3rWQwX4EID1RUtmBsEu4TMAfhPA1dOu+8iyjVkGkQEQBEEQBMG24Egv/l8H4JWQEnH3EX6T8j9sH41YkmD288Z9pJuFpRfqJtXf7edl8MySgijCtzUPPw3n+uX91CHB5/kOqnNCRW5eyx2wbaVa/AsdVyL3teTT5Qu93Sz8TeSccvj5tc8UMP2Qkh2hr9U549+vMu3DjQPZb7IfePrChRf/APBAAF994S53/7j02LF/APCtAvlchP6DPcBDAPwL9FMDrt2azV68bIMuNOEACIIgCIJgW7BP8LMA/mX/vMi0iWi6t5VuXPGfRSLQFon9c5a/jf1Cj1JHur3QtPPWtZ5ALZiz+KU2rY2SHQkTOjufw+qZRHlLvKvYHYuUj5Gy6NZaBKhqF2gbOrXCCGrK0uCofzVW/p9kq+lcdQKUseUxE2cXOzPKGMgwdv0jL6d4Adn20wAAYP+xY8fmSP+nfj7DDxDsAQS9g+7GrdnsQ1uz2bduzWYPWLZRF4LI8AmCIAiCYOncemj9ZwT4fqAdLffiX0VKFR2mnZqNrpH2sar0KizzPH2x9QMSeodESkXWyhAdN0X1pLYn94MNLjXoTIq9OZeO5+kKAgwV8ZFfm/4LzFx6Tq+f02uz3BvVBuC+mPFx5stwgdzPkdTx5jgMlickM42hP77fMHH9YPta+F1+mcFTTUM4j/w9gMdPu+4zF/ayZ86nnvWsyQRykwhetGxbgmBJ/BGAnwbwi9Ou++tlG3O+iAyAIAiCIAiWyq2H1l+NQfyPwdFdv00A7JO2+ISUKHYvIG3WwMQLXalFYttlYAXzRIrIbp1jC92VYnRj/SrPe8eDlmYrUfr2OSzetW8TZ6+2JEZ0U1tjY8nXGmya5NSHMm2BUSdKyRJQp4wdKGtDMuOlNvnpCPWjdaYYW5YX0n4YgK9Y2tXPgEuPHZsnpG+fp7RrhU8QnIKnAfiPALa2ZrNXbc1m+5dt0PkgHABBEARBECyNzUPrVwH4N/paxaJGxlUom/nwAyzyqv0m0tzYMTzVaHuOusOm4Ctzlz3gq+rrNbKzAY3o/oiwbmlTTTZIJm/drg6gDgufFs+97NtPZts+WmUAzk49jjMqqlT/xnGcAZDcfs6kMA4Z9GM9QVnar1p5QLAw8q9FArkvE7FjxO/tBY7+KztiGgAA7D927A8mIgudcUGwB3gEgB8A8Imt2ex3tmazZy/boHPJkn4HgyAIgiDY69x6aP0/AfhhoKToA73o9xXoR6PkpEJNqrdJY7eCUjPPOT3eU9oqUrpVoZ8FLmCFc7mmvUJrKkKrP7UdNmU/96dhu31dxHVxBrgxcef71H0j9N0cAT7dj4c0TtEsCLhsBj72dPpmah9Ibfc24i8APHHadZ9ftiGny9Zs9gYA37xsO4JgG3EEwFUA3jHtuvmyjTkbIgMgCIIgCIILzuah9Z8U4IdzlDbZonzGIYDF4i4N/7Hivz+rSl1HiSprcH0sCs/HitiK+DZhvbRdphvQSgUpmRR3v9SaKWiXr1HkdysjYSwqLnSu75PO+fd9436x6GcnB190USaGmVKRo/ea+iBU90AnNZTpE63+ifvn+8OMLRW5DXgcsOPm1X8PgK1lGxEE24gXAHgrgI9szWbfuzWbXbRsg+4v4QAIgiAIguCCcuuh9f8HwP+mr7NYHp4n3j4813BLco/9caD0eisBOR2chXpJsUfeb/415ue35qErue1EywJqtF3ELNNnzhkMK46G4iCYGDdAI1WfIup5zjy0UgAL+BL1T2xfKlF3tsnaJ7kP5bpixmqO0o6pgZDn8SdwtL7UHyjF/lr9Yuz7TVMhyEvhx2ebsWOmAQDAtOs+DeB/wjKrJwTB9mQFwGsB/OHWbPYftmazJy3boDNlW/9SBkEQBEGwu7j10PqPC/DvNRKsUf48z39I/R9LQTdZACT+cqTZ7TIi/5Qp5dy+E5jNY2zKP09d4CJ7aBzPjdV28Xx42qpZC1KPib8Op/2PwVH2sT75Of58DWsx8li3xkz75LMZWisPjC0/yEULc5X/4bxtmvrPbE277pJlG3GmbM1mVwH4oWXbEQTbmM8C+G0AV0277sPLNuZ02Oa/lUEQBEEQ7BZuPbT+owB+zIra+laklQ6ea+ENqlSj52MC1zRLKrK1fn0Ry8UmAUwdglPVCsjOjCyq2xH/dv/6Vvr58zpPv92zMScA94Ov79P+2e66bTvtwlx05ByznbwRItaJkah/1GTlnKmcPNQ3RR0AKbX7to35omnX3blsI86ErdnswQBuB3Dlsm0Jgh3Au9E7At67bEMWEVMAgiAIgiA472weWv8/QOJfhb8KzjTM3+YodH8cSpScnqsABopg5YwBjQ7rBhbMcMeWx9LKPKmItceBXpe+oBLe3A92OKgTI8+PJ/XsY+yt6v76epH49/AUgWZf6L0o5rQv3rxCY3DUoVLGXMi5YW3iugFe/Jf6A8UcddBMxK/wsO3ZUdMAAGDadZ8F8K3oo5xBECzmZQDeszWbndiazb5jazZ70LINahEOgCAIgiAIziubh9Z/BMD/7cU/R/850g7QDQpFu22KulHPFHnHIEDZSTCcl9gBQPPrpcydbxS5N4h/ItqWmLn7cy76h1oj2zi7dTN4B0YrSl6OK5H+0i92JUhzKT0z159XJdC6C7SNhby+L9qcFvAT81gs1CJ/bI/2he1qZiSgCH39HPC0hx2Q9u/5hmUbcH+Ydt3dAH5k2XYEwQ7iSgC/BuCTW7PZj2zNZo9Zsj2GHfa7GQRBEATBTmLz0Pq/A/BTQC3YWsvq5ci2CnHYk3hZvrHbGC0sp+LTz2nXJk3Ku0iee+7n1nO0ZK6vhaLuZEor9R/UHz0PSLRaQft4wEbJfTZC6VdxAqjg93DGQO7X0H8ZLsj79OL8HpmMg+HgUiOgCPb6OrYfc3Kw+OM5o0H75GtCLHLQ7ABWp133sWUbcaZszWYC4D0AvnzZtgTBDuTvAfwqgFdNu+7eZRsTGQBBEARBEJwXbj20/m8xiH8RKRX5Rarosj4HCd8iEoUe27FfnyWg28o1BLbegI2j91FwX3TOClmgv3EyVegh+TXH3k3qOmUkeJv1kNTYnvslpbq+HQ92iNgq+H5ck3s9AUX+3XSM3Hepl1E0/2TIAMgd0Jn+yWRfcAaDzwjITozh8zHhQXH9M9NCdi47bhoAAEy7LqFfFeAvl2xKEOxEHgbg+wHcszWb/d7WbPa8ZRqzs39CgyAIgiDYlmweWv8BAK+yUWMn2umxzg5AjpBzgb7W0ULHs0hsyf1yJp0vtvJ8dSUpDonWcnY+s6DdSMkY4DNKpNv240yK4nEfgHYF/TFMhJ8i/hOU5f34GqUvek7pG4a+pfzYdsgwWheAszHUrl16k3rbtOueu2wj7i9bs9k3AvjdZdsRBLuAowCuAvDWadd9/kJeeJf+tgZBEARBsCw2D63/awCvAYrATG5OOWDnlPMdSSsVnwUm4PZxxNydX7bLIJKtyPSMOQ3GlvbT2gETUMFA8gjkrAInlKFt8nFO+HM/tQ9zcoaUPtXi2i+lp6sf5LZ5jkHDMeMzBthBoVv6dmuhb9pqvK++X/1x3i3TPm4XkAA8bdp1/3XZhtxftmazXwfw7cu2Iwh2CZ8E8GoAvzLtur+7EBeMKQBBEARBEJwzbj20/n0AXsNp/gCq5drMPHEn4K0IpnT7QYSzKNQidBPaNlZYLg0X4+kI+ZrufO8ImCd2PvRSWsW4bp+IayOLZWuPwF1f3KO7drbfXY/P5yr/vg98syf+BDcVY0LP7fz+wYZkpwpoyj/b7+3K4zui5AXFW1P1o33KTkawQ4sBEv8LgE8t24gg2CVcht5hvrU1m/3k1mz21PN9wV34uxoEQRAEwTLYPLT+PQB+rlXcT59rWrm/AREOmzcS33kvMJ7m3rqxsWnu9ny2yWQkqAX5uLKEXSvavzjd3cbz2UlQpha0i+H5a8O0YM9lNOKv2QvVUgLOMn3u5/zrE/9OaPSf7WhlM4y1mfsgfnR2fJG/0+F906576bKNOBu2ZrMXAPgAIpgYBOeazwF4I4Crpl134nxcYHf/vAZBEARBcEE4urrx3QB+PqUkOp+b12mvBLqL+oNEro1wD5F3UsYLU8ndrU1fdT5VTgAf5Vc7cpZB4jZs5N9X+jfTEBI7HBJJ/mRS/s11GyLYo+cmasdPc+B+6GMa+uRVtXe38PXVJu2LTnEAHVPcAJRBoO9JQ/znsaUB4M8H271oHHYJ/wTgCdOu+6tlG3I2bM1mP4FYHjAIzic3oK8T8K6hEOc5Ibx2QRAEQRCcFUdXN14JEv9FSFP693CsRqXrLIASXWeymKbicyosOWJfavCnoagcp9Zb4TsR20YWr0IiX5Cr0uvZEwgmw1WqaH+yIlhlsVkZgCLk5p+zxSOQqghhri0Al2ZP/QTZ7kPqXvzzVIzcjpR+6zlzl4nA0x58koFmCZT9OraS+6TjVvd5V/MAAF+zbCPOAT8K4EPLNiIIdjEvAXA9gLu3ZrPv2prNHnwuGt3lv69BEARBEJxPNg+tfyeAXwYgXLm9mfrtouRc3b84BbiK/BC5J7VaR65LaoBGxxlvB2/zjols+4I0+Qphu31LLmOgynpYTGuuP9vfymTgKLvvTwKdBCv0TUYBORtsxYVxu6v5/+DzrR1I9nifJbJHeOu06/7Zso04W7Zms1UAHYCLlm1LEOwB/hTAawG8btp1f35/G9ljv7VBEARBEJwrNg+tfzuAX52ITBaJuJKKDiP+7TFij3UN5Ch3Q0TrPPdWITw+tumUoCetJf7ybhbJlI1ge9g/98sDFiFeT18wdsCK5laVfy/6BX0Ng7KaQjlBV15Y6JShF3YVAtunUwn/pjPCOwB89gINzh68Ib0PwOOnXfcPyzbkbNmazb4XvSgJguDC8A8Afh3Aq6Zd97EzPXkP/t4GQRAEQXC2bB5a/zYAvy4iEyv6/LxvYE6iV289xpbUA4rI5uC/FrVrxeaz4G5Eoet4vBXknHHQounQkNJyObfM9gdq4Q+4KQC5/bHaB0bLV+PK6FQIMz7DyRz99+OQx3lo1I5X7cBI4Pex9KdestFi5vo3sjn28M3oK6Zd97ZlG3Eu2JrNrgPw8mXbEQR7jATgGvQFAz94uic94PzZEwRBEATBbuTo6sa3APg1DHqQRRxX+dcoLwt6IA3PSfyLFcf6nJ0APl8Awzz/XsAKRa6Hcxt2Z5FMwj9PN3BFC8tVGpFyEv0t8a/nVtkKUlLjdQnBlvjnQn88n37MplwHwXsaGseaKD3Nvxd3QsspMnHOHFeeofTbRf5ztN+Nibnu3uQVAHaFAwDA/wzg+7Hn39IgWApfsTWbPQbANdOum5/q4PiSBkEQBEFw2mweWv+micj/l4B9uo1FqQrd1pzyEjHXs+yNSIIVynY+uhezNtbeOwPqlQc0Op6PpBR3U2ugkY3AEfzkGuUsgFZE3jsAfF/5OD99wafV+75oyr+Juo9U+OflAL0jgN8X0Fjo+LCNGv3n97X53jnYOVNPndjz/BX61QD+admGBEGwd4hVAIIgCIIgOC02D61/o4j8lop/AVfhJ5J5yM/LcnKD+PcCWYrYz/9IMPavhxizHitCEWkrgtU+I4DJqJzC3pCkRtyauepCNpZ+8KoDE2n0DdZdkOi6vnZBa6oA21QcE/2FpLUP1kngb/j6JQX10Sb+l4KGrWu2syvKcTomMvyzzpMQ/4bHAPiSZRsRBMHeIhwAQRAEQRCckqOrG/9sIvIGGaYPcvydkUG1TrIwlSzMVVjqVADVnT59P7dFz3yUOyXkavctQarbS8o/jB0A8ooBHLHPAXG1i2zTqD/H/CfOaBbteX49iuDnAoE6FaFaFrChkpN71AtooT+O1HPf1XjO0BDp7Z6IWHup9eq9GFHu6tQQehPz+Li0/xD/TV6xbAOCINhbxG9xEARBEAQL2Ty0/g0i8iYBHsgiUylp6Pq6TiX35/l09HkC9ondy8sE+qX5WvhUdaGNuRgeFcYrUfmxDqn9HCGv58ebJe3SqYvitc5tpfvr89o+e1I+3jkD9HxuwGYitKcwcPFBX4Sw9S6UrIYyBWPR8YHhjwBcMu26MT9WEATBOSUyAIIgCIIgGOXo6sbXicibADwQqIWpCEeXixTU13qsOY/SyFXL7pN+bjvD6fJzjfanVC/3Byd43RQEs+wgR6M5Jd1H3rPGrsU/QEUHBdX8/VZRPKHRMcemWvxzn4zjRNMDeI6AaU9ydJ/bytAQpFPIcz/9oJWBoJH/MhZijg/xf1o8DcAXLtuIIAj2DuEACIIgCIKgydHVja8B8Lsa+QdqwayCHigp+VaSF6nJ4njiQtsssxOSSYUXyFAoL5k5/2wPOyTsdjXOvaZtqrITqVybeeAr9teiPzc5EsfljAjW8baftdDWqQ+mWcpg8JH2lKz93GeR4oiY0EjwdAFvS1WDgceFDBZ+Dnv94JTENIAgCC4Y4QAIgiAIgqDi6OrGVwF4swAP4u05vTuxfrah9JQlJaWYSy0MvUiduDn2Kvg5wuwdET6jgJWyEe0kmvWw5Izoo+e9oWbOfHZNiBHwZqoByLFB5wD1lAG+Xj6P++PGJpuZkjmmhXAD+cCUBX8yM/2Lzex8YKeCvs/9OGv/hZw9dX+CMyYcAEEQXDDipzoIgiAIAsPR1Y2XAXi7AA/WbSbS3BC5Lg6N6ggXtecl4UrbGqmmVoem8pKCdXN2m1i7xizU69gE//oof52J9PUKxufr2+UFAT9ONqre6lPLEs4CqJwDQrMChv+oY2IyTH/gaRrNugRS6hfMacy5HxMRzFPKTpCRmQjB/WN92nUfWbYRQRDsfiIDIAiCIAiCzNHVjZcCeBuLf6AhVFNza36eRa9TupxaXnaPK8hWVXyTio5SzT/b6qLTcz/jXYrgLddPC6Paasc8lYi5F/+lea72L1Ubrb6YqD4t7wehCvvaP/cooLaFX9vzuEAf2wTYOgQTAfYN1+2nYwxLA6aycoDWZAjxf86ILIAgCC4I4QAIgiAIggAAcNvqxkukj/w/BLAinQWmzktXfORahfFkeJJT5t1xE9glAqFz/7WNhDrFntrXtPR+qoAuPSiVQ2DinBGcgdCnuCdznqCIfB4H9Q/YCQ7Uvhmzeq4/w/Pu+WQj2nXlAj6Ex094xYFynr7md2iSBbzNGNDL5D4O/+ZIxtOQhsIC+p6oIyA4Z4QDIAiCC0L8dAdBEARBgNtWN14M4FoBLpqjF9o+at4iC/chtXxCQtKfZqvjlyg5UAvl8eg67AF0oNYI8MJaRl6wLXPYlQvyMc6eMbtKm1YY+z5pBsEiWv3wp2jRPR5zb0eqXAPtiD33DXyG9NkUE3JE6DGtaQTBWZHQLwf4R8s2JAiC3U1kAARBEATBHufo6saLAFwL4KKE4eaAosIqSP1idr4knxGEqSFa+Z+U88ei5Bzxb7UPbUNKJgDcscZhwNH5bHMv/icuZp4vk1oCuUT9xf1Pz1F8oUC/RJ+IlH8omRX+emb8aEPfnl677ChTEAqt8dVrmT6jdLpffcEe758H5wQB8A3LNiIIgt1POACCIAiCYA9zdHXjBQCul0H8K7YgX79Hq/vrMnL9cXSOlAJytdi0KelerHNhvHJFSrVXkU8XrbMIrE2t7AVvB6BTEYrdrXn/bJNet64YQOeR/VzAUGW6TqNImlOvJ8Ke2xLaRZCXvQmptOs67acw6F6ewlA5dWiKhD83OG/ENIAgCM474cANgiAIgj3KbasbzwPwbgEeXqLwGoHWCvZKSUrPkW6cOr29FrOL5463osz2OpLT0kdT5J0At7v6fqiINxFuJ5S9U8K2oe3bJf5aUwbUjgkAM71ipI5CdhYMzgfrNHDHaY0FLK7uPzbFQob+6IoIeV+y4xHz/S8I/wTgidOu+8tlGxIEwe4lMgCCIAiCYA9y2+rGFwN4F4CH54J0ohX0x2bRSxaaGQpga6SbU8Zta3b5OH8Fm8TuNuRIdDJL4rF1/nUWxMm3LeYRgLGrXa3fbvBL/Ok5LNaZyXDQxO3zWQ9zfj3YbaYNUDaCZk5w8cJWoF7t4tUL+NraF83KYEcDUI9FcN54AICvXbYRQRDsbsIBEARBEAR7jNtWN56devH/CAC5oFz/vEhElslcJZ7FrlffemyJMNvZ6YATl7DClQvtVevMU4aCvygLX5u7IMP/Xf0CKaI/C+wRu9hhUMR2qfLPUXXuQyW0U8qRf57r3zzHZVawzcXG/n/z1nSKhhMjT6eALvFX2uinKvD7zmMZXEBiGkAQBOeV8OkGQRAEwR7ittWNLwLwXgCPAopg5HTyAklgUul5XnsqzzmlnOfKm+R/KRF8oL4JYRFs5syLLWqnRftypDrV8+W5yODcFcTj1PaJOIGNui3ti58yYK81PmdfSufzoxfcPu1/4nboe1ScEXbM+BLcR58VINRGuV7KRQgBO/bBBecfADx+2nX3LduQIAh2J5EBEARBEAR7hNtWN75AgPdAxT9F9a165SyAWgb6KvS1yBT7iqLRE6lb5Eg5HzehSLmpOwCa707TDTiE3jsneCG8ZIS/mQ/PGQ2At95kAPjzTmdJv9a6gJzJYAR3ovHUa2UxX7IpfNZBuV4d+deXkzyGybz3Iv4dC/G/RB4K4CuXbUQQBLuXcAAEQRAEwR7gttWNZ4ngvQl49IQEb46UkwDWivL9cxtZNlFpat9GlpMRqS0msEKz1snFpZCo5r6MnFeWKuz/U6YyaF9s1HuRbZzBUIRyyue2jq0yEIAi8pOeWy7snQ06rDrevfOjZVvf1jzZ7ZVdidsW93zIYhA7lsG2IaYBBEFw3ojf/CAIgiDY5dy+tvFMJNwA4LEAjNi3sp9SzAdF2keLKVU92WXtAF0r3uUAiE331/N9toBeq2/XLuunVpXIdZl6UJkPK3Tt8oDlUK0t4Of76/mt4n58Pd93Rgv9VWjUf7jW3Jqd7dJsgnkq46+ODe6PHyO2U+1jBw6/P/m8kQyCYFvwaQAXT7vun5ZtSBAEu4/IAAiCIAiCXcxtqxtXpoT3QcU/WIRbwdsSlVV6uFOMPCe+xOg1A6A4DqpUdX7ktHpjE4z4r1LbSeXqWva2/oAV8LqPq+Fzk2YsxEb99V+uF9D41zsXGu4BKvjXqlXAjzkDgLIy5nRWtlA0U8C24d9FGWzSwn95I9kcbDseDeBLl21EEAS7k3AABEEQBMEu5fbVjStEcMNE8DjNiPcRbTHCssdH2TmdnGcCqPgvjgIZBKnk85hcyI51KKnnhISUbMTfz4+v7SqV+ZlEPcp1Cvhc6vsYrYJ/2pbpV+5fu8XekdGYIlC1QZkWKM6PPPefHBfs1ND3RzMFzLVFq/yX7S2HTLDtiGkAQRCcF+L3PwiCIAh2IbetbmyI4CYkPEEGpV3m9pdq+s0if8N/TBo5OIJOKeUkkscK0/H5eq64R0gRvG2DijAWkrqSX1vnxqKK+LWAL1t42j4X7uexaDkAtJiev07rePC2qu26DdB+Ljo4NpXB9OsUfQ+2Lf8VwNOmXRdJGkEQnFMiAyAIgiAIdhm3r26si+DGlPAEjqL3TzS6Xgr9lcr7VlBqhD0fh1r86/nmPGePFcS92M+PeQk6MQX1sl3Dya21A3RWfaumANulEXJbsK/8z0fN9VwW2I0aiCWSLjYLoVUY0E8/YDvzPne0X2FAXwu91nMmLvk/98sUAwx2EE8B8OxlGxEEwe4jHABBEARBsIu4bXVjFYIbATxxIio4VajX1eC12BwXj+MVAhLJ3RytNwnrFk13B5xQbuSdc4QagHEimOPEF76zqwLkYyhqD1BqPPetYffYVADOHODzjEwfLlg5BVrPhXww4h0J6sjoLeViha1x4ZHg571Jg1OAUxeCnUhMAwiC4JwTDoAgCIIg2CXcvrqxIsCNAJ4kTblrY90p/6dsyGnz5t+QNZCQRWpfsZ9Oden2reg3YCPv5TWyIwL+vEExTwZRrP3aR6qYaxbUDoy6Hx5bRM+SnE39cb0zZKKV/d3Sfr7v5l1w46uvjKMFdTaGmf/f6IOer5kInPkQ7FjCARAEwTknHABBEARBsAu4fW3joAhuguApKTWlPolulEchoUyiM9FZGnHX9ekZAfLyc0BfJV9FbxbIdO1Wun2+oAuxZ8eA64tPhcdwnG63RQ7HhX9ukez3kXwV3joefX+TOdan/OvNVXYoNOxVZ8YEYrI02CammW1BkX51SLBTZyyjItgxHNqazTaWbUQQBLuLcAAEQRAEwQ7n9tWNy1PCTYA8tcyMZ5y41K0kbn16uwrnUh+A4tWu2J2K54k7v3caCB1fYv9VfgIZUoR/uSZPPJgnNz+fIt2+UF4LjpLroxYq9KcKHajPheYZeIfBHHY8uRigHlhqDwyuFcoKmJBNtS3FDp7W4a8Rwn9XEVkAQRCcU8IBEARBEAQ7mNtXNy4DcNNE5Gn9lpTFs8bc+1eFXBxP92YBKoOAtmnkgFRR9dacd309Ic9CK+JvChPyRgEJ4yL4OXuARbKvgt8qPljOK60BtdAu0xvqfmmhQq+sKycGSi0/2n7kAAAgAElEQVQFNogFeu0AkZxdwQ6Jug/6mtIJ1PGRyvsY2n/XEQ6AIAjOKfF3IgiCIAh2KLevbewXyAcS0v4sJOlPu49C64YJbZvTcSxSgVqIsuj35HN9SgFYwteNcdG+4gAoTotF8/YXLYPH55X2Sr9MVL7Rp1Lw0GYB+G6MYSP4pU+llkE5DrA1FNi2CepVCoSKG/jhdkMf7A72T7vuD5dtRBAEu4PIAAiCIAiCHcgda4cvEeD9APb76DawSBiz8K1LBXLaf7MAnrMjn88rDAiX+it5CD7jAFKcBiKSxW5Z0o4Eu/+HsqSeidY3xkowFOyjKLstDuiOH8Q/98n3v5X5wKJ+NHLfuJ4voGj2kfOif29628wyjg37gl3FNyzbgCAIdg/hAAiCIAiCHcbtqxvTlNJNAC71krcX4/wCI0vwlZR6ESuFU1bpZZ67n2fuo85pWApvAqEieaktkqVEsXle+5z6ksU9ZQjwNISRUoL2ei6l3hfWG5syYOc7SHYE+EyJ5F6z3SrbJ8MrAYbnI04KtRXI49hvpx3s1ImJ/nuJmAYQBME5I/56BEEQBMEO4va1jaci4QMiOGD3iBHLkv+DXmg3/uJzxJ6j0D4i7dPLJZ+TzKNvu1mcLvn0/eIAMOfTMWMRcs5a4OkPCSnXMdAK/9lxkdpFAsV3nl5XfWP7E2Ux5D6THZDKUeCdFNZJYlP+ueDinGxptRXsWj4P4EnTrvvzZRsSBMHOJzIAgiAIgmCHcMfa4acg4aZe/HPUXpyI7P8jQBbcrTRxjVL7+eeNendtoSlDivrwWM1Vp0ehjZqSXzIN2B7vILBp/z7tXSvpq3Bm8a/MqTje6AoBOuefVzsAcpV9fW0yH5IfK+HuNPtfnC6DY4KyICqThmyK/l97CcZgT7APwNcu24ggCHYH4QAIgiAIgh3A7asbT0pIN4pgRaP9mloOoNeeiSLuFJkemxcvmp7eEPyMprvvE+9osPP8beE91Ap1MGSOhDlSEfiwzgcf+fdNsctD6wWIwNiiTKRkAFjHh42u59fDxXMGAVyKP9oZCZrqPzFjVGcO8GOC2maLFE6ExlSXHeSxQrAHiWkAQRCcE+JvSBAEQRBsc25f3XiiCN4PYC2nzPvUeI6Yw87bNwIXi1PqOdpdvabK+BrJ99hIvy36ZwvwFTneKjzIx7duVvy1fdaAT/3nPhUb1EkiVV/hjjP9y3bp1APdaHvm7cttumkI9bSAug2/4kGw5/gMgMdPu+7vl21IEAQ7m8gACIIgCIJtzB1rh58gIjcCWANs+jlgRTUX6ONj4c4x57nCeoJyc2AyB5wK9nPVq+uloW0zvYBj9yDhbO3ijASfceCP7S+VSjo+KIOArpMFPqf0a3Qd/fz6FnyjpKsVlPZS6R80A8E5HRrZFX4aQj5XqMp/coUGQ/zvdR4C4CuXbUQQBDufcAAEQRAEwTbljrWNiwHcAKSNVvL3MAsgR5Rbf9RVZGtd/mp/Q2jPYQWninedX+9T/ittSqaWFQj4WKnS/mubF0f+OeLPc+M1rd6ZMVTWRy7ql4sXDsdoG36Uc4G/nIWfcpx/oqKd9rT6NLb6AAt89RxkW6S2JdjzxDSAIAjOmvi7EgRBEATbkDvWDj8OwI0ArvT7VGCaNHa0UtcpLd2lyPtUeN02xyCUh1NVAOuydFqJXuiYyr7hWmWaAFfoJ/vdigA+Db8X7e1blbHzzTW4PV6tYDjBX4/HssqiEN4/nua/aAUFfu1XLhApWQiTIUuh9R4Fe5pPA3jCtOs+t2xDgiDYuUQGQBAEQRBsM25f23gsgBswiH9TnR8AVGia9POe+bClCEZ6JgsEqVCUnE7VyPg8pTxfPp/fmmugjgmRspY9iX+9Vr4mz9t3fRkTvZry71P/qzY0XZ8e4fpQZQmIb6NkQPC4JlDxPrV/pLaC9mVM/OdjqPigG9IgAIBHA3jxso0IgmBnEw6AIAiCINhG3LF2+DECeR+QngEtMOcq2XGKuZ/3v08GcSllpYDRpe9KkyReS6g7z/NPJKJhxWxuQ0hgA0hpqPQPN5d9uJZej9P1FZ9UwEsMaso/P/I5JWLfexdMuv1w4crRgTKm2SHR6GRJ/tdzBkeCOiHERv599kI+M9ucaIpECP3gtIhpAEEQnBXxtyYIgiAItgl3rG08GsANgMw4DV3hdPQJirD20eI+3d2K0Xmqi8/x8UCJaE9QUtD1cY7UTMeXHO4ulgisXTmy3ihCqNebq8A3thW7yhJ54+Oiwt5Ma9CVC1xk3U990KkOtk1Bkf3qEOnPngxjrH3x0xi8k2A+nJPxcx0EjdENgoo/BvDUade1q1YGQRCcgsgACIIgCIJtwB1rhx8FyHsBmQGoosJ9xBuD+BcSpRjmpOvMdMnHK5zazm3qPl3aT9vQueg28WBBQn6jgr63uxUlN8c1+1Jfe9QpAq1dMFT2H/61xL8eW2UxmER/yXkHao+OI4v/ejTKY0Iv/HWpQB4nE/kP8R+cPk8G8NxlGxEEwc4lHABBEARBsGTuWNt4pADvAfCFWQhSKvqEIst9hDtlQcql7FpL+ymc0Z78djdpXRqCmU+wh2savphrMH4Ne59hX6L/3o7y2HIc+P4kvRhf2B1r7NJ92UmRhlPKeZr1kIapFD6LYcI2ov43oaUGeZx9/YEgOANiGkAQBPebcAAEQRAEwRK5Y+3wIwC8C4JnA8ip4DkqPMyXL2K5x8+BVyYjQtlmDJDwFFQRfGk89wJct/XH2Ir6cM9ZOLeOK0K+kUmwwHGQ2x+5rjbQul6+rvTTI3QKQCn4x22lITOiHgOg1DRgp0zJHKjtB+o+BMEZEA6AIAjuN/H3JwiCIAiWxB1rhx8OpHcJ5Pl1Ebsyn50pFeSH1zkdvUhprmTfH+Oi8HSxKup+OobnlPVeSnN6vF+az0f/9SwzN15bY0eBO9c7MZQi5J0Twi31N9avyeAF0KyK1vGnWt6v9VzfpzxdoNGPIDgLnj7turuXbUQQBDuPyAAIgiAIgiVwx9rhhwG4HoP4Z7GuArs13z0L1eHAMrdeK+P3x5o/8Dn6TmL0NMV/cjs1Qp7XrydXwHykyB83oeKfCw7q8d5Z4FcI4CyIXADRpdXntH+R0Ur/er0JeURKqn/dh0QZApyNUfwoUol6s8yflL4D7XEOgjMksgCCILhfhAMgCIIgCC4wd6wdvgjAdSJ4IVBS0avIfeNclakqlseW0WtVtU8pVQJeswkWR8hVPPvyfDZ1nlcZ4Ig5R8UFYiriNx0FKrzVbu4ThgJ+w9z65LwGvFwh90HFf0r62gp+O/0g5T74vvnVC/h5doaI9P1rvDdBcI4IB0AQBPeL+JsUBEEQBBeQO9YOP3QiuC4BL1YxOrY8norfySB083J9I0vO8Tn6nMPVXNyvtSIAwyJ8QhF7Fs4sqsci/nysnp/IAdA6l/tX7Okv5KP+PtVf8dMnytz+0vM0RP7r6L3NFlg83jQ24jw4w/P/v707j5LmKu87/qt5tYIkJCQQSFeAkEB6eSU7BkyxLxLYYIMssAHbAfEKzokTghOCfWLjhJiQY5scn0Acw8FOHLyBEKslse+LjEkh6WUXEloQ6LLJEmhBoHU6f3RV163qnpnumbr93Kr+fnTmvKN5u6uenp55u+9zf/cWb7YQyfHH7dt3jXURAPqFBAAAAEty8e49B2fSe9dHeoo0HlSuV4PE8mPWADNUNQ2kjS+Jl7X+PgtGofWl7YLzZMFtqzqCZQPVLv2TQbvqAfJGKYV2U6L591m9cV4wyJ7cd6p+NQb6GtWXHsyCwX913mrw396hv7pPeNxwP4Xwto1GTCPF0N7EcDRJRoQD/vD2QCRnWhcAoH9oAAAAsAQXnbznoNFI5yvT6VkwimxE7NUcOIYz/pUwZl/dvo6x119oDqTr9ejthkJ1xyot0L6KXjVLXsfbg3MpWALQPFxQY/O/MGofDv5nPa5wIn0U3KmK/4fnmnXbsClQb8SXldH90aSmsJ5w88LG9yJ4TGtZ8Iiy4Ait7sCsVATQIRoAABbGSxMAAJFdfPKeAyWdn2X6xcm69g12x6/Gj+2IfLXT/1pWR9bH8fz2jHZ93PqKAXXcvdJIGjQaEuOvrk/2Bgg27JtccWDjwe2s2f7J561I/az7Vo9pcof2Gn9ND/ob5241McLvRfs7NbMZotkNjZkphsnsP2Dibkn3O27fvuutCwHQHyQAAACIqBz8/4NUD/4lNUaU4Tx0pmzmQLvatb4ddZ8sH1B9u1EwDV4dub3L/dTgPxsnDkaTRQL1fSez96NwQL3Rn9PD4ep47dh/qD3r37hRMKJvL3to3DwLNvkrv19rylo1VZsENhMNszYyrNRXKqhn/cNURXWVAGDJdkk6w7oIAP1CAwAAgEguOnnPAVmmdyvTMxQM0qXmgLeaSZaas/3V7cJLz7Vj/6pvOhmgrgUReUnBkH529K9uIFT7A1Rx/WmTRILqge+sJsCsSwWqdbuN/n9yorDA1u2qNzCN+7a+T3Uzo17731hqkLUuXahZe/gFg/1R3cxYKy+7mGk6MQAsEVcDALAQXq8AAIjg4t179pf0rtFIZ2y0g7w0Y3A8nXpvDEg3v2pAPVhtNwkaZwnq0dSMfB2PD+ttX6JwUo9mXSGg3uVf0lRyYNa6/bXg86mrFYQbADaqrL9fa1V6IdwkcVQvaWhsbNh6EqqvtzdXrGf+pfVR+X2tjsOgH2m4XdJRx+3b92PrQgD0AwkAAAA6dsl48P8OBYP/Shjhr4bLVfy8HpgGG+UpHJCGg9Wssb49nG0PZ/yrY1SfhMmA6uoAo+ZX6mUDQU2zmxdq3LOacQ+j8VI9Qx5G5Zuz7PXmfY0Z/FG5D0GWBd+vOoHQ/P9R0MwoH0VWH3c9OHe1FKFRX9asrWps1OeqHxMz/kjIgZKeYV0EgP6gAQAAQIcuPnnPfusjnZtJZ7ZHieEsdx1Mb8bbq1nrMOpfxcyr2433CCgHvGqu2x+fpzlgntyxjLCHZ8w0Xie/lrWzCHU8vr3zf2jU+mp7oFzfrmwoSM3B/OTxVQ8wm9xe1eMMjjFJSARfrJoW44F589Gpfd5ysF81N8J6JscJvhPr4TqHTFPpASABLAMAMDdexgAA6MjFu/fsJ+kcSc9tD+Abs8jtQfgkxt6+/Yw19sGs/6gcCbej/wrv1zpIdd7wqgDhzHcYlQ/rWR9Nb5DXbhlU0f/24H9N0nr4GFqyYN3DrJTBrDRD2JRYU6b18vGsl9+HzZZKzKqj+dwE6/6z5u1nJSEAYzdLus9x+/bdYV0IgPSRAAAAoAMX796zK5PeotF48B9sxK/mULlaS57V0X/VEfTqhbn9Z3mYxoHDOH97Bn+ypCBYr74WBPzDgXU7LVAddn3GADrc4K+KyNez6lnjtmHJU+co6683P5zet0AaNw6q+60FU/VheqKqq2oGZGrtO1A1C1oHHzU+b+5j0Lh8oaaXKAAJOUzSadZFAOgHGgAAAOzQRSfv2SXp7yQ9v5olX5OC4fZk9bmqtemhUevzkaZnvSf3yerB8vg8zXx+OKivIvPVgHgU3GIqLdCeIW9E5Kdn5sON/iZr6ds1z3iMk6+1Thg+5nZjItz8cHLccjnDmrLG42occ9T8M4z8T46fBVc7yDRpaih4/LMeD5AYlgEAmAuvZQAA7MDFu/esZdLfjqQXzIqVh7PP46R7cMk/zY74N9a4q57pr+47GpVRe23wQl4euE4VZFONgbKqSWR/fJ7Zm9yFkfhwk7/qPpOjlcsE1kfSrmzGoD84SfU4Zl3ir0pCtBsTVTOiivuPb9usp11XezlC+D1oP8ZJeRvcBkjYDyQdc9y+fetb3hLASiMBAADANl0yHvz/tcrBf7XOv565Ho03kVO4tj5cDLDBmngFM+Jl02B8jPGt11oNhMn9wti/pmPs4eeZmoPecClCXVs9yJ5HlX4Id9/PGiP4yTdh0syYuTQgKHg6eaCpwX9YX/hYqv9vPuY6QbGWVZsfZlONhvkeMZCMoyU9xroIAOmjAQAAwDZcsntPJumvJJ1VfW38ohquJm+G59ey5kZ64aB0fE+VM/dZa3C68Tz0dMw+m0TYq80G25v8VbW0B73rZfJgTVl9GTxlk4bD5FFlzfuHUf2s9VHN8tcx+2zyMWsPgsmsf7ApYn2bakFFM1swKwGw0QC+ebnEamlE0KSZURPQEywDALAlGgAAACyoHPz/n5F0dvj1cBu5cHO8yXXnpdbQdcaAM5jxH7V2rZs5KK0G4o3Yfp1DCFsQ4Q7/m++sP5qK1rc3+JtcIjB4HNVu/7Nm0LMN/gyTDuNZ+bCWcIDfTE5Mmg3B7duX9Wufu3psYcY/3LywfVugZ2gAANgSDQAAABZw8cl7Mkl/MZJeEg4Wqxn7sWzqEnTty+K1B93VF0atTQGqWfzpmX5NBrHhZnftAXZbOyIfHrOexW8mF6oGRtjMmGwu2CxlRuIgm9xhspRBdcNgTfVxs6xOITQ3LGzWuRZUN2tn/7BBUC0XmLp6wQbfH6DHHnztwx/+M9ZFAEgbDQAAABaQZXrjSPpX1QtoNRRdH43Kde2T20lq7VxfCpMA5UHK+2SN9f1V/L69Q341OT75czKbnW04cG6vIlgP6mrmBaYeb6PMSfxfsz+k6cdbjfAnVw1Q/QakiuFXtw83JZSy+ioHwWOfmvWfMfNfPZ5m8cE5guOw3h8DQgoAwKZoAAAAMKdLdu95g6R/M37xrIfL4+h6Vm9qF4w7d7XGoGvB5/XXq4FxvYhgvRqWhlH7aqCbVTPZzYFzPcatB7jVgL2RSFAdtR+puZN+e0O8yX2y6YFyuzFR11lHHiYD82AJQRbcp2omaFLj9OaA1bGrPQHaO/vXlzisawi/p2tl+qB6btZHo9b3HxiMM60LAJA2XvMAAJjDJbv3/JmkfzcVR59com86Wj8ZuGp68FzPhoeXtBvbKJ4fXqKuirKH/9++vRTMlmt6kKzG/9dfqSL54SZ84f1aqxQao/FqoB3O+q+rVU/rgTYG+qO6WSBNX3IwXIqwljVrCR9L2EyZpCXUbB7Mui8wAMcft2/fNdZFAEgTCQAAALZwye49r1M5+K9j9tOD/1C9Bj0Y705m8OuN9tq3b+8JMD5PMPgN/jIrI/KzBv/tGfLwkGvKpgb24U744bGq+7XTC431/pNdDsez95okIbKgQdGspbF3wCisO0wOBKmBqlkQDP5Dze9B8+oFjZ5DK5EBDBDLAABsiAYAAACbuGT3nj+V9B+kOn5exf2l2YP/SrW7vVQN/rPJaLS5KV19+0mcfUbMvdoZv2odVDH/KsZfna6xRl7Tg956Y8Eg9t+K/ofJgaq2aiY/k2YOrsPY/6zvxaQR0LpBdbnD6ZxCU33u2WmJunlQT/m3HwewAmgAANgQr4cAAGzgkt17Xivp96TwBTMLLqc3asxYV5vbbboz/mRAOvsleFZEvv40aywZkMKZ8+lmRNa+jaod8Jux+vGa+Kyxs/+sxka2wefVySdNEbVmGMJvxFRd4ZHq2P6sJMPGtQSPq/VN3+j+wICtS7r/cfv2XWddCID0kAAAAGCGS3bv+WNNBv/l8LkcndcR9OboMkzvN64GEMzEty+xl7XvF/xFu0nQHrxLreUBwQB71mC9SgmMZsyyV4P/9VHz/8Paxl/P6mUQrbj/VMOjvFMj4q96mB9ezi/MIlSPq7pv+DimH1tr8B/UPjn/1KMFBm1N0hnWRQBIEw0AAABa9u0+5b+tZdkrpWDgPhlcZpPY/azL4TU22qui7TNmvzcOvIez++WGeuVoetZl+kbBgL26d7g7f/PIzZn/6v7hpfcal9Qrb7Q2eSzNxxaerzXJ3/oetFIQsx6jptf1r2X119rnrpcdlMsRWved2qgQWC0sAwAwE6+JAAAELt6959WZ9IfVfHZWXUIuGAC3B7wbrW8PZ6erP2ceIxgd15H1bGpQXS89aEbbw53xwxh/mVvQemvZQPv+9RmnB/FZ2CkIov5h/e2NDmddbqBxWT5VA/jg8oPZxo8jPNSszf6qv2w2GYCVdruk+xy3b98t1oUASAsJAAAASvt2n/KqTPrDtWB0PJo1lV5qz1xPNvMbhTvvtwb/GyQBqqUCdQy+DuqHx63OF96/On/49fDqAGuqNg6sd/rf7HFNHl/Z/BiNgkUDWTY1KJ+a+S8fS5gSqP8qC25SX65vcnWAVl1rwWMImwiTiqpzNU8NrLoDJf2SdREA0kMDAAAASft2n/IH0ug14Wx7Ffdvx98rk8HmKIj0l7PXYROhMWs9PaWt8hCTL7U3x5vE4Ms/11uD5MZVBNrn02iy98Balo130G9dFjBT8xJ/4eOtPl8LkgDtQXa1JGIy+z+51F/V+Jj+/lXLKtqX+suyZiOjWiIQ7l8wax8FAFNYBgBgCq+ZAICVt2/3Kb+XZXptO4I+SzuO39x1vzkoXQ8j7hscrE4INI/RnqBfC85Xb0LYbBy0lxyEa/snx2g9jsb9yxn/tVbEf3J/1ZcCDB/n5HKEZV3rMzZJ3OwNx6xL9VXnXWs9lpFGU8mCzZ4vYIXdovEygNutCwGQDhIAAICVtm/3Kb8rjV47Xuc//lq4p1w240MqB51SvXa/NZAfzfhae+Q8TgyMpobJzUF9s+lQ/dm+TX2EMjKfZePL+wWz6uFgvk4LhOmFen1/O4sfNgPazYn2AD5sINSh/SAloOaMf1hTeL4q/l9dFrBaVtD8njH4BzZwqKTTrYsAkJb9rAsAAMDKvt17dkmjT0vK23PU7cFy+LfV4LqawR/fJtzcTpP573b4fRKXD/6/uk2VGAgvgddYSaB2lcFxwzZC1vxae8a+/DMLmwDj+9Uxg2yDUXXYGBkFn2SZNMrGx8yC2H47rt9OMWy4oWL9jcrGA/7msoQditEy4JhpH7MPNcY45lUdHw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA4GTWBQAAAADAshXOHSDpFEn3lXSkpHuXH+Hn95Z0L0m3SrpJ0s3ln+Hn10r6sqQrcu/vWu6jABZDAwAAAADA4BXO3UPSoyU9sfx4tKSDOzzFbZK+pnEz4MuSviRpX+79TR2eA9gRGgBYeYVzz5D0QOs6JF2Ue39JFwcqnHuApF/q4lhzujD3/mtdHKhw7iGSTu/iWDv0w9z7d1gXMWSFc4+TdKp1HVt4c+79HdZFrKrCuVMkPcG6Dkl35t7/lXURQ1XOwr7Yuo7Sp3Pvv25dBLpROLdL0tMkPUXjAf8jJe235DLukvRJSedJOj/3/jtLPj/QsOxfACBFL5H0q9ZFSPpdSZ00ADR+TP+lo2PN46Uad7y78FuSfqejY+3EGyXRAIikcC6T9BcaRy9Tdr6k71kXscJeIOn3rIuQdJkkGgDxPFTSm6yLKD1dEg2AniucO1jSXo3fT5xgW43207gJ8TRJbyycu0jjZsB5kr6eez+yLA6rhwYAIP3UuoDSrR0e61c6PNY8unzxemqHx9qJc6wLGLiHK/3BvzRe+0kDwM7J1gWUGBDGlcrzLI2bPeipwrmjNJ6U+G1JRxmXs5GfLz/+SNJXCuf+TNI5ufepvB/FwNEAAKSfWBdQ+nEXBymce5Ckn+3iWAtY7+IghXNHa/m1z3KNpM9ZFzFwe60LmNO9rQtYcakMDBkUxrXbuoDSTzTezA09Uzh3vKRXaJyA7HJNf2ynapwuem3h3JskvSn3nqYzolqzLgBIQCod164SAMue/Ze6SwCksPZfkt5GJC+ewrkDJf2mdR1zogFgpFwXfqJ1HSUSAHGl0gC4LPe+k4Y2lqNwLiuc+/eSLpf0MvVr8B86StKrJH2rcO7vCucebl0QhosGADCwBID63QB4WkfH2Sni/3E9U/0ZWPelziE6QdIu6yJKNADiIumBhRXOHSHpPZL+p6T9jcvpyv6SXijpksK5F1gXg2FiCQAwoARA4dy9Nd7ldtl23AAoN4VLoQHwldz7r1oXMXBnWxewABoAdlKZFZbGs4uIoHBuTek0AGj09EThXC7p7UrjKk6xfNe6AAwTDQBgWAmAX5bNjFkXCYCTJR3bwXF2itn/iArn7q/xLtt9QQPATiqDQp97f4t1EQP2AKUT2yYBkLhysuAVkl6r4Y9jLrUuAMM09F8cYB6pJAC6aABYxP+lbjYBTGH2X5LOtS5g4P6l0ol1z4MGgJ1UEgDMCseVSqNH4rlOWrl/zDsknWFdyxL8SNIPrIvAMLEHAJBOA2BHSwAK5w6S3cxqFwmAFBoAn829v8a6iKEqZ272WtexIBoAdlIZGDIrHFcqjZ51SVdaF4HZytePN2s1Bv+S9HU2I0YsNACA4SwBOF3SPbsoZBt29CJVOLe/pCd3U8qOvNW6gIF7hKQ91kUsiAaAgfLNfioNAGaF40rleb4q9/526yKwodeoP1eP6QLxf0RDAwBIJwGw0zqs4v/SzhMAj5Z0SPHP/ccAACAASURBVBeF7MBdkt5pXMPQ7bUuYBtoANg4Vvb/JlRIAMSVSgKA5zlRhXMvlvSfretYMhoAiIYGAJBGAuDWnVx7uNxF2TIWt9MGQArx/4/k3l9vXcRQlUtU+jh7QwPARiqDQokEQGypPNc8zwkqnHuqpL+0rsMAP4+IhgYAkEYCYKeXAMwlHd1FIdu0000AU2gAsPt/XM+SdIR1EdtAA8BGKrHwG8VGXNEUzh0l6SjrOkokABJTOHeKpHdrNTctJwGAaGgAAGkkAHa6/t8y/i/tIAFQOHe4pEd1WMt2/FTS+cY1DN1e6wK26bByjwosVyqzwpexEVdUqTR6JGZck1I4t5+kd0k6zLoWAz+WdK11ERguGgDAMBIAvW0ASHqK7P8tOj/3vovLMGKGwrn7y+4KFV043LqAFZTKwJBBYVypNHokEgCpOVvSSdZFGKHxiKis33QDKeh1AqBw7iTZv1neyQsV8f/he4H6/XpzpHUBKyiVgSENgLisX7sq38+9v9G6CIwVzh0s6dXWdRgi/o+o+vyGDOhK3xMA1rP/Ur8bAD+S9GHjGgarvJzb2dZ17BD7ACxRuSzoftZ1lJgVjiuVRg/Pc1peJukY6yIM0QBAVDQAgJ4nANTjBkDh3IMkndhtKQt7Z+79HcY1DNnPK503+dtFA2C5Uor9kgCIK5V/G3ieE1E2AF9pXYcxfh4RFQ0AII0EwLYaAIVzR0t6TMe1bMd2rwJgPfsvEf+Pba91AR2gAbBcqQwK75D0Tesihqpw7h6SHmhdR4kBVzr+o/p5xZgukQBAVDQAsPJy79c1fqNnabtLAJ4lKeuykG3a7hIA6wbAdyRdaFzDYBXOHSTpN6zr6AANgOVKZV34N3Lv77YuYsAeqjRevySWACShcO6+kl5uXYex20XjEZHRAADGrJcBbHcJQArxf2kbDYDCuV2STo9QyyLeVjaAEMcZGsYO+jQAliuVBACzwnGl8jxLPNepeJakg62LMHY5jUfERgMAGLNeBrBwAqBw7hDZz6BXtpMA+DnZD6yI/8e117qAjlj/nK6aVBIADArjSuV5/rHGaTDY6/PlYrtC/B/R0QAAxvqYAPgFSQd2Xcg2bacBYN28uEzSF41rGKzCuWMl/aJ1HR2hAbAkhXMHSDrBuo4SsfC4UkkAcM31BBTO7Sf79wUpoAGA6GgAAGO9SwAonfi/tL1NAK1f6M/hTV9UL9BwXmNoACzPiZJ2WRdRIgEQVyoJABo9acgl3cu6iATw7w6iG8qbM2CnepUAKDvlz4xUy3YsNJAud39+XKRa5vU24/MPVuFcpuHE/yUaAMuUyqzwSNI3rIsYqnIPmIda11FiwJUG4v9jJAAQHQ0AYKxvCYDHK61ByaIz6U+UdECMQub0+dz7Kw3PP3SPUjqze11I6Xdt6FL5uflW7r11Y3jIjlc6S9hIAKSBBoB0lyTemyC6/awLABJh/UZv0T0AUor/S4s3AMzj/8bnH7q91gV0jAbA8qSSAGBWOK5UGj0Sz7W58vJ/j7SuYxO3S/qSxqmgKyRdLemeko4pP46V9ABJe3Z4nitz760vS40VQAMAGOtNAqCMV58ZsZbt6FMDYF3SOwzPP2iFcwdJ+g3rOjp2eOHcLi7NtBSpDAyZFY4rlUbP3ZKusi4CeoR1AZs4R9Irc++/vdUNC+fuJ+mXJP2yxhs1H7LguYj/YyloAABjfUoAnCrpQZHq2K65NwEsXyBPjVjLVj6Re/89w/MP3Zka3kZOmcaP6YfWhQxZ4dya0mkAMCscVyoNAGZc03Bf6wJm8JKem3v//+a9Q+799yW9WdKbC+cOlPQkSS/V/KlNGgBYCvYAAMasEwCLNABSi/9LiyUAnhqtivkQ/49rr3UBkbAMIL5jNY7VpoAGQFypNHpIeqThPtYFtIwkvXCRwX9b7v3tufcfyb0/U+OlAX+j8Rr/zdAAwFLQAADGrBsAi2wCmFr8X1qsAWAZ/79d0nsMzz9ohXPHyn5/h1hoAMSXyqywxMAwmnIZWyrPNY2eNKTWAPjT3PtPdXWw3PtLc+/PlvRgSa/Xxu85+XnEUtAAAMZ6sQSgcO44SQ+PXMt2zNUAKN/4WQ4Q35d7f5Ph+YfuhRru6woNgPhSmRW+Pvf+eusiBuxoSYdbF1Gi0ZOGlJYA3CnpD2McOPf+2tz7V2icCPhA669Hki6PcV6gbahv1IBFWScA5m1AnBG1iu2bNwHwMEn3j1nIFoj/R1I2d/Za1xERDYD4UmkAMAsXVyrPs8RznYqUEgCX5t7fFvMEuffflPRMSc+VVO1JdHXuvfV7UawIGgDAmGUC4KcL7C6eYvxfmn8TQMvZ/5s13XFHd3JJJ1kXERENgPhSiYUzKxxXKs+zxHOdipQSAF9axkly70e59+/S+PfhDZK+uozzAhJXAQAqll3Xudb/F84dLunJcUvZtnkTAJYNgHfH7uqvuLMNzvktSQ9c0rloAMSXyswws8JxpdIA+G7u/c3WRUBSWgmApTaFymWJv104d9gyz4vVRgIAGLNMAMx7BYBnKN2m3ZYNgMK5AzS+JI4V4v+RFM4dLOnXl3zaSyVdvcTz0QCIqGxw3s+6jhINgLho9KAtlT0hpOU1lRtoRmGZaAAAY8knAJRu/F+aLwHwGNld4usHkj5pdO5VcKakZc9enKflvobRAIgrlUGhRCw8tlQSADzP6bjOuoDAz1sXAMRGAwAYSzoBUDh3oMYJgFTN0wCwjP+fu8A+C1jcXoNzni9p1xLPRwMgrlQGhT+R9G3rIoaqcO5QSc66jhIJgHR46wICP1M4d4R1EUBMNACAsdQTAE+WdGjkOnZink0ALRsAxP8jKZxzWv5z+11JF2u5r2FHLvFcqyiVBMDluffzbmqKxaW0USgJgHSk1ADYT9LvWhcBxEQDABhLOgGgtOP/0hYJgLKb/sgl1dJ2laSLjM69Cs6SlC35nBeUgzQSAMORSgKAQWFcqTzPEgmAlKTUAJCklxfOHW1dBBALDQBgzDIBsGkDoHBuTdIZS6plu7ZaAnCa7P69OSf3ft6rFGABhXOZbOL/55V/sgfAcKSSAGBQGFcqz/Mtqq+/DnupNQDuIek/WRcBxEIDABizTABstQTgEZKOWUYhO7DVANsy/v82w3MP3WMkPWTJ57xF0qfKz5faACibcehYucfJCdZ1lEgAxJVKAuDrNIaTkloDQJJeWjj3BOsigBh4MwOMJZsAUPrxfyndBsAXcu+Z0Ytnr8E5P5h7f3v5+TKXAKwp7X04+uxEpfN+hH8v4kqlAUCjJy0pNgB2STq3cO6+1oUAXUvlBRewlvImgL+ylCp2ZsNNswrnHizpwUusJcTmf5EUzt1D0vMNTn1e8PmyX8NYBhBHKoPCdUlXWBcxVIVz+2vc7EkBjZ60XCrpRusiZjhG0lsK55bZbAaiowEAjCW5CWDh3ImS9iyxlu3aLAFgNfs/knSu0blXwZmSDlvyOe+S9MHg/2kADEMq68KvDtIl6N4JGu+wngISAAkpf+/eYV3HBp4m9gPAwNAAAMZSTQDEmP2PcYmrFBsAn8m9TzFWOBRnG5zzk7n34SzRsmdlaADEkUoDgFnhuFJJekg81yl6i3UBm/ivhXNnWRcBdIUGACAp9/5uSXcYnX6zPQBiNAD+KcIxZzYAytjcaRHONw/i/5EUzj1A0ukGpz6/9f8kAIYhlYEhg8K4Umn03CXpausiMOWzkq6xLmITby6c68OSTGBLNACAmlUKYGYCoHDuPpIe1/G5Lpb03Y6PKW2cAHiEpCMinG8rd0p6t8F5V8ULJWUG572g9f80AHquvLJCKgNDYuFxpdLouSL3/k7rItCUe78u6a3WdWxil6R3FM5ZNL+BTtEAAGpW+wBslAB4prr/HT1PcQZuGy0rsIr/fyj3/gajcw9a4Vwmm93/L8m9v7b1NZYA9J/T+JrbKSABEFcqDQAaPelKeRmAJB0g6fzCudy6EGAnaAAAtaQSAIoT/4/VANgoAWDVACD+H89jZbOTdzv+L5EAGIJUZv8lBobRlI3DVJ5rGj2Jyr2/TNJF1nVs4Z6SPlg49y+sCwG2iwYAUEsmAVBeYu0XOj7PlRpfamcpDYDCuUM0Hiwu262S3mtw3lWx1+i85834GgmA/ktlVvj7rQ0m0a1jJR1iXUSJBkDafkebbyycgiMkfZwmAPqKBgBQs0oAzFoC8DRJB3d8nvNy70daXgLgiZL2j3CurfxD7v1mV1bANhXO3VPS8w1O/U1JX53xdRIA/ces8GpIpdEjkfRIWu79hZL+3LqOOdxb0scK51L62QbmQgMAqFklAGYNVmPE/6sIdYzf+1kNAOL/w/NsSYcanLdqXrXRAOi/VN480wCIK5VGj0QDoA/+QP24UsORkj5cOOesCwEWQQMAqCWRACgvnfesjs/xz5I+V36+rASARQPgekkfMzjvqthrdN5Z6/8llgAMQSoDQwaFcaXS6PG595tdehcJKFN8L7auY07HadwE4PUBvUEDAKilsgngYyUd1fE5Lsi9v7v8PPpVAArnjpG0J8J5tvIOLu8UR+HcAyWdZnDqGzS+PvQsJAB6rHDuCElHW9dRIgEQVyqNHp7nnsi9/7SkN1jXMaeHSXpvuX8TkDwaAEDNYgnA7bn3d7W+Fmv3/8oyEgBPjXCOeRD/j+eFivOzs5X3zfgdqSy9AVDuZo5upDIolEgAxJZKAoDnuV9eqfEeMH3wWElvL5zbz7oQYCs0AICaRQKgMftfDi7OjHCOjwf/v4wGgEX8/1uqlzmgQ+XP5V6j028U/5eWvwTgAKVzzfohSGVQeIuk71gXMVSFc4dLup91HSUSAD1SLtd4sdK/KkDlmZL+N41ipI4GAFCzSAC01yI+TNIJHZ/jQ7n3YXMjagOgfOGzSAC8Lfd+feubYRser+5/Ludxm6SPbPL3Fq9hLAPoTioJgMs22GQS3UjleZZIAPRO7v2nJP1b6zoWcLakP7YuAtgMDQCgZp4AUNzd/yuxEwCnyGa2h/h/PHuNzvvRLS7puOwEgEQDoEupJAAYFMaVyvMskQDopdz7N0l6lXUdC/j9wrmXWxcBbIQGAFBLIQHQdQPgbknvb30t9iaAFvH/r+bef8XgvINXOHdPSc8zOv15W/w9CYB+S2VmmEFhXKk0AG6S9APrIrBtfyTpz6yLWMDrC+d+07oIYBYaAEDNNAFQ7pz/qI6P/+nc+x+2vhY7AWDRAGD2P57nSDrE4LwjSe/b4jY0AHqqcO5ASQ+2rqNEAyCuZBo9LPXor/K5e4Wkv7euZQFvLpw71boIoI0GAFCzTgCcEeH4s2ZQY/zej6TJm/onRjj+Vs41OOeq2Gt03s/m3l+3xW0slgAcaXDOIXqI0nkPwhKAuFJJAPA891y5z89LtHVzOBUHSjqncO4g60KAUCovvkAKLBIAYQNgGev/pbgJgMdo+buk/1PufV8uE9QrhXMPknSa0ek32/2/QgKgv1KZFb5L0lXWRQxVOfAh6YHO5N7fqfGytAuta5nTKZL+xLoIIEQDAKhZJABulaTCucMknd7xsffl3n97xtdjNgCI/w/LWYbn3rQBUF5twuJSSzQAupHKrPAV5YACcZyodN5rkgAYiPLKRs+S9CXrWub08sI5i/dHwEyp/KMMpMAyAfB0Sft3fOyNBlAxNwFc9gvc3ZLeueRzroTCuTXZxf8vzb2/YovbWL1+0QDoRioJAAaFcaXS6JFIAAxK7v1Nkn5R0pXWtczpDYVzXb/PA7aFBgBQs9wEMEb8f6Md1KMkAArn7i3pkRGOvZmPzrFOHNvzeEnHG5071fi/RAOgK6kMDBkUxpXK83yHJJaKDUzu/Q80Tk9eY1zKPB6q8f4FgDkaAEDNZBPAsiP8yx0f95uSNrosXqwlAKdFOvZmiP/Hs9fw3Ftd/k+iAdBbZbrkJOs6SjQA4kol6XFF7v1d1kWge+VSx9Mkeeta5vDqwjmLq+oADTQAgJpVAuBJku7V8XHP2+RyR7EaAMuO/9+m+QaKWFD5BuV5Rqf/nqSL57idxRUAJBoAXThOy98sdCMsAYgrlQQAjZ4BKzcCPk3j14+UHS3pX1sXAdAAAGpWlwFcZvxfGk4D4ILc+1uWfM5V8auS7ml07vPLSz1thQRAf6UyKyzRAIgmsaQHz/PAlfvGnC4p9WWBv2ZdAEADAKhZJAB+ou4bANdL+qdN/j7G7/3xWv56ceL/8ew1PPc86/8lEgB9lsqs8LW59z/e+mbYpgdIOti6iBIJgBWQe/91SU+VdIN1LZvIC+eOsS4Cq40GAFCzSAA8ROM4bJfet8VaxxgJgK4vYbiVGyV9aMnnXAmFc8dLerLR6W+R9Mk5b2v1+nVw4Vwqg5q+SiUBwKxwXKk0eiSe65WRe/8VjROJN1rXsokzrAvAaqMBANQsEgBPjXDMrdbFx2gAxHgcm3lX7v3tSz7nqjjL8NwfXOB5tXz9OsLw3EOQysCQWeG4Umn0SNLl1gVgeXLvvyDpOaovUZyaM60LwGqjAQDULBoAj+n4eD+V9NEtbhOjAfDYCMfczFuXfL6VUK7ZfZFhCfPG/yW7JQASywB2KpWBIbPCcaXS6Pl27v2tW98MQ5J7/0lJr7KuYwOnFc51vfkzMDcaAECpjM3fueTT7t/x8T6ce7/VUoYYDYCuH8dmviPpwiWeb5U8Qcvfy6Fyl6QPLHB7y9cvGgDbVDh3b0n3ta6jRAIgrlQaADzPq+u1Wux1ZVn2l/QM6yKwumgAAE0W+wB0aZ7L4sVoACzTubn3d1sXMVBnG577U7n3i6zZpAHQT6nM/ksMDGNL5bkm6bGiyivKnCXp29a1zMA+ADBDAwBoslgG0JV1Se+b43Z9bwCw+38EhXOHyPbyRPM0r0IsAeinVAaFNyr9y4X1VuHcUZKOsq6jRKNnheXe3yDpuVp+wnMrJ1gXgNVFAwBo6nMD4MLyhW4rfW4AXC7pC9ZFDNSvSbqn4fkvWPD2JAD6KZlYeO79yLqIAUvleZZIAKy83PvPS/pr6zpajrYuAKuLBgDQ1OclAPPOoPa5AXAOb9qj2Wt47n2599cueB8SAP2USgKAWeG4UnmeJZ5rjL3OuoCWowvn+vx+DD1GAwBo6nMCYN4d1Pv8e/826wKGqHDuwZKeZFjCovF/iQRAX6UyM8yscFypPM8/kvTP1kXAXu795Vo8aRbTQZIOtS4Cq2k/6wKAxPQ1AfCl3PtvznnbvnacL8q9v8K6iIE6y/j8dxbOLXpd5GOiVDIfGgDbUDh3kOyuMtHGrHBcqTQAWOqB0P9QWpvvHS3pZusisHpoAABNfU0ALDKD2tcGAJv/RVA4tybb+L8k/Ynx+RdFA2B7HqJ0Ekg0AOJKZQkASQ+ELpT0A6Wz/v5+kpjYwNKl8kIMpKKvCYChNwBGkt5uXcRAPUnSA62L6BkaANuTyqDwdknXWBcxVIVz91A6/6bQ6MFEmQa53LqOQCqNCKwYGgBAUx8TAN+S9KUFbt/HBsAncu+/Z13EQO21LqCHaABsTyqx8G/k3t9tXcSAnaR0XmdoAKCNBgBWHg0AoKmPCYDzF1zjmMobs0UQ/4+gcO5QjS//h8UcaV1AT6WSAGBQGFcqz7PEEgBMS6kBAJigAQA09TEBsOgO6n1rANwh6T3WRQzUr0m6h3URPXRI4dwB1kX0UCoJAAaFcaXyPLPUIxGJ/Xt5g3UBAa5QARM0AICmviUAfqTxpjaL6FsD4P259zdaFzFQZ1sX0GNHWBfQJ+VmkydZ11EiARBXKgkAlnqk4yOFc8+yLqKUys+nRAMARmgAAE19SwC8N/f+rgXv07ffe+L/ERTOnSjpCdZ19Bj7ACzmAZIOti6iRAIgrlQSADR6ElA4d6Ckx0u6oHDuz8vLgVo6xfj8oeutC8Bq6ttAAIitbwmAReP/Ur8SALdIer91EQN1lnUBPUcDYDGpzLqltgv4oBTO7SfpodZ1lGj0pOFhknaVn79M0ucL5x5mWM+phuduIwEAEzQAgKY+JQBuk/SRbdyvTw2A9+Te9+k56YUyjv0i6zp6jgbAYlJpAFzDvylRPUhSKuu9SQCk4Wda/3+qpEsK536rcG6p70cK547SOI2UipT2I8AKoQEANPXpjeFHc+9v3cb9+tQAIP4fx5OV1pugPqIBsJhUYuHMCseVyvMs8Vynot0AkKSDJP2FpE8Wzi1zKdrrlniurfwo9/5O6yKwmmgAAE19WgKwnfi/1J8GwHWSPmFdxEDttS5gAGgALCaVBACzwnGl0gAYSfqGdRGQJP3sJn/3JEmfKZz7cOHco2IWUTj3bEkvjHmOBbH+H2ZoAABNfUkArEt67zbv25cGwNu3scEhtlA4d5jGl//DztAAWEwqA0MaAHGl0uj5Vu59nxr6g1RG/DdrAFR+QVJROPfewrmfi1DHfSX9ZdfH3SHW/8PMftYFAInpyxuGz+beb/fFoy8NgLdaFzBQz1U6u7H3GQ2AORXOHSnpPtZ1lIiFx5VKo+d+hXOXRj7H93PvT4t8jr47WtJRC9z+mZKeWTj3IUnvknTBDt7rSJIK554h6X8pnX+DKtdYF4DVRQMAaOpLAmC78X+pHw2AqyV93rqIgdprXcBA0ACYXyqzwhIJgGjK2d5UGgAHKX4t3498/CGYZ/Z/lqeXH+uFc/+o8Xuef8i9v2beAxTOPVjS6yWdsc0aYvuodQFYXTQAgKa+JADO38F9+9AAOCf3fmRdxNAUzp2o8fWYsXM0AOaXSgPgn3Pv2XU7nqMl3cu6iCUiTbK1WRsALmJN0hPLj9cVzn1N0pWSfPlxbfnnDRpfgeIkjf+9OUnSoyQduMPzx0QDAGZoAABNfUgAfDX3/qod3L8Pe3+w+38cXPqvOzQA5pfKrDADtrhSeZ6XhTTJ1rabANjInvKj776ae/8d6yKwuvowEACWqQ8JgJ3E/6X0EwBfzL3njVXHCufWRAOgSzQA5pdKAoB/V+JatQYADaWt7TQBMFQfsS4Aq40GANDUhwTA0BsAzP7HcZqk46yLGBAaAPNLZWBIAyCuVBo9y0IDYBOFcwcond/91HzYugCsNhoAQFPqCQAvad8Oj5F6A+Bc6wIGaq91AQNzeOHcLusiUlc4d5Ck463rKDFgi2uVBnu3avx6jI3tFkuNZ7lN0oXWRWC10QAAmlJPAJzXweZ4KTcAPpN7f611EUNTOHcvSc+xrmOADrcuoAceqnT+zSEBENcqNQAuY6PaLRH/n+0zufepv9fEwNEAAAK593dJusu6jk3sZPf/Sipvxmch/h/HcyUdbF3EALEMYGupxMJ/ovGO4YigcO5QScda17FEpEm2RgNgtg9YFwDQAACmpboM4CZJn+7gOKk2AO6S9C7rIgZqr3UBA0UDYGupzApfnnu/bl3EgKXS6FkWGgBb6/oKAENwnaT/a10EQAMAmJZqNOt9ufd3dnCcVBsAH+Ia3d0rnHuIpMdZ1zFQNAC2lsrAkPh/XKk8z8vCz9PWSABM+6Pc+x9bFwHQAACmpZoA2Onu/5VUf++J/8ex17qAAaMBsLVUBobM2MaVStJjWfh52kTh3NGSjrauIzHXSvpL6yIAid05gVlSTADcru4uG5NiAuAnki6wLmJoyl3qz7KuQ9L1kv6+42O+SPYDcOvzJ61wbk3SSdZ1lJixjWuVGgDrkq60LiJxzP5Pe3Xu/e3WRQASDQBglhQTAB/Lvb+lo2Ol2AA4L/f+VusiBug0Sc66CEnvzr1/RZcHLJx7uuwH4NbnT90DlM7mkzQA4kol6bEMVzOQ2xINgKbLJf2ddRFAJdUoMGApxQRAF7v/V1JsABD/j2OvdQGl90Y4ZgqvX0daF5C4VGaFmbGNqHBuf0knWtexRDSTtsYGgE2vKq8yBSQhhTdQQGpSSwCM1O0AKrUGwA2SPmJdxNAUzt1L0nOs69C4ofaJCMfdFeGYiyIBsLlUZoWvYsY2qhO1WolS1v9vjQRA7QuS3m1dBBCiAQBMSy0B8Lnc++93eLzUGgDv7OjqBmh6nqSDrIuQ9PHc+xi/Uym8ftEA2FwqCQBmbONKpdGzLDQANlEmQh5mXUcifiTp17kEKVKTwhsoIDWpJQC62v2/kloDgPh/HGdbF1B6X6TjpvD6RQNgc6kMDBmwxZVKo2dZ+Hna3MmS9rcuIgF3Snp27v03rAsB2lJ4AwWkJrUEwJAbANdK+qx1EUNTOHeSpMdY11F6f6TjsgQgfakMDEkAxJXK87wsNAA2R/x/7CW595+2LgKYhQYAMC2lBsClufdXdHzMlBoAbyMaF8WLrAsofTH33kc6dgqvXzQANlA4d5Sko6zrKNEAiCuVpMcyXJd7/0PrIhJHA0B6Te5915e+BTqTwhsoIDUpLQHocvf/Skq/98T/O1Y4t0vSWdZ1lGLF/6U0EgBHlNe6x7SUBoXM2EZSOJcprec6Nn6WtrbqVwA4R9KrrYsANsMbF2BaSgmAruP/UjoJgK9J+rJ1EQN0uqRjrYsoxWwApPD6tSbpMOsiEpXKoPB7ufc3WRcxYE7SIdZFLBFpkq2tcgLgHyW9OPd+ZF0IsJkU3kABqUklAfBdSRdHOG4qDYBzeJGMIpXN/66TdFHE46fy+sUygNlSWRfOgC2uVBo9y0ICYBOFc/eRdH/rOoy8W9IzueQo+iCVN1BASlJJAJwfaX18Kg2At1kXMDSFc4dLerZ1HaX3R97fIYUlABINgI2kMjBkwBZXKo2eZeHnaXOrOPt/h6SXSXouaSP0xX7WBQAJSiUBECP+L6XRAPhc7v03rYsYoOdLOtC6iFLM+L+UTgObBsBsqQwMSQDElUqjZ1loAGxu1RoAV0t6Xu79JdaFAItI5Q0UkJIUEgA3S/pUpGOn0ABg87849loXULpT0kcjnyOV1y8aAC2FcwdLepB1HSUGbHGl0uhZhp9K+rZ1EYm7WtIN1kUs0t+PawAAA1JJREFUybskPZzBP/oolTdQQEpSSAB8IPf+jkjHtm4A3C3pncY1DE7h3MmSHm1dR+lTufe3RD4HSwDS9RDZ/ztTIQEQ1yo1AC7nsrWby70/X9IJkv67pKGuha8i/88j8o++ogEATEshARAr/i/ZvzH/WO79D4xrGKIXWRcQiB3/l9J5/aIBMC2VQeEtGm+miggK546QdLR1HUtEmmQOufc35d7/vqSTJL3Fup4O3SbpTZL25N6/kU2M0WepvIECUmKdALhT0gcjHt/69574f8cK53ZJOsu6jsD7l3AOEgDpSmVd+GW8SY8qled5WWgALCD3/lu59y+U9EhJH5bU19/FGyS9RtIDcu9fmnt/pXVBwE6xCSAwzToB8PHc+5sjHt8yAXCb4qYbVtXTJB1jXUTp67n3Vy3hPNaNrAoNgGmpJACI/8eVyvO8LPw8bUO5Rv7phXPHSnqepF+X9CjbquZytaTXSfrr3HvriSGgUzQAgGnXyXaQ+reRj3++7AZPX4zc3FhVxyudxsqHlnSeC2S/nEViVnCWbyuNn8cPWBcwcKvW0N1nXUCf5d5/R9LrJb2+cO4Eja9a8xuSTjEtrOlmSZ+V9DeS3pN7f5dtOUAcKbx5AgAAALBiCudOkfQUSQ8vP/ZoeUu8rpN0oaTPlH9+Off+7iWdGzBDAwAAAACAucK5gySdqroh8HMa7zdx6DYPOZJ0o6Qflh9fVz3ov4J9QrCKaAAAAAAASFbh3H6SDpN0L0mHB39WH3erHuT/UOPN+34o6SZm9QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgGP4/9DKDN1StTEsAAAAASUVORK5CYII="/>
Alpha
-

Documentation

-

Feedback

+

Documentation

+

Feedback

This application contains no Javascript!

-

Emit event

-

Delete all the things!

-

Close the Window?

-

Center

-

Minimise

-

Maximise

-

UnMaximise

-

Fullscreen

-

UnFullscreen

-

Restore

-

Open Browser?

-

Hover over me

+

Emit event

+

Delete all the things!

+

Close the Window?

+

Center

+

Minimise

+

Maximise

+

UnMaximise

+

Fullscreen

+

UnFullscreen

+

Restore

+

Open Browser?

+

Hover over me

diff --git a/v3/internal/assetserver/bundledassets/runtime.debug.js b/v3/internal/assetserver/bundledassets/runtime.debug.js index d851604d0a5..b989ed14199 100644 --- a/v3/internal/assetserver/bundledassets/runtime.debug.js +++ b/v3/internal/assetserver/bundledassets/runtime.debug.js @@ -1053,10 +1053,10 @@ function onWMLTriggered(ev) { function runEffect(choice = "Yes") { if (choice !== "Yes") return; - const eventType = element.getAttribute("wml-event"); - const targetWindow = element.getAttribute("wml-target-window") || ""; - const windowMethod = element.getAttribute("wml-window"); - const url = element.getAttribute("wml-openurl"); + const eventType = element.getAttribute("data-wml-event"); + const targetWindow = element.getAttribute("data-wml-target-window") || ""; + const windowMethod = element.getAttribute("data-wml-window"); + const url = element.getAttribute("data-wml-openURL"); if (eventType !== null) sendEvent(eventType); if (windowMethod !== null) @@ -1064,7 +1064,7 @@ function onWMLTriggered(ev) { if (url !== null) void OpenURL(url); } - const confirm = element.getAttribute("wml-confirm"); + const confirm = element.getAttribute("data-wml-confirm"); if (confirm) { Question({ Title: "Confirm", @@ -1147,7 +1147,7 @@ var WeakMapRegistry = class { var triggerRegistry = canAbortListeners() ? new AbortControllerRegistry() : new WeakMapRegistry(); function addWMLListeners(element) { const triggerRegExp = /\S+/g; - const triggerAttr = element.getAttribute("wml-trigger") || "click"; + const triggerAttr = element.getAttribute("data-wml-trigger") || "click"; const triggers = []; let match; while ((match = triggerRegExp.exec(triggerAttr)) !== null) @@ -1161,7 +1161,7 @@ function Enable() { } function Reload() { triggerRegistry.reset(); - document.body.querySelectorAll("[wml-event], [wml-window], [wml-openurl]").forEach(addWMLListeners); + document.body.querySelectorAll("[data-wml-event], [data-wml-window], [data-wml-openURL]").forEach(addWMLListeners); } // desktop/compiled/main.js @@ -1653,4 +1653,4 @@ export { window_default as Window, init }; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2luZGV4LmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy93bWwuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2Jyb3dzZXIuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL25hbm9pZC5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvcnVudGltZS5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvZGlhbG9ncy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvZXZlbnRzLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9ldmVudF90eXBlcy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvdXRpbHMuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL3dpbmRvdy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvY29tcGlsZWQvbWFpbi5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvc3lzdGVtLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9jb250ZXh0bWVudS5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvZmxhZ3MuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2RyYWcuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2FwcGxpY2F0aW9uLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9jYWxscy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvY2xpcGJvYXJkLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9jcmVhdGUuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL3NjcmVlbnMuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXHJcbiBfXHQgICBfX1x0ICBfIF9fXHJcbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbi8vIFNldHVwXHJcbndpbmRvdy5fd2FpbHMgPSB3aW5kb3cuX3dhaWxzIHx8IHt9O1xyXG5cclxuaW1wb3J0IFwiLi9jb250ZXh0bWVudVwiO1xyXG5pbXBvcnQgXCIuL2RyYWdcIjtcclxuXHJcbi8vIFJlLWV4cG9ydCBwdWJsaWMgQVBJXHJcbmltcG9ydCAqIGFzIEFwcGxpY2F0aW9uIGZyb20gXCIuL2FwcGxpY2F0aW9uXCI7XHJcbmltcG9ydCAqIGFzIEJyb3dzZXIgZnJvbSBcIi4vYnJvd3NlclwiO1xyXG5pbXBvcnQgKiBhcyBDYWxsIGZyb20gXCIuL2NhbGxzXCI7XHJcbmltcG9ydCAqIGFzIENsaXBib2FyZCBmcm9tIFwiLi9jbGlwYm9hcmRcIjtcclxuaW1wb3J0ICogYXMgQ3JlYXRlIGZyb20gXCIuL2NyZWF0ZVwiO1xyXG5pbXBvcnQgKiBhcyBEaWFsb2dzIGZyb20gXCIuL2RpYWxvZ3NcIjtcclxuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xyXG5pbXBvcnQgKiBhcyBGbGFncyBmcm9tIFwiLi9mbGFnc1wiO1xyXG5pbXBvcnQgKiBhcyBTY3JlZW5zIGZyb20gXCIuL3NjcmVlbnNcIjtcclxuaW1wb3J0ICogYXMgU3lzdGVtIGZyb20gXCIuL3N5c3RlbVwiO1xyXG5pbXBvcnQgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xyXG5pbXBvcnQgKiBhcyBXTUwgZnJvbSBcIi4vd21sXCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgQXBwbGljYXRpb24sXHJcbiAgICBCcm93c2VyLFxyXG4gICAgQ2FsbCxcclxuICAgIENsaXBib2FyZCxcclxuICAgIENyZWF0ZSxcclxuICAgIERpYWxvZ3MsXHJcbiAgICBFdmVudHMsXHJcbiAgICBGbGFncyxcclxuICAgIFNjcmVlbnMsXHJcbiAgICBTeXN0ZW0sXHJcbiAgICBXaW5kb3csXHJcbiAgICBXTUxcclxufTtcclxuXHJcbmxldCBpbml0aWFsaXNlZCA9IGZhbHNlO1xyXG5leHBvcnQgZnVuY3Rpb24gaW5pdCgpIHtcclxuICAgIHdpbmRvdy5fd2FpbHMuaW52b2tlID0gU3lzdGVtLmludm9rZTtcclxuICAgIFN5c3RlbS5pbnZva2UoXCJ3YWlsczpydW50aW1lOnJlYWR5XCIpO1xyXG4gICAgaW5pdGlhbGlzZWQgPSB0cnVlO1xyXG59XHJcblxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xyXG4gICAgaWYgKCFpbml0aWFsaXNlZCkge1xyXG4gICAgICAgIGluaXQoKTtcclxuICAgIH1cclxufSk7XHJcblxyXG4vLyBOb3RpZnkgYmFja2VuZFxyXG5cclxuIiwgIi8qXHJcbiBfICAgICBfXyAgICAgXyBfX1xyXG58IHwgIC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbmltcG9ydCB7T3BlblVSTH0gZnJvbSBcIi4vYnJvd3NlclwiO1xyXG5pbXBvcnQge1F1ZXN0aW9ufSBmcm9tIFwiLi9kaWFsb2dzXCI7XHJcbmltcG9ydCB7RW1pdCwgV2FpbHNFdmVudH0gZnJvbSBcIi4vZXZlbnRzXCI7XHJcbmltcG9ydCB7Y2FuQWJvcnRMaXN0ZW5lcnMsIHdoZW5SZWFkeX0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IFdpbmRvdyBmcm9tIFwiLi93aW5kb3dcIjtcclxuXHJcbi8qKlxyXG4gKiBTZW5kcyBhbiBldmVudCB3aXRoIHRoZSBnaXZlbiBuYW1lIGFuZCBvcHRpb25hbCBkYXRhLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIHNlbmQuXHJcbiAqIEBwYXJhbSB7YW55fSBbZGF0YT1udWxsXSAtIE9wdGlvbmFsIGRhdGEgdG8gc2VuZCBhbG9uZyB3aXRoIHRoZSBldmVudC5cclxuICpcclxuICogQHJldHVybiB7dm9pZH1cclxuICovXHJcbmZ1bmN0aW9uIHNlbmRFdmVudChldmVudE5hbWUsIGRhdGE9bnVsbCkge1xyXG4gICAgRW1pdChuZXcgV2FpbHNFdmVudChldmVudE5hbWUsIGRhdGEpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIGEgbWV0aG9kIG9uIGEgc3BlY2lmaWVkIHdpbmRvdy5cclxuICogQHBhcmFtIHtzdHJpbmd9IHdpbmRvd05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2luZG93IHRvIGNhbGwgdGhlIG1ldGhvZCBvbi5cclxuICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbWV0aG9kIHRvIGNhbGwuXHJcbiAqL1xyXG5mdW5jdGlvbiBjYWxsV2luZG93TWV0aG9kKHdpbmRvd05hbWUsIG1ldGhvZE5hbWUpIHtcclxuICAgIGNvbnN0IHRhcmdldFdpbmRvdyA9IFdpbmRvdy5HZXQod2luZG93TmFtZSk7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0YXJnZXRXaW5kb3dbbWV0aG9kTmFtZV07XHJcblxyXG4gICAgaWYgKHR5cGVvZiBtZXRob2QgIT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFdpbmRvdyBtZXRob2QgJyR7bWV0aG9kTmFtZX0nIG5vdCBmb3VuZGApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICAgIG1ldGhvZC5jYWxsKHRhcmdldFdpbmRvdyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgY2FsbGluZyB3aW5kb3cgbWV0aG9kICcke21ldGhvZE5hbWV9JzogYCwgZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNwb25kcyB0byBhIHRyaWdnZXJpbmcgZXZlbnQgYnkgcnVubmluZyBhcHByb3ByaWF0ZSBXTUwgYWN0aW9ucyBmb3IgdGhlIGN1cnJlbnQgdGFyZ2V0XHJcbiAqXHJcbiAqIEBwYXJhbSB7RXZlbnR9IGV2XHJcbiAqIEByZXR1cm4ge3ZvaWR9XHJcbiAqL1xyXG5mdW5jdGlvbiBvbldNTFRyaWdnZXJlZChldikge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2LmN1cnJlbnRUYXJnZXQ7XHJcblxyXG4gICAgZnVuY3Rpb24gcnVuRWZmZWN0KGNob2ljZSA9IFwiWWVzXCIpIHtcclxuICAgICAgICBpZiAoY2hvaWNlICE9PSBcIlllc1wiKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGV2ZW50VHlwZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd3bWwtZXZlbnQnKTtcclxuICAgICAgICBjb25zdCB0YXJnZXRXaW5kb3cgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnd21sLXRhcmdldC13aW5kb3cnKSB8fCBcIlwiO1xyXG4gICAgICAgIGNvbnN0IHdpbmRvd01ldGhvZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd3bWwtd2luZG93Jyk7XHJcbiAgICAgICAgY29uc3QgdXJsID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3dtbC1vcGVudXJsJyk7XHJcblxyXG4gICAgICAgIGlmIChldmVudFR5cGUgIT09IG51bGwpXHJcbiAgICAgICAgICAgIHNlbmRFdmVudChldmVudFR5cGUpO1xyXG4gICAgICAgIGlmICh3aW5kb3dNZXRob2QgIT09IG51bGwpXHJcbiAgICAgICAgICAgIGNhbGxXaW5kb3dNZXRob2QodGFyZ2V0V2luZG93LCB3aW5kb3dNZXRob2QpO1xyXG4gICAgICAgIGlmICh1cmwgIT09IG51bGwpXHJcbiAgICAgICAgICAgIHZvaWQgT3BlblVSTCh1cmwpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbmZpcm0gPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnd21sLWNvbmZpcm0nKTtcclxuXHJcbiAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgIFF1ZXN0aW9uKHtcclxuICAgICAgICAgICAgVGl0bGU6IFwiQ29uZmlybVwiLFxyXG4gICAgICAgICAgICBNZXNzYWdlOiBjb25maXJtLFxyXG4gICAgICAgICAgICBEZXRhY2hlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIEJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgIHsgTGFiZWw6IFwiWWVzXCIgfSxcclxuICAgICAgICAgICAgICAgIHsgTGFiZWw6IFwiTm9cIiwgSXNEZWZhdWx0OiB0cnVlIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH0pLnRoZW4ocnVuRWZmZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcnVuRWZmZWN0KCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAdHlwZSB7c3ltYm9sfVxyXG4gKi9cclxuY29uc3QgY29udHJvbGxlciA9IFN5bWJvbCgpO1xyXG5cclxuLyoqXHJcbiAqIEFib3J0Q29udHJvbGxlclJlZ2lzdHJ5IGRvZXMgbm90IGFjdHVhbGx5IHJlbWVtYmVyIGFjdGl2ZSBldmVudCBsaXN0ZW5lcnM6IGluc3RlYWRcclxuICogaXQgdGllcyB0aGVtIHRvIGFuIEFib3J0U2lnbmFsIGFuZCB1c2VzIGFuIEFib3J0Q29udHJvbGxlciB0byByZW1vdmUgdGhlbSBhbGwgYXQgb25jZS5cclxuICovXHJcbmNsYXNzIEFib3J0Q29udHJvbGxlclJlZ2lzdHJ5IHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFN0b3JlcyB0aGUgQWJvcnRDb250cm9sbGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVtb3ZlIGFsbCBjdXJyZW50bHkgYWN0aXZlIGxpc3RlbmVycy5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEBwcml2YXRlXHJcbiAgICAgICAgICogQG5hbWUge0BsaW5rIGNvbnRyb2xsZXJ9XHJcbiAgICAgICAgICogQG1lbWJlciB7QWJvcnRDb250cm9sbGVyfVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXNbY29udHJvbGxlcl0gPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGFuIG9wdGlvbnMgb2JqZWN0IGZvciBhZGRFdmVudExpc3RlbmVyIHRoYXQgdGllcyB0aGUgbGlzdGVuZXJcclxuICAgICAqIHRvIHRoZSBBYm9ydFNpZ25hbCBmcm9tIHRoZSBjdXJyZW50IEFib3J0Q29udHJvbGxlci5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IEFuIEhUTUwgZWxlbWVudFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gdHJpZ2dlcnMgVGhlIGxpc3Qgb2YgYWN0aXZlIFdNTCB0cmlnZ2VyIGV2ZW50cyBmb3IgdGhlIHNwZWNpZmllZCBlbGVtZW50c1xyXG4gICAgICogQHJldHVybnMge0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zfVxyXG4gICAgICovXHJcbiAgICBzZXQoZWxlbWVudCwgdHJpZ2dlcnMpIHtcclxuICAgICAgICByZXR1cm4geyBzaWduYWw6IHRoaXNbY29udHJvbGxlcl0uc2lnbmFsIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGFsbCByZWdpc3RlcmVkIGV2ZW50IGxpc3RlbmVycy5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAqL1xyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgICAgdGhpc1tjb250cm9sbGVyXS5hYm9ydCgpO1xyXG4gICAgICAgIHRoaXNbY29udHJvbGxlcl0gPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAdHlwZSB7c3ltYm9sfVxyXG4gKi9cclxuY29uc3QgdHJpZ2dlck1hcCA9IFN5bWJvbCgpO1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlIHtzeW1ib2x9XHJcbiAqL1xyXG5jb25zdCBlbGVtZW50Q291bnQgPSBTeW1ib2woKTtcclxuXHJcbi8qKlxyXG4gKiBXZWFrTWFwUmVnaXN0cnkgbWFwcyBhY3RpdmUgdHJpZ2dlciBldmVudHMgdG8gZWFjaCBET00gZWxlbWVudCB0aHJvdWdoIGEgV2Vha01hcC5cclxuICogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG1hcHBpbmcgcmVtYWlucyBwcml2YXRlIHRvIHRoaXMgbW9kdWxlLCB3aGlsZSBzdGlsbCBhbGxvd2luZyBnYXJiYWdlXHJcbiAqIGNvbGxlY3Rpb24gb2YgdGhlIGludm9sdmVkIGVsZW1lbnRzLlxyXG4gKi9cclxuY2xhc3MgV2Vha01hcFJlZ2lzdHJ5IHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFN0b3JlcyB0aGUgY3VycmVudCBlbGVtZW50LXRvLXRyaWdnZXIgbWFwcGluZy5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEBwcml2YXRlXHJcbiAgICAgICAgICogQG5hbWUge0BsaW5rIHRyaWdnZXJNYXB9XHJcbiAgICAgICAgICogQG1lbWJlciB7V2Vha01hcDxIVE1MRWxlbWVudCwgc3RyaW5nW10+fVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXNbdHJpZ2dlck1hcF0gPSBuZXcgV2Vha01hcCgpO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBDb3VudHMgdGhlIG51bWJlciBvZiBlbGVtZW50cyB3aXRoIGFjdGl2ZSBXTUwgdHJpZ2dlcnMuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICAgICAqIEBuYW1lIHtAbGluayBlbGVtZW50Q291bnR9XHJcbiAgICAgICAgICogQG1lbWJlciB7bnVtYmVyfVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXNbZWxlbWVudENvdW50XSA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBhY3RpdmUgdHJpZ2dlcnMgZm9yIHRoZSBzcGVjaWZpZWQgZWxlbWVudC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IEFuIEhUTUwgZWxlbWVudFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gdHJpZ2dlcnMgVGhlIGxpc3Qgb2YgYWN0aXZlIFdNTCB0cmlnZ2VyIGV2ZW50cyBmb3IgdGhlIHNwZWNpZmllZCBlbGVtZW50XHJcbiAgICAgKiBAcmV0dXJucyB7QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnN9XHJcbiAgICAgKi9cclxuICAgIHNldChlbGVtZW50LCB0cmlnZ2Vycykge1xyXG4gICAgICAgIHRoaXNbZWxlbWVudENvdW50XSArPSAhdGhpc1t0cmlnZ2VyTWFwXS5oYXMoZWxlbWVudCk7XHJcbiAgICAgICAgdGhpc1t0cmlnZ2VyTWFwXS5zZXQoZWxlbWVudCwgdHJpZ2dlcnMpO1xyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYWxsIHJlZ2lzdGVyZWQgZXZlbnQgbGlzdGVuZXJzLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICByZXNldCgpIHtcclxuICAgICAgICBpZiAodGhpc1tlbGVtZW50Q291bnRdIDw9IDApXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnKicpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzW2VsZW1lbnRDb3VudF0gPD0gMClcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdHJpZ2dlcnMgPSB0aGlzW3RyaWdnZXJNYXBdLmdldChlbGVtZW50KTtcclxuICAgICAgICAgICAgdGhpc1tlbGVtZW50Q291bnRdIC09ICh0eXBlb2YgdHJpZ2dlcnMgIT09IFwidW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzIHx8IFtdKVxyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRyaWdnZXIsIG9uV01MVHJpZ2dlcmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXNbdHJpZ2dlck1hcF0gPSBuZXcgV2Vha01hcCgpO1xyXG4gICAgICAgIHRoaXNbZWxlbWVudENvdW50XSA9IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IHRyaWdnZXJSZWdpc3RyeSA9IGNhbkFib3J0TGlzdGVuZXJzKCkgPyBuZXcgQWJvcnRDb250cm9sbGVyUmVnaXN0cnkoKSA6IG5ldyBXZWFrTWFwUmVnaXN0cnkoKTtcclxuXHJcbi8qKlxyXG4gKiBBZGRzIGV2ZW50IGxpc3RlbmVycyB0byB0aGUgc3BlY2lmaWVkIGVsZW1lbnQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnRcclxuICogQHJldHVybiB7dm9pZH1cclxuICovXHJcbmZ1bmN0aW9uIGFkZFdNTExpc3RlbmVycyhlbGVtZW50KSB7XHJcbiAgICBjb25zdCB0cmlnZ2VyUmVnRXhwID0gL1xcUysvZztcclxuICAgIGNvbnN0IHRyaWdnZXJBdHRyID0gKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd3bWwtdHJpZ2dlcicpIHx8IFwiY2xpY2tcIik7XHJcbiAgICBjb25zdCB0cmlnZ2VycyA9IFtdO1xyXG5cclxuICAgIGxldCBtYXRjaDtcclxuICAgIHdoaWxlICgobWF0Y2ggPSB0cmlnZ2VyUmVnRXhwLmV4ZWModHJpZ2dlckF0dHIpKSAhPT0gbnVsbClcclxuICAgICAgICB0cmlnZ2Vycy5wdXNoKG1hdGNoWzBdKTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0gdHJpZ2dlclJlZ2lzdHJ5LnNldChlbGVtZW50LCB0cmlnZ2Vycyk7XHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMpXHJcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRyaWdnZXIsIG9uV01MVHJpZ2dlcmVkLCBvcHRpb25zKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNjaGVkdWxlcyBhbiBhdXRvbWF0aWMgcmVsb2FkIG9mIFdNTCB0byBiZSBwZXJmb3JtZWQgYXMgc29vbiBhcyB0aGUgZG9jdW1lbnQgaXMgZnVsbHkgbG9hZGVkLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEVuYWJsZSgpIHtcclxuICAgIHdoZW5SZWFkeShSZWxvYWQpO1xyXG59XHJcblxyXG4vKipcclxuICogUmVsb2FkcyB0aGUgV01MIHBhZ2UgYnkgYWRkaW5nIG5lY2Vzc2FyeSBldmVudCBsaXN0ZW5lcnMgYW5kIGJyb3dzZXIgbGlzdGVuZXJzLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFJlbG9hZCgpIHtcclxuICAgIHRyaWdnZXJSZWdpc3RyeS5yZXNldCgpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKCdbd21sLWV2ZW50XSwgW3dtbC13aW5kb3ddLCBbd21sLW9wZW51cmxdJykuZm9yRWFjaChhZGRXTUxMaXN0ZW5lcnMpO1xyXG59XHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcbmltcG9ydCB7bmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXN9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkJyb3dzZXIsICcnKTtcclxuY29uc3QgQnJvd3Nlck9wZW5VUkwgPSAwO1xyXG5cclxuLyoqXHJcbiAqIE9wZW4gYSBicm93c2VyIHdpbmRvdyB0byB0aGUgZ2l2ZW4gVVJMXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBUaGUgVVJMIHRvIG9wZW5cclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPcGVuVVJMKHVybCkge1xyXG4gICAgcmV0dXJuIGNhbGwoQnJvd3Nlck9wZW5VUkwsIHt1cmx9KTtcclxufVxyXG4iLCAiLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vYWkvbmFub2lkXG5cbi8vIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuLy9cbi8vIENvcHlyaWdodCAyMDE3IEFuZHJleSBTaXRuaWsgPGFuZHJleUBzaXRuaWsucnU+XG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZlxuLy8gdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpblxuLy8gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0b1xuLy8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Zcbi8vIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbyxcbi8vICAgICBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyAgICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4vLyBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vICAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTU1xuLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SXG4vLyBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVJcbi8vIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOXG4vLyBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBUaGlzIGFscGhhYmV0IHVzZXMgYEEtWmEtejAtOV8tYCBzeW1ib2xzLlxuLy8gVGhlIG9yZGVyIG9mIGNoYXJhY3RlcnMgaXMgb3B0aW1pemVkIGZvciBiZXR0ZXIgZ3ppcCBhbmQgYnJvdGxpIGNvbXByZXNzaW9uLlxuLy8gUmVmZXJlbmNlcyB0byB0aGUgc2FtZSBmaWxlICh3b3JrcyBib3RoIGZvciBnemlwIGFuZCBicm90bGkpOlxuLy8gYCd1c2VgLCBgYW5kb21gLCBhbmQgYHJpY3QnYFxuLy8gUmVmZXJlbmNlcyB0byB0aGUgYnJvdGxpIGRlZmF1bHQgZGljdGlvbmFyeTpcbi8vIGAtMjZUYCwgYDE5ODNgLCBgNDBweGAsIGA3NXB4YCwgYGJ1c2hgLCBgamFja2AsIGBtaW5kYCwgYHZlcnlgLCBhbmQgYHdvbGZgXG5sZXQgdXJsQWxwaGFiZXQgPVxuICAgICd1c2VhbmRvbS0yNlQxOTgzNDBQWDc1cHhKQUNLVkVSWU1JTkRCVVNIV09MRl9HUVpiZmdoamtscXZ3eXpyaWN0J1xuXG5leHBvcnQgbGV0IG5hbm9pZCA9IChzaXplID0gMjEpID0+IHtcbiAgICBsZXQgaWQgPSAnJ1xuICAgIC8vIEEgY29tcGFjdCBhbHRlcm5hdGl2ZSBmb3IgYGZvciAodmFyIGkgPSAwOyBpIDwgc3RlcDsgaSsrKWAuXG4gICAgbGV0IGkgPSBzaXplIHwgMFxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgLy8gYHwgMGAgaXMgbW9yZSBjb21wYWN0IGFuZCBmYXN0ZXIgdGhhbiBgTWF0aC5mbG9vcigpYC5cbiAgICAgICAgaWQgKz0gdXJsQWxwaGFiZXRbKE1hdGgucmFuZG9tKCkgKiA2NCkgfCAwXVxuICAgIH1cbiAgICByZXR1cm4gaWRcbn0iLCAiLypcclxuIF8gICAgIF9fICAgICBfIF9fXHJcbnwgfCAgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICcuL25hbm9pZC5qcyc7XHJcblxyXG5jb25zdCBydW50aW1lVVJMID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIFwiL3dhaWxzL3J1bnRpbWVcIjtcclxuXHJcbi8vIE9iamVjdCBOYW1lc1xyXG5leHBvcnQgY29uc3Qgb2JqZWN0TmFtZXMgPSB7XHJcbiAgICBDYWxsOiAwLFxyXG4gICAgQ2xpcGJvYXJkOiAxLFxyXG4gICAgQXBwbGljYXRpb246IDIsXHJcbiAgICBFdmVudHM6IDMsXHJcbiAgICBDb250ZXh0TWVudTogNCxcclxuICAgIERpYWxvZzogNSxcclxuICAgIFdpbmRvdzogNixcclxuICAgIFNjcmVlbnM6IDcsXHJcbiAgICBTeXN0ZW06IDgsXHJcbiAgICBCcm93c2VyOiA5LFxyXG4gICAgQ2FuY2VsQ2FsbDogMTAsXHJcbn1cclxuZXhwb3J0IGxldCBjbGllbnRJZCA9IG5hbm9pZCgpO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBydW50aW1lIGNhbGxlciBmdW5jdGlvbiB0aGF0IGludm9rZXMgYSBzcGVjaWZpZWQgbWV0aG9kIG9uIGEgZ2l2ZW4gb2JqZWN0IHdpdGhpbiBhIHNwZWNpZmllZCB3aW5kb3cgY29udGV4dC5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCAtIFRoZSBvYmplY3Qgb24gd2hpY2ggdGhlIG1ldGhvZCBpcyB0byBiZSBpbnZva2VkLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gd2luZG93TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3aW5kb3cgY29udGV4dCBpbiB3aGljaCB0aGUgbWV0aG9kIHNob3VsZCBiZSBjYWxsZWQuXHJcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gQSBydW50aW1lIGNhbGxlciBmdW5jdGlvbiB0aGF0IHRha2VzIHRoZSBtZXRob2QgbmFtZSBhbmQgb3B0aW9uYWxseSBhcmd1bWVudHMgYW5kIGludm9rZXMgdGhlIG1ldGhvZCB3aXRoaW4gdGhlIHNwZWNpZmllZCB3aW5kb3cgY29udGV4dC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBuZXdSdW50aW1lQ2FsbGVyKG9iamVjdCwgd2luZG93TmFtZSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChtZXRob2QsIGFyZ3M9bnVsbCkge1xyXG4gICAgICAgIHJldHVybiBydW50aW1lQ2FsbChvYmplY3QgKyBcIi5cIiArIG1ldGhvZCwgd2luZG93TmFtZSwgYXJncyk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIG5ldyBydW50aW1lIGNhbGxlciB3aXRoIHNwZWNpZmllZCBJRC5cclxuICpcclxuICogQHBhcmFtIHtvYmplY3R9IG9iamVjdCAtIFRoZSBvYmplY3QgdG8gaW52b2tlIHRoZSBtZXRob2Qgb24uXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSB3aW5kb3dOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdpbmRvdy5cclxuICogQHJldHVybiB7RnVuY3Rpb259IC0gVGhlIG5ldyBydW50aW1lIGNhbGxlciBmdW5jdGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdCwgd2luZG93TmFtZSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChtZXRob2QsIGFyZ3M9bnVsbCkge1xyXG4gICAgICAgIHJldHVybiBydW50aW1lQ2FsbFdpdGhJRChvYmplY3QsIG1ldGhvZCwgd2luZG93TmFtZSwgYXJncyk7XHJcbiAgICB9O1xyXG59XHJcblxyXG5cclxuZnVuY3Rpb24gcnVudGltZUNhbGwobWV0aG9kLCB3aW5kb3dOYW1lLCBhcmdzKSB7XHJcbiAgICBsZXQgdXJsID0gbmV3IFVSTChydW50aW1lVVJMKTtcclxuICAgIGlmKCBtZXRob2QgKSB7XHJcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJtZXRob2RcIiwgbWV0aG9kKTtcclxuICAgIH1cclxuICAgIGxldCBmZXRjaE9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczoge30sXHJcbiAgICB9O1xyXG4gICAgaWYgKHdpbmRvd05hbWUpIHtcclxuICAgICAgICBmZXRjaE9wdGlvbnMuaGVhZGVyc1tcIngtd2FpbHMtd2luZG93LW5hbWVcIl0gPSB3aW5kb3dOYW1lO1xyXG4gICAgfVxyXG4gICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcImFyZ3NcIiwgSlNPTi5zdHJpbmdpZnkoYXJncykpO1xyXG4gICAgfVxyXG4gICAgZmV0Y2hPcHRpb25zLmhlYWRlcnNbXCJ4LXdhaWxzLWNsaWVudC1pZFwiXSA9IGNsaWVudElkO1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgZmV0Y2godXJsLCBmZXRjaE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGNvbnRlbnQgdHlwZVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5oZWFkZXJzLmdldChcIkNvbnRlbnQtVHlwZVwiKSAmJiByZXNwb25zZS5oZWFkZXJzLmdldChcIkNvbnRlbnQtVHlwZVwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24vanNvblwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJlamVjdChFcnJvcihyZXNwb25zZS5zdGF0dXNUZXh0KSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGRhdGEgPT4gcmVzb2x2ZShkYXRhKSlcclxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHJlamVjdChlcnJvcikpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJ1bnRpbWVDYWxsV2l0aElEKG9iamVjdElELCBtZXRob2QsIHdpbmRvd05hbWUsIGFyZ3MpIHtcclxuICAgIGxldCB1cmwgPSBuZXcgVVJMKHJ1bnRpbWVVUkwpO1xyXG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJvYmplY3RcIiwgb2JqZWN0SUQpO1xyXG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJtZXRob2RcIiwgbWV0aG9kKTtcclxuICAgIGxldCBmZXRjaE9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczoge30sXHJcbiAgICB9O1xyXG4gICAgaWYgKHdpbmRvd05hbWUpIHtcclxuICAgICAgICBmZXRjaE9wdGlvbnMuaGVhZGVyc1tcIngtd2FpbHMtd2luZG93LW5hbWVcIl0gPSB3aW5kb3dOYW1lO1xyXG4gICAgfVxyXG4gICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcImFyZ3NcIiwgSlNPTi5zdHJpbmdpZnkoYXJncykpO1xyXG4gICAgfVxyXG4gICAgZmV0Y2hPcHRpb25zLmhlYWRlcnNbXCJ4LXdhaWxzLWNsaWVudC1pZFwiXSA9IGNsaWVudElkO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBmZXRjaCh1cmwsIGZldGNoT3B0aW9ucylcclxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgY29udGVudCB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwiQ29udGVudC1UeXBlXCIpICYmIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwiQ29udGVudC1UeXBlXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi9qc29uXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVqZWN0KEVycm9yKHJlc3BvbnNlLnN0YXR1c1RleHQpKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4oZGF0YSA9PiByZXNvbHZlKGRhdGEpKVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4gcmVqZWN0KGVycm9yKSk7XHJcbiAgICB9KTtcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IE9wZW5GaWxlRGlhbG9nT3B0aW9uc1xyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtDYW5DaG9vc2VEaXJlY3Rvcmllc10gLSBJbmRpY2F0ZXMgaWYgZGlyZWN0b3JpZXMgY2FuIGJlIGNob3Nlbi5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQ2FuQ2hvb3NlRmlsZXNdIC0gSW5kaWNhdGVzIGlmIGZpbGVzIGNhbiBiZSBjaG9zZW4uXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0NhbkNyZWF0ZURpcmVjdG9yaWVzXSAtIEluZGljYXRlcyBpZiBkaXJlY3RvcmllcyBjYW4gYmUgY3JlYXRlZC5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbU2hvd0hpZGRlbkZpbGVzXSAtIEluZGljYXRlcyBpZiBoaWRkZW4gZmlsZXMgc2hvdWxkIGJlIHNob3duLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtSZXNvbHZlc0FsaWFzZXNdIC0gSW5kaWNhdGVzIGlmIGFsaWFzZXMgc2hvdWxkIGJlIHJlc29sdmVkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtBbGxvd3NNdWx0aXBsZVNlbGVjdGlvbl0gLSBJbmRpY2F0ZXMgaWYgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGFsbG93ZWQuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0hpZGVFeHRlbnNpb25dIC0gSW5kaWNhdGVzIGlmIHRoZSBleHRlbnNpb24gc2hvdWxkIGJlIGhpZGRlbi5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQ2FuU2VsZWN0SGlkZGVuRXh0ZW5zaW9uXSAtIEluZGljYXRlcyBpZiBoaWRkZW4gZXh0ZW5zaW9ucyBjYW4gYmUgc2VsZWN0ZWQuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW1RyZWF0c0ZpbGVQYWNrYWdlc0FzRGlyZWN0b3JpZXNdIC0gSW5kaWNhdGVzIGlmIGZpbGUgcGFja2FnZXMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgZGlyZWN0b3JpZXMuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0FsbG93c090aGVyRmlsZXR5cGVzXSAtIEluZGljYXRlcyBpZiBvdGhlciBmaWxlIHR5cGVzIGFyZSBhbGxvd2VkLlxyXG4gKiBAcHJvcGVydHkge0ZpbGVGaWx0ZXJbXX0gW0ZpbHRlcnNdIC0gQXJyYXkgb2YgZmlsZSBmaWx0ZXJzLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW1RpdGxlXSAtIFRpdGxlIG9mIHRoZSBkaWFsb2cuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbTWVzc2FnZV0gLSBNZXNzYWdlIHRvIHNob3cgaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtCdXR0b25UZXh0XSAtIFRleHQgdG8gZGlzcGxheSBvbiB0aGUgYnV0dG9uLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW0RpcmVjdG9yeV0gLSBEaXJlY3RvcnkgdG8gb3BlbiBpbiB0aGUgZGlhbG9nLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtEZXRhY2hlZF0gLSBJbmRpY2F0ZXMgaWYgdGhlIGRpYWxvZyBzaG91bGQgYXBwZWFyIGRldGFjaGVkIGZyb20gdGhlIG1haW4gd2luZG93LlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gU2F2ZUZpbGVEaWFsb2dPcHRpb25zXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbRmlsZW5hbWVdIC0gRGVmYXVsdCBmaWxlbmFtZSB0byB1c2UgaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQ2FuQ2hvb3NlRGlyZWN0b3JpZXNdIC0gSW5kaWNhdGVzIGlmIGRpcmVjdG9yaWVzIGNhbiBiZSBjaG9zZW4uXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0NhbkNob29zZUZpbGVzXSAtIEluZGljYXRlcyBpZiBmaWxlcyBjYW4gYmUgY2hvc2VuLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtDYW5DcmVhdGVEaXJlY3Rvcmllc10gLSBJbmRpY2F0ZXMgaWYgZGlyZWN0b3JpZXMgY2FuIGJlIGNyZWF0ZWQuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW1Nob3dIaWRkZW5GaWxlc10gLSBJbmRpY2F0ZXMgaWYgaGlkZGVuIGZpbGVzIHNob3VsZCBiZSBzaG93bi5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbUmVzb2x2ZXNBbGlhc2VzXSAtIEluZGljYXRlcyBpZiBhbGlhc2VzIHNob3VsZCBiZSByZXNvbHZlZC5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQWxsb3dzTXVsdGlwbGVTZWxlY3Rpb25dIC0gSW5kaWNhdGVzIGlmIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtIaWRlRXh0ZW5zaW9uXSAtIEluZGljYXRlcyBpZiB0aGUgZXh0ZW5zaW9uIHNob3VsZCBiZSBoaWRkZW4uXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0NhblNlbGVjdEhpZGRlbkV4dGVuc2lvbl0gLSBJbmRpY2F0ZXMgaWYgaGlkZGVuIGV4dGVuc2lvbnMgY2FuIGJlIHNlbGVjdGVkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtUcmVhdHNGaWxlUGFja2FnZXNBc0RpcmVjdG9yaWVzXSAtIEluZGljYXRlcyBpZiBmaWxlIHBhY2thZ2VzIHNob3VsZCBiZSB0cmVhdGVkIGFzIGRpcmVjdG9yaWVzLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtBbGxvd3NPdGhlckZpbGV0eXBlc10gLSBJbmRpY2F0ZXMgaWYgb3RoZXIgZmlsZSB0eXBlcyBhcmUgYWxsb3dlZC5cclxuICogQHByb3BlcnR5IHtGaWxlRmlsdGVyW119IFtGaWx0ZXJzXSAtIEFycmF5IG9mIGZpbGUgZmlsdGVycy5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtUaXRsZV0gLSBUaXRsZSBvZiB0aGUgZGlhbG9nLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW01lc3NhZ2VdIC0gTWVzc2FnZSB0byBzaG93IGluIHRoZSBkaWFsb2cuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbQnV0dG9uVGV4dF0gLSBUZXh0IHRvIGRpc3BsYXkgb24gdGhlIGJ1dHRvbi5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtEaXJlY3RvcnldIC0gRGlyZWN0b3J5IHRvIG9wZW4gaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbRGV0YWNoZWRdIC0gSW5kaWNhdGVzIGlmIHRoZSBkaWFsb2cgc2hvdWxkIGFwcGVhciBkZXRhY2hlZCBmcm9tIHRoZSBtYWluIHdpbmRvdy5cclxuICovXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gTWVzc2FnZURpYWxvZ09wdGlvbnNcclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtUaXRsZV0gLSBUaGUgdGl0bGUgb2YgdGhlIGRpYWxvZyB3aW5kb3cuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbTWVzc2FnZV0gLSBUaGUgbWFpbiBtZXNzYWdlIHRvIHNob3cgaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtCdXR0b25bXX0gW0J1dHRvbnNdIC0gQXJyYXkgb2YgYnV0dG9uIG9wdGlvbnMgdG8gc2hvdyBpbiB0aGUgZGlhbG9nLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtEZXRhY2hlZF0gLSBUcnVlIGlmIHRoZSBkaWFsb2cgc2hvdWxkIGFwcGVhciBkZXRhY2hlZCBmcm9tIHRoZSBtYWluIHdpbmRvdyAoaWYgYXBwbGljYWJsZSkuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJ1dHRvblxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW0xhYmVsXSAtIFRleHQgdGhhdCBhcHBlYXJzIHdpdGhpbiB0aGUgYnV0dG9uLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtJc0NhbmNlbF0gLSBUcnVlIGlmIHRoZSBidXR0b24gc2hvdWxkIGNhbmNlbCBhbiBvcGVyYXRpb24gd2hlbiBjbGlja2VkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtJc0RlZmF1bHRdIC0gVHJ1ZSBpZiB0aGUgYnV0dG9uIHNob3VsZCBiZSB0aGUgZGVmYXVsdCBhY3Rpb24gd2hlbiB0aGUgdXNlciBwcmVzc2VzIGVudGVyLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBGaWxlRmlsdGVyXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbRGlzcGxheU5hbWVdIC0gRGlzcGxheSBuYW1lIGZvciB0aGUgZmlsdGVyLCBpdCBjb3VsZCBiZSBcIlRleHQgRmlsZXNcIiwgXCJJbWFnZXNcIiBldGMuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbUGF0dGVybl0gLSBQYXR0ZXJuIHRvIG1hdGNoIGZvciB0aGUgZmlsdGVyLCBlLmcuIFwiKi50eHQ7Ki5tZFwiIGZvciB0ZXh0IG1hcmtkb3duIGZpbGVzLlxyXG4gKi9cclxuXHJcbi8vIHNldHVwXHJcbndpbmRvdy5fd2FpbHMgPSB3aW5kb3cuX3dhaWxzIHx8IHt9O1xyXG53aW5kb3cuX3dhaWxzLmRpYWxvZ0Vycm9yQ2FsbGJhY2sgPSBkaWFsb2dFcnJvckNhbGxiYWNrO1xyXG53aW5kb3cuX3dhaWxzLmRpYWxvZ1Jlc3VsdENhbGxiYWNrID0gZGlhbG9nUmVzdWx0Q2FsbGJhY2s7XHJcblxyXG5pbXBvcnQge25ld1J1bnRpbWVDYWxsZXJXaXRoSUQsIG9iamVjdE5hbWVzfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcblxyXG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICcuL25hbm9pZC5qcyc7XHJcblxyXG4vLyBEZWZpbmUgY29uc3RhbnRzIGZyb20gdGhlIGBtZXRob2RzYCBvYmplY3QgaW4gVGl0bGUgQ2FzZVxyXG5jb25zdCBEaWFsb2dJbmZvID0gMDtcclxuY29uc3QgRGlhbG9nV2FybmluZyA9IDE7XHJcbmNvbnN0IERpYWxvZ0Vycm9yID0gMjtcclxuY29uc3QgRGlhbG9nUXVlc3Rpb24gPSAzO1xyXG5jb25zdCBEaWFsb2dPcGVuRmlsZSA9IDQ7XHJcbmNvbnN0IERpYWxvZ1NhdmVGaWxlID0gNTtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkRpYWxvZywgJycpO1xyXG5jb25zdCBkaWFsb2dSZXNwb25zZXMgPSBuZXcgTWFwKCk7XHJcblxyXG4vKipcclxuICogR2VuZXJhdGVzIGEgdW5pcXVlIGlkIHRoYXQgaXMgbm90IHByZXNlbnQgaW4gZGlhbG9nUmVzcG9uc2VzLlxyXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB1bmlxdWUgaWRcclxuICovXHJcbmZ1bmN0aW9uIGdlbmVyYXRlSUQoKSB7XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgZG8ge1xyXG4gICAgICAgIHJlc3VsdCA9IG5hbm9pZCgpO1xyXG4gICAgfSB3aGlsZSAoZGlhbG9nUmVzcG9uc2VzLmhhcyhyZXN1bHQpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaG93cyBhIGRpYWxvZyBvZiBzcGVjaWZpZWQgdHlwZSB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxyXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZSAtIHR5cGUgb2YgZGlhbG9nXHJcbiAqIEBwYXJhbSB7TWVzc2FnZURpYWxvZ09wdGlvbnN8T3BlbkZpbGVEaWFsb2dPcHRpb25zfFNhdmVGaWxlRGlhbG9nT3B0aW9uc30gb3B0aW9ucyAtIG9wdGlvbnMgZm9yIHRoZSBkaWFsb2dcclxuICogQHJldHVybnMge1Byb21pc2V9IHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHJlc3VsdCBvZiBkaWFsb2dcclxuICovXHJcbmZ1bmN0aW9uIGRpYWxvZyh0eXBlLCBvcHRpb25zID0ge30pIHtcclxuICAgIGNvbnN0IGlkID0gZ2VuZXJhdGVJRCgpO1xyXG4gICAgb3B0aW9uc1tcImRpYWxvZy1pZFwiXSA9IGlkO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBkaWFsb2dSZXNwb25zZXMuc2V0KGlkLCB7cmVzb2x2ZSwgcmVqZWN0fSk7XHJcbiAgICAgICAgY2FsbCh0eXBlLCBvcHRpb25zKS5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgZGlhbG9nUmVzcG9uc2VzLmRlbGV0ZShpZCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIGNhbGxiYWNrIGZyb20gYSBkaWFsb2cuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBJRCBvZiB0aGUgZGlhbG9nIHJlc3BvbnNlLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YSAtIFRoZSBkYXRhIHJlY2VpdmVkIGZyb20gdGhlIGRpYWxvZy5cclxuICogQHBhcmFtIHtib29sZWFufSBpc0pTT04gLSBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGF0YSBpcyBpbiBKU09OIGZvcm1hdC5cclxuICpcclxuICogQHJldHVybiB7dW5kZWZpbmVkfVxyXG4gKi9cclxuZnVuY3Rpb24gZGlhbG9nUmVzdWx0Q2FsbGJhY2soaWQsIGRhdGEsIGlzSlNPTikge1xyXG4gICAgbGV0IHAgPSBkaWFsb2dSZXNwb25zZXMuZ2V0KGlkKTtcclxuICAgIGlmIChwKSB7XHJcbiAgICAgICAgaWYgKGlzSlNPTikge1xyXG4gICAgICAgICAgICBwLnJlc29sdmUoSlNPTi5wYXJzZShkYXRhKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcC5yZXNvbHZlKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaWFsb2dSZXNwb25zZXMuZGVsZXRlKGlkKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBlcnJvcnMgaW4gZGlhbG9nLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gaWQgLSBUaGUgaWQgb2YgdGhlIGRpYWxvZyByZXNwb25zZS5cclxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZS5cclxuICpcclxuICogQHJldHVybiB7dm9pZH1cclxuICovXHJcbmZ1bmN0aW9uIGRpYWxvZ0Vycm9yQ2FsbGJhY2soaWQsIG1lc3NhZ2UpIHtcclxuICAgIGxldCBwID0gZGlhbG9nUmVzcG9uc2VzLmdldChpZCk7XHJcbiAgICBpZiAocCkge1xyXG4gICAgICAgIHAucmVqZWN0KG1lc3NhZ2UpO1xyXG4gICAgICAgIGRpYWxvZ1Jlc3BvbnNlcy5kZWxldGUoaWQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gUmVwbGFjZSBgbWV0aG9kc2Agd2l0aCBjb25zdGFudHMgaW4gVGl0bGUgQ2FzZVxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7TWVzc2FnZURpYWxvZ09wdGlvbnN9IG9wdGlvbnMgLSBEaWFsb2cgb3B0aW9uc1xyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSAtIFRoZSBsYWJlbCBvZiB0aGUgYnV0dG9uIHByZXNzZWRcclxuICovXHJcbmV4cG9ydCBjb25zdCBJbmZvID0gKG9wdGlvbnMpID0+IGRpYWxvZyhEaWFsb2dJbmZvLCBvcHRpb25zKTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge01lc3NhZ2VEaWFsb2dPcHRpb25zfSBvcHRpb25zIC0gRGlhbG9nIG9wdGlvbnNcclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBUaGUgbGFiZWwgb2YgdGhlIGJ1dHRvbiBwcmVzc2VkXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgV2FybmluZyA9IChvcHRpb25zKSA9PiBkaWFsb2coRGlhbG9nV2FybmluZywgb3B0aW9ucyk7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtNZXNzYWdlRGlhbG9nT3B0aW9uc30gb3B0aW9ucyAtIERpYWxvZyBvcHRpb25zXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gVGhlIGxhYmVsIG9mIHRoZSBidXR0b24gcHJlc3NlZFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVycm9yID0gKG9wdGlvbnMpID0+IGRpYWxvZyhEaWFsb2dFcnJvciwgb3B0aW9ucyk7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtNZXNzYWdlRGlhbG9nT3B0aW9uc30gb3B0aW9ucyAtIERpYWxvZyBvcHRpb25zXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gVGhlIGxhYmVsIG9mIHRoZSBidXR0b24gcHJlc3NlZFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFF1ZXN0aW9uID0gKG9wdGlvbnMpID0+IGRpYWxvZyhEaWFsb2dRdWVzdGlvbiwgb3B0aW9ucyk7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtPcGVuRmlsZURpYWxvZ09wdGlvbnN9IG9wdGlvbnMgLSBEaWFsb2cgb3B0aW9uc1xyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmdbXXxzdHJpbmc+fSBSZXR1cm5zIHNlbGVjdGVkIGZpbGUgb3IgbGlzdCBvZiBmaWxlcy4gUmV0dXJucyBibGFuayBzdHJpbmcgaWYgbm8gZmlsZSBpcyBzZWxlY3RlZC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBPcGVuRmlsZSA9IChvcHRpb25zKSA9PiBkaWFsb2coRGlhbG9nT3BlbkZpbGUsIG9wdGlvbnMpO1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7U2F2ZUZpbGVEaWFsb2dPcHRpb25zfSBvcHRpb25zIC0gRGlhbG9nIG9wdGlvbnNcclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gUmV0dXJucyB0aGUgc2VsZWN0ZWQgZmlsZS4gUmV0dXJucyBibGFuayBzdHJpbmcgaWYgbm8gZmlsZSBpcyBzZWxlY3RlZC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBTYXZlRmlsZSA9IChvcHRpb25zKSA9PiBkaWFsb2coRGlhbG9nU2F2ZUZpbGUsIG9wdGlvbnMpO1xyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCIuL3R5cGVzXCIpLldhaWxzRXZlbnR9IFdhaWxzRXZlbnRcclxuICovXHJcbmltcG9ydCB7bmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXN9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuXHJcbmltcG9ydCB7RXZlbnRUeXBlc30gZnJvbSBcIi4vZXZlbnRfdHlwZXNcIjtcclxuZXhwb3J0IGNvbnN0IFR5cGVzID0gRXZlbnRUeXBlcztcclxuXHJcbi8vIFNldHVwXHJcbndpbmRvdy5fd2FpbHMgPSB3aW5kb3cuX3dhaWxzIHx8IHt9O1xyXG53aW5kb3cuX3dhaWxzLmRpc3BhdGNoV2FpbHNFdmVudCA9IGRpc3BhdGNoV2FpbHNFdmVudDtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkV2ZW50cywgJycpO1xyXG5jb25zdCBFbWl0TWV0aG9kID0gMDtcclxuY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSBuZXcgTWFwKCk7XHJcblxyXG5jbGFzcyBMaXN0ZW5lciB7XHJcbiAgICBjb25zdHJ1Y3RvcihldmVudE5hbWUsIGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpIHtcclxuICAgICAgICB0aGlzLmV2ZW50TmFtZSA9IGV2ZW50TmFtZTtcclxuICAgICAgICB0aGlzLm1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcclxuICAgICAgICB0aGlzLkNhbGxiYWNrID0gKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY2FsbGJhY2soZGF0YSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1heENhbGxiYWNrcyA9PT0gLTEpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXhDYWxsYmFja3MgLT0gMTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4Q2FsbGJhY2tzID09PSAwO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBXYWlsc0V2ZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKG5hbWUsIGRhdGEgPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0dXAoKSB7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRpc3BhdGNoV2FpbHNFdmVudChldmVudCkge1xyXG4gICAgbGV0IGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJzLmdldChldmVudC5uYW1lKTtcclxuICAgIGlmIChsaXN0ZW5lcnMpIHtcclxuICAgICAgICBsZXQgdG9SZW1vdmUgPSBsaXN0ZW5lcnMuZmlsdGVyKGxpc3RlbmVyID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlbW92ZSA9IGxpc3RlbmVyLkNhbGxiYWNrKGV2ZW50KTtcclxuICAgICAgICAgICAgaWYgKHJlbW92ZSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRvUmVtb3ZlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgbGlzdGVuZXJzID0gbGlzdGVuZXJzLmZpbHRlcihsID0+ICF0b1JlbW92ZS5pbmNsdWRlcyhsKSk7XHJcbiAgICAgICAgICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwKSBldmVudExpc3RlbmVycy5kZWxldGUoZXZlbnQubmFtZSk7XHJcbiAgICAgICAgICAgIGVsc2UgZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50Lm5hbWUsIGxpc3RlbmVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIGEgc3BlY2lmaWMgZXZlbnQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZvci5cclxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZC5cclxuICogQHBhcmFtIHtudW1iZXJ9IG1heENhbGxiYWNrcyAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgY2FsbGJhY2sgY2FuIGJlIGNhbGxlZCBmb3IgdGhlIGV2ZW50LiBPbmNlIHRoZSBtYXhpbXVtIG51bWJlciBpcyByZWFjaGVkLCB0aGUgY2FsbGJhY2sgd2lsbCBubyBsb25nZXIgYmUgY2FsbGVkLlxyXG4gKlxyXG4gQHJldHVybiB7ZnVuY3Rpb259IC0gQSBmdW5jdGlvbiB0aGF0LCB3aGVuIGNhbGxlZCwgd2lsbCB1bnJlZ2lzdGVyIHRoZSBjYWxsYmFjayBmcm9tIHRoZSBldmVudC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xyXG4gICAgbGV0IGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJzLmdldChldmVudE5hbWUpIHx8IFtdO1xyXG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGV2ZW50TmFtZSwgY2FsbGJhY2ssIG1heENhbGxiYWNrcyk7XHJcbiAgICBsaXN0ZW5lcnMucHVzaCh0aGlzTGlzdGVuZXIpO1xyXG4gICAgZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50TmFtZSwgbGlzdGVuZXJzKTtcclxuICAgIHJldHVybiAoKSA9PiBsaXN0ZW5lck9mZih0aGlzTGlzdGVuZXIpO1xyXG59XHJcblxyXG4vKipcclxuICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiB0aGUgc3BlY2lmaWVkIGV2ZW50IG9jY3Vycy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cclxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQuIEl0IHRha2VzIG5vIHBhcmFtZXRlcnMuXHJcbiAqIEByZXR1cm4ge2Z1bmN0aW9ufSAtIEEgZnVuY3Rpb24gdGhhdCwgd2hlbiBjYWxsZWQsIHdpbGwgdW5yZWdpc3RlciB0aGUgY2FsbGJhY2sgZnJvbSB0aGUgZXZlbnQuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPbihldmVudE5hbWUsIGNhbGxiYWNrKSB7IHJldHVybiBPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTsgfVxyXG5cclxuLyoqXHJcbiAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIG9ubHkgb25jZSBmb3IgdGhlIHNwZWNpZmllZCBldmVudC5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cclxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBUaGUgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiB0aGUgZXZlbnQgb2NjdXJzLlxyXG4gKiBAcmV0dXJuIHtmdW5jdGlvbn0gLSBBIGZ1bmN0aW9uIHRoYXQsIHdoZW4gY2FsbGVkLCB3aWxsIHVucmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZyb20gdGhlIGV2ZW50LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIE9uY2UoZXZlbnROYW1lLCBjYWxsYmFjaykgeyByZXR1cm4gT25NdWx0aXBsZShldmVudE5hbWUsIGNhbGxiYWNrLCAxKTsgfVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgdGhlIHNwZWNpZmllZCBsaXN0ZW5lciBmcm9tIHRoZSBldmVudCBsaXN0ZW5lcnMgY29sbGVjdGlvbi5cclxuICogSWYgYWxsIGxpc3RlbmVycyBmb3IgdGhlIGV2ZW50IGFyZSByZW1vdmVkLCB0aGUgZXZlbnQga2V5IGlzIGRlbGV0ZWQgZnJvbSB0aGUgY29sbGVjdGlvbi5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IGxpc3RlbmVyIC0gVGhlIGxpc3RlbmVyIHRvIGJlIHJlbW92ZWQuXHJcbiAqL1xyXG5mdW5jdGlvbiBsaXN0ZW5lck9mZihsaXN0ZW5lcikge1xyXG4gICAgY29uc3QgZXZlbnROYW1lID0gbGlzdGVuZXIuZXZlbnROYW1lO1xyXG4gICAgbGV0IGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJzLmdldChldmVudE5hbWUpLmZpbHRlcihsID0+IGwgIT09IGxpc3RlbmVyKTtcclxuICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwKSBldmVudExpc3RlbmVycy5kZWxldGUoZXZlbnROYW1lKTtcclxuICAgIGVsc2UgZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50TmFtZSwgbGlzdGVuZXJzKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGV2ZW50IGxpc3RlbmVycyBmb3IgdGhlIHNwZWNpZmllZCBldmVudCBuYW1lcy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byByZW1vdmUgbGlzdGVuZXJzIGZvci5cclxuICogQHBhcmFtIHsuLi5zdHJpbmd9IGFkZGl0aW9uYWxFdmVudE5hbWVzIC0gQWRkaXRpb25hbCBldmVudCBuYW1lcyB0byByZW1vdmUgbGlzdGVuZXJzIGZvci5cclxuICogQHJldHVybiB7dW5kZWZpbmVkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIE9mZihldmVudE5hbWUsIC4uLmFkZGl0aW9uYWxFdmVudE5hbWVzKSB7XHJcbiAgICBsZXQgZXZlbnRzVG9SZW1vdmUgPSBbZXZlbnROYW1lLCAuLi5hZGRpdGlvbmFsRXZlbnROYW1lc107XHJcbiAgICBldmVudHNUb1JlbW92ZS5mb3JFYWNoKGV2ZW50TmFtZSA9PiBldmVudExpc3RlbmVycy5kZWxldGUoZXZlbnROYW1lKSk7XHJcbn1cclxuLyoqXHJcbiAqIFJlbW92ZXMgYWxsIGV2ZW50IGxpc3RlbmVycy5cclxuICpcclxuICogQGZ1bmN0aW9uIE9mZkFsbFxyXG4gKiBAcmV0dXJucyB7dm9pZH1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPZmZBbGwoKSB7IGV2ZW50TGlzdGVuZXJzLmNsZWFyKCk7IH1cclxuXHJcbi8qKlxyXG4gKiBFbWl0cyBhbiBldmVudCB1c2luZyB0aGUgZ2l2ZW4gZXZlbnQgbmFtZS5cclxuICpcclxuICogQHBhcmFtIHtXYWlsc0V2ZW50fSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBlbWl0LlxyXG4gKiBAcmV0dXJucyB7YW55fSAtIFRoZSByZXN1bHQgb2YgdGhlIGVtaXR0ZWQgZXZlbnQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRW1pdChldmVudCkgeyByZXR1cm4gY2FsbChFbWl0TWV0aG9kLCBldmVudCk7IH1cclxuIiwgIlxuZXhwb3J0IGNvbnN0IEV2ZW50VHlwZXMgPSB7XG5cdFdpbmRvd3M6IHtcblx0XHRTeXN0ZW1UaGVtZUNoYW5nZWQ6IFwid2luZG93czpTeXN0ZW1UaGVtZUNoYW5nZWRcIixcblx0XHRBUE1Qb3dlclN0YXR1c0NoYW5nZTogXCJ3aW5kb3dzOkFQTVBvd2VyU3RhdHVzQ2hhbmdlXCIsXG5cdFx0QVBNU3VzcGVuZDogXCJ3aW5kb3dzOkFQTVN1c3BlbmRcIixcblx0XHRBUE1SZXN1bWVBdXRvbWF0aWM6IFwid2luZG93czpBUE1SZXN1bWVBdXRvbWF0aWNcIixcblx0XHRBUE1SZXN1bWVTdXNwZW5kOiBcIndpbmRvd3M6QVBNUmVzdW1lU3VzcGVuZFwiLFxuXHRcdEFQTVBvd2VyU2V0dGluZ0NoYW5nZTogXCJ3aW5kb3dzOkFQTVBvd2VyU2V0dGluZ0NoYW5nZVwiLFxuXHRcdEFwcGxpY2F0aW9uU3RhcnRlZDogXCJ3aW5kb3dzOkFwcGxpY2F0aW9uU3RhcnRlZFwiLFxuXHRcdFdlYlZpZXdOYXZpZ2F0aW9uQ29tcGxldGVkOiBcIndpbmRvd3M6V2ViVmlld05hdmlnYXRpb25Db21wbGV0ZWRcIixcblx0XHRXaW5kb3dJbmFjdGl2ZTogXCJ3aW5kb3dzOldpbmRvd0luYWN0aXZlXCIsXG5cdFx0V2luZG93QWN0aXZlOiBcIndpbmRvd3M6V2luZG93QWN0aXZlXCIsXG5cdFx0V2luZG93Q2xpY2tBY3RpdmU6IFwid2luZG93czpXaW5kb3dDbGlja0FjdGl2ZVwiLFxuXHRcdFdpbmRvd01heGltaXNlOiBcIndpbmRvd3M6V2luZG93TWF4aW1pc2VcIixcblx0XHRXaW5kb3dVbk1heGltaXNlOiBcIndpbmRvd3M6V2luZG93VW5NYXhpbWlzZVwiLFxuXHRcdFdpbmRvd0Z1bGxzY3JlZW46IFwid2luZG93czpXaW5kb3dGdWxsc2NyZWVuXCIsXG5cdFx0V2luZG93VW5GdWxsc2NyZWVuOiBcIndpbmRvd3M6V2luZG93VW5GdWxsc2NyZWVuXCIsXG5cdFx0V2luZG93UmVzdG9yZTogXCJ3aW5kb3dzOldpbmRvd1Jlc3RvcmVcIixcblx0XHRXaW5kb3dNaW5pbWlzZTogXCJ3aW5kb3dzOldpbmRvd01pbmltaXNlXCIsXG5cdFx0V2luZG93VW5NaW5pbWlzZTogXCJ3aW5kb3dzOldpbmRvd1VuTWluaW1pc2VcIixcblx0XHRXaW5kb3dDbG9zaW5nOiBcIndpbmRvd3M6V2luZG93Q2xvc2luZ1wiLFxuXHRcdFdpbmRvd1NldEZvY3VzOiBcIndpbmRvd3M6V2luZG93U2V0Rm9jdXNcIixcblx0XHRXaW5kb3dLaWxsRm9jdXM6IFwid2luZG93czpXaW5kb3dLaWxsRm9jdXNcIixcblx0XHRXaW5kb3dEcmFnRHJvcDogXCJ3aW5kb3dzOldpbmRvd0RyYWdEcm9wXCIsXG5cdFx0V2luZG93RHJhZ0VudGVyOiBcIndpbmRvd3M6V2luZG93RHJhZ0VudGVyXCIsXG5cdFx0V2luZG93RHJhZ0xlYXZlOiBcIndpbmRvd3M6V2luZG93RHJhZ0xlYXZlXCIsXG5cdFx0V2luZG93RHJhZ092ZXI6IFwid2luZG93czpXaW5kb3dEcmFnT3ZlclwiLFxuXHRcdFdpbmRvd0RpZE1vdmU6IFwid2luZG93czpXaW5kb3dEaWRNb3ZlXCIsXG5cdFx0V2luZG93RGlkUmVzaXplOiBcIndpbmRvd3M6V2luZG93RGlkUmVzaXplXCIsXG5cdFx0V2luZG93U2hvdzogXCJ3aW5kb3dzOldpbmRvd1Nob3dcIixcblx0XHRXaW5kb3dIaWRlOiBcIndpbmRvd3M6V2luZG93SGlkZVwiLFxuXHRcdFdpbmRvd1N0YXJ0TW92ZTogXCJ3aW5kb3dzOldpbmRvd1N0YXJ0TW92ZVwiLFxuXHRcdFdpbmRvd0VuZE1vdmU6IFwid2luZG93czpXaW5kb3dFbmRNb3ZlXCIsXG5cdFx0V2luZG93U3RhcnRSZXNpemU6IFwid2luZG93czpXaW5kb3dTdGFydFJlc2l6ZVwiLFxuXHRcdFdpbmRvd0VuZFJlc2l6ZTogXCJ3aW5kb3dzOldpbmRvd0VuZFJlc2l6ZVwiLFxuXHRcdFdpbmRvd0tleURvd246IFwid2luZG93czpXaW5kb3dLZXlEb3duXCIsXG5cdFx0V2luZG93S2V5VXA6IFwid2luZG93czpXaW5kb3dLZXlVcFwiLFxuXHRcdFdpbmRvd1pPcmRlckNoYW5nZWQ6IFwid2luZG93czpXaW5kb3daT3JkZXJDaGFuZ2VkXCIsXG5cdFx0V2luZG93UGFpbnQ6IFwid2luZG93czpXaW5kb3dQYWludFwiLFxuXHRcdFdpbmRvd0JhY2tncm91bmRFcmFzZTogXCJ3aW5kb3dzOldpbmRvd0JhY2tncm91bmRFcmFzZVwiLFxuXHRcdFdpbmRvd05vbkNsaWVudEhpdDogXCJ3aW5kb3dzOldpbmRvd05vbkNsaWVudEhpdFwiLFxuXHRcdFdpbmRvd05vbkNsaWVudE1vdXNlRG93bjogXCJ3aW5kb3dzOldpbmRvd05vbkNsaWVudE1vdXNlRG93blwiLFxuXHRcdFdpbmRvd05vbkNsaWVudE1vdXNlVXA6IFwid2luZG93czpXaW5kb3dOb25DbGllbnRNb3VzZVVwXCIsXG5cdFx0V2luZG93Tm9uQ2xpZW50TW91c2VNb3ZlOiBcIndpbmRvd3M6V2luZG93Tm9uQ2xpZW50TW91c2VNb3ZlXCIsXG5cdFx0V2luZG93Tm9uQ2xpZW50TW91c2VMZWF2ZTogXCJ3aW5kb3dzOldpbmRvd05vbkNsaWVudE1vdXNlTGVhdmVcIixcblx0XHRXaW5kb3dEUElDaGFuZ2VkOiBcIndpbmRvd3M6V2luZG93RFBJQ2hhbmdlZFwiLFxuXHR9LFxuXHRNYWM6IHtcblx0XHRBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTogXCJtYWM6QXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmVcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzOiBcIm1hYzpBcHBsaWNhdGlvbkRpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzXCIsXG5cdFx0QXBwbGljYXRpb25EaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlOiBcIm1hYzpBcHBsaWNhdGlvbkRpZENoYW5nZUVmZmVjdGl2ZUFwcGVhcmFuY2VcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZUljb246IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlSWNvblwiLFxuXHRcdEFwcGxpY2F0aW9uRGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGVcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZVNjcmVlblBhcmFtZXRlcnM6IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyc1wiLFxuXHRcdEFwcGxpY2F0aW9uRGlkQ2hhbmdlU3RhdHVzQmFyRnJhbWU6IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlU3RhdHVzQmFyRnJhbWVcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZVN0YXR1c0Jhck9yaWVudGF0aW9uOiBcIm1hYzpBcHBsaWNhdGlvbkRpZENoYW5nZVN0YXR1c0Jhck9yaWVudGF0aW9uXCIsXG5cdFx0QXBwbGljYXRpb25EaWRGaW5pc2hMYXVuY2hpbmc6IFwibWFjOkFwcGxpY2F0aW9uRGlkRmluaXNoTGF1bmNoaW5nXCIsXG5cdFx0QXBwbGljYXRpb25EaWRIaWRlOiBcIm1hYzpBcHBsaWNhdGlvbkRpZEhpZGVcIixcblx0XHRBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbjogXCJtYWM6QXBwbGljYXRpb25EaWRSZXNpZ25BY3RpdmVOb3RpZmljYXRpb25cIixcblx0XHRBcHBsaWNhdGlvbkRpZFVuaGlkZTogXCJtYWM6QXBwbGljYXRpb25EaWRVbmhpZGVcIixcblx0XHRBcHBsaWNhdGlvbkRpZFVwZGF0ZTogXCJtYWM6QXBwbGljYXRpb25EaWRVcGRhdGVcIixcblx0XHRBcHBsaWNhdGlvbldpbGxCZWNvbWVBY3RpdmU6IFwibWFjOkFwcGxpY2F0aW9uV2lsbEJlY29tZUFjdGl2ZVwiLFxuXHRcdEFwcGxpY2F0aW9uV2lsbEZpbmlzaExhdW5jaGluZzogXCJtYWM6QXBwbGljYXRpb25XaWxsRmluaXNoTGF1bmNoaW5nXCIsXG5cdFx0QXBwbGljYXRpb25XaWxsSGlkZTogXCJtYWM6QXBwbGljYXRpb25XaWxsSGlkZVwiLFxuXHRcdEFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZTogXCJtYWM6QXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlXCIsXG5cdFx0QXBwbGljYXRpb25XaWxsVGVybWluYXRlOiBcIm1hYzpBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGVcIixcblx0XHRBcHBsaWNhdGlvbldpbGxVbmhpZGU6IFwibWFjOkFwcGxpY2F0aW9uV2lsbFVuaGlkZVwiLFxuXHRcdEFwcGxpY2F0aW9uV2lsbFVwZGF0ZTogXCJtYWM6QXBwbGljYXRpb25XaWxsVXBkYXRlXCIsXG5cdFx0QXBwbGljYXRpb25EaWRDaGFuZ2VUaGVtZTogXCJtYWM6QXBwbGljYXRpb25EaWRDaGFuZ2VUaGVtZSFcIixcblx0XHRBcHBsaWNhdGlvblNob3VsZEhhbmRsZVJlb3BlbjogXCJtYWM6QXBwbGljYXRpb25TaG91bGRIYW5kbGVSZW9wZW4hXCIsXG5cdFx0V2luZG93RGlkQmVjb21lS2V5OiBcIm1hYzpXaW5kb3dEaWRCZWNvbWVLZXlcIixcblx0XHRXaW5kb3dEaWRCZWNvbWVNYWluOiBcIm1hYzpXaW5kb3dEaWRCZWNvbWVNYWluXCIsXG5cdFx0V2luZG93RGlkQmVnaW5TaGVldDogXCJtYWM6V2luZG93RGlkQmVnaW5TaGVldFwiLFxuXHRcdFdpbmRvd0RpZENoYW5nZUFscGhhOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VBbHBoYVwiLFxuXHRcdFdpbmRvd0RpZENoYW5nZUJhY2tpbmdMb2NhdGlvbjogXCJtYWM6V2luZG93RGlkQ2hhbmdlQmFja2luZ0xvY2F0aW9uXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXM6IFwibWFjOldpbmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlQ29sbGVjdGlvbkJlaGF2aW9yOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VDb2xsZWN0aW9uQmVoYXZpb3JcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6IFwibWFjOldpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlT3JkZXJpbmdNb2RlOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VPcmRlcmluZ01vZGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTY3JlZW46IFwibWFjOldpbmRvd0RpZENoYW5nZVNjcmVlblwiLFxuXHRcdFdpbmRvd0RpZENoYW5nZVNjcmVlblBhcmFtZXRlcnM6IFwibWFjOldpbmRvd0RpZENoYW5nZVNjcmVlblBhcmFtZXRlcnNcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Qcm9maWxlOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Qcm9maWxlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlU2NyZWVuU3BhY2U6IFwibWFjOldpbmRvd0RpZENoYW5nZVNjcmVlblNwYWNlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlU2NyZWVuU3BhY2VQcm9wZXJ0aWVzOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VTY3JlZW5TcGFjZVByb3BlcnRpZXNcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTaGFyaW5nVHlwZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlU2hhcmluZ1R5cGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTcGFjZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlU3BhY2VcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTcGFjZU9yZGVyaW5nTW9kZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlU3BhY2VPcmRlcmluZ01vZGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VUaXRsZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlVGl0bGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VUb29sYmFyOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VUb29sYmFyXCIsXG5cdFx0V2luZG93RGlkRGVtaW5pYXR1cml6ZTogXCJtYWM6V2luZG93RGlkRGVtaW5pYXR1cml6ZVwiLFxuXHRcdFdpbmRvd0RpZEVuZFNoZWV0OiBcIm1hYzpXaW5kb3dEaWRFbmRTaGVldFwiLFxuXHRcdFdpbmRvd0RpZEVudGVyRnVsbFNjcmVlbjogXCJtYWM6V2luZG93RGlkRW50ZXJGdWxsU2NyZWVuXCIsXG5cdFx0V2luZG93TWF4aW1pc2U6IFwibWFjOldpbmRvd01heGltaXNlXCIsXG5cdFx0V2luZG93VW5NYXhpbWlzZTogXCJtYWM6V2luZG93VW5NYXhpbWlzZVwiLFxuXHRcdFdpbmRvd0RpZFpvb206IFwibWFjOldpbmRvd0RpZFpvb20hXCIsXG5cdFx0V2luZG93Wm9vbUluOiBcIm1hYzpXaW5kb3dab29tSW4hXCIsXG5cdFx0V2luZG93Wm9vbU91dDogXCJtYWM6V2luZG93Wm9vbU91dCFcIixcblx0XHRXaW5kb3dab29tUmVzZXQ6IFwibWFjOldpbmRvd1pvb21SZXNldCFcIixcblx0XHRXaW5kb3dEaWRFbnRlclZlcnNpb25Ccm93c2VyOiBcIm1hYzpXaW5kb3dEaWRFbnRlclZlcnNpb25Ccm93c2VyXCIsXG5cdFx0V2luZG93RGlkRXhpdEZ1bGxTY3JlZW46IFwibWFjOldpbmRvd0RpZEV4aXRGdWxsU2NyZWVuXCIsXG5cdFx0V2luZG93RGlkRXhpdFZlcnNpb25Ccm93c2VyOiBcIm1hYzpXaW5kb3dEaWRFeGl0VmVyc2lvbkJyb3dzZXJcIixcblx0XHRXaW5kb3dEaWRFeHBvc2U6IFwibWFjOldpbmRvd0RpZEV4cG9zZVwiLFxuXHRcdFdpbmRvd0RpZEZvY3VzOiBcIm1hYzpXaW5kb3dEaWRGb2N1c1wiLFxuXHRcdFdpbmRvd0RpZE1pbmlhdHVyaXplOiBcIm1hYzpXaW5kb3dEaWRNaW5pYXR1cml6ZVwiLFxuXHRcdFdpbmRvd0RpZE1vdmU6IFwibWFjOldpbmRvd0RpZE1vdmVcIixcblx0XHRXaW5kb3dEaWRPcmRlck9mZlNjcmVlbjogXCJtYWM6V2luZG93RGlkT3JkZXJPZmZTY3JlZW5cIixcblx0XHRXaW5kb3dEaWRPcmRlck9uU2NyZWVuOiBcIm1hYzpXaW5kb3dEaWRPcmRlck9uU2NyZWVuXCIsXG5cdFx0V2luZG93RGlkUmVzaWduS2V5OiBcIm1hYzpXaW5kb3dEaWRSZXNpZ25LZXlcIixcblx0XHRXaW5kb3dEaWRSZXNpZ25NYWluOiBcIm1hYzpXaW5kb3dEaWRSZXNpZ25NYWluXCIsXG5cdFx0V2luZG93RGlkUmVzaXplOiBcIm1hYzpXaW5kb3dEaWRSZXNpemVcIixcblx0XHRXaW5kb3dEaWRVcGRhdGU6IFwibWFjOldpbmRvd0RpZFVwZGF0ZVwiLFxuXHRcdFdpbmRvd0RpZFVwZGF0ZUFscGhhOiBcIm1hYzpXaW5kb3dEaWRVcGRhdGVBbHBoYVwiLFxuXHRcdFdpbmRvd0RpZFVwZGF0ZUNvbGxlY3Rpb25CZWhhdmlvcjogXCJtYWM6V2luZG93RGlkVXBkYXRlQ29sbGVjdGlvbkJlaGF2aW9yXCIsXG5cdFx0V2luZG93RGlkVXBkYXRlQ29sbGVjdGlvblByb3BlcnRpZXM6IFwibWFjOldpbmRvd0RpZFVwZGF0ZUNvbGxlY3Rpb25Qcm9wZXJ0aWVzXCIsXG5cdFx0V2luZG93RGlkVXBkYXRlU2hhZG93OiBcIm1hYzpXaW5kb3dEaWRVcGRhdGVTaGFkb3dcIixcblx0XHRXaW5kb3dEaWRVcGRhdGVUaXRsZTogXCJtYWM6V2luZG93RGlkVXBkYXRlVGl0bGVcIixcblx0XHRXaW5kb3dEaWRVcGRhdGVUb29sYmFyOiBcIm1hYzpXaW5kb3dEaWRVcGRhdGVUb29sYmFyXCIsXG5cdFx0V2luZG93U2hvdWxkQ2xvc2U6IFwibWFjOldpbmRvd1Nob3VsZENsb3NlIVwiLFxuXHRcdFdpbmRvd1dpbGxCZWNvbWVLZXk6IFwibWFjOldpbmRvd1dpbGxCZWNvbWVLZXlcIixcblx0XHRXaW5kb3dXaWxsQmVjb21lTWFpbjogXCJtYWM6V2luZG93V2lsbEJlY29tZU1haW5cIixcblx0XHRXaW5kb3dXaWxsQmVnaW5TaGVldDogXCJtYWM6V2luZG93V2lsbEJlZ2luU2hlZXRcIixcblx0XHRXaW5kb3dXaWxsQ2hhbmdlT3JkZXJpbmdNb2RlOiBcIm1hYzpXaW5kb3dXaWxsQ2hhbmdlT3JkZXJpbmdNb2RlXCIsXG5cdFx0V2luZG93V2lsbENsb3NlOiBcIm1hYzpXaW5kb3dXaWxsQ2xvc2VcIixcblx0XHRXaW5kb3dXaWxsRGVtaW5pYXR1cml6ZTogXCJtYWM6V2luZG93V2lsbERlbWluaWF0dXJpemVcIixcblx0XHRXaW5kb3dXaWxsRW50ZXJGdWxsU2NyZWVuOiBcIm1hYzpXaW5kb3dXaWxsRW50ZXJGdWxsU2NyZWVuXCIsXG5cdFx0V2luZG93V2lsbEVudGVyVmVyc2lvbkJyb3dzZXI6IFwibWFjOldpbmRvd1dpbGxFbnRlclZlcnNpb25Ccm93c2VyXCIsXG5cdFx0V2luZG93V2lsbEV4aXRGdWxsU2NyZWVuOiBcIm1hYzpXaW5kb3dXaWxsRXhpdEZ1bGxTY3JlZW5cIixcblx0XHRXaW5kb3dXaWxsRXhpdFZlcnNpb25Ccm93c2VyOiBcIm1hYzpXaW5kb3dXaWxsRXhpdFZlcnNpb25Ccm93c2VyXCIsXG5cdFx0V2luZG93V2lsbEZvY3VzOiBcIm1hYzpXaW5kb3dXaWxsRm9jdXNcIixcblx0XHRXaW5kb3dXaWxsTWluaWF0dXJpemU6IFwibWFjOldpbmRvd1dpbGxNaW5pYXR1cml6ZVwiLFxuXHRcdFdpbmRvd1dpbGxNb3ZlOiBcIm1hYzpXaW5kb3dXaWxsTW92ZVwiLFxuXHRcdFdpbmRvd1dpbGxPcmRlck9mZlNjcmVlbjogXCJtYWM6V2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuXCIsXG5cdFx0V2luZG93V2lsbE9yZGVyT25TY3JlZW46IFwibWFjOldpbmRvd1dpbGxPcmRlck9uU2NyZWVuXCIsXG5cdFx0V2luZG93V2lsbFJlc2lnbk1haW46IFwibWFjOldpbmRvd1dpbGxSZXNpZ25NYWluXCIsXG5cdFx0V2luZG93V2lsbFJlc2l6ZTogXCJtYWM6V2luZG93V2lsbFJlc2l6ZVwiLFxuXHRcdFdpbmRvd1dpbGxVbmZvY3VzOiBcIm1hYzpXaW5kb3dXaWxsVW5mb2N1c1wiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGU6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVcIixcblx0XHRXaW5kb3dXaWxsVXBkYXRlQWxwaGE6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVBbHBoYVwiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVDb2xsZWN0aW9uQmVoYXZpb3I6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVDb2xsZWN0aW9uQmVoYXZpb3JcIixcblx0XHRXaW5kb3dXaWxsVXBkYXRlQ29sbGVjdGlvblByb3BlcnRpZXM6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVDb2xsZWN0aW9uUHJvcGVydGllc1wiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVTaGFkb3c6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVTaGFkb3dcIixcblx0XHRXaW5kb3dXaWxsVXBkYXRlVGl0bGU6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVUaXRsZVwiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVUb29sYmFyOiBcIm1hYzpXaW5kb3dXaWxsVXBkYXRlVG9vbGJhclwiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVWaXNpYmlsaXR5OiBcIm1hYzpXaW5kb3dXaWxsVXBkYXRlVmlzaWJpbGl0eVwiLFxuXHRcdFdpbmRvd1dpbGxVc2VTdGFuZGFyZEZyYW1lOiBcIm1hYzpXaW5kb3dXaWxsVXNlU3RhbmRhcmRGcmFtZVwiLFxuXHRcdE1lbnVXaWxsT3BlbjogXCJtYWM6TWVudVdpbGxPcGVuXCIsXG5cdFx0TWVudURpZE9wZW46IFwibWFjOk1lbnVEaWRPcGVuXCIsXG5cdFx0TWVudURpZENsb3NlOiBcIm1hYzpNZW51RGlkQ2xvc2VcIixcblx0XHRNZW51V2lsbFNlbmRBY3Rpb246IFwibWFjOk1lbnVXaWxsU2VuZEFjdGlvblwiLFxuXHRcdE1lbnVEaWRTZW5kQWN0aW9uOiBcIm1hYzpNZW51RGlkU2VuZEFjdGlvblwiLFxuXHRcdE1lbnVXaWxsSGlnaGxpZ2h0SXRlbTogXCJtYWM6TWVudVdpbGxIaWdobGlnaHRJdGVtXCIsXG5cdFx0TWVudURpZEhpZ2hsaWdodEl0ZW06IFwibWFjOk1lbnVEaWRIaWdobGlnaHRJdGVtXCIsXG5cdFx0TWVudVdpbGxEaXNwbGF5SXRlbTogXCJtYWM6TWVudVdpbGxEaXNwbGF5SXRlbVwiLFxuXHRcdE1lbnVEaWREaXNwbGF5SXRlbTogXCJtYWM6TWVudURpZERpc3BsYXlJdGVtXCIsXG5cdFx0TWVudVdpbGxBZGRJdGVtOiBcIm1hYzpNZW51V2lsbEFkZEl0ZW1cIixcblx0XHRNZW51RGlkQWRkSXRlbTogXCJtYWM6TWVudURpZEFkZEl0ZW1cIixcblx0XHRNZW51V2lsbFJlbW92ZUl0ZW06IFwibWFjOk1lbnVXaWxsUmVtb3ZlSXRlbVwiLFxuXHRcdE1lbnVEaWRSZW1vdmVJdGVtOiBcIm1hYzpNZW51RGlkUmVtb3ZlSXRlbVwiLFxuXHRcdE1lbnVXaWxsQmVnaW5UcmFja2luZzogXCJtYWM6TWVudVdpbGxCZWdpblRyYWNraW5nXCIsXG5cdFx0TWVudURpZEJlZ2luVHJhY2tpbmc6IFwibWFjOk1lbnVEaWRCZWdpblRyYWNraW5nXCIsXG5cdFx0TWVudVdpbGxFbmRUcmFja2luZzogXCJtYWM6TWVudVdpbGxFbmRUcmFja2luZ1wiLFxuXHRcdE1lbnVEaWRFbmRUcmFja2luZzogXCJtYWM6TWVudURpZEVuZFRyYWNraW5nXCIsXG5cdFx0TWVudVdpbGxVcGRhdGU6IFwibWFjOk1lbnVXaWxsVXBkYXRlXCIsXG5cdFx0TWVudURpZFVwZGF0ZTogXCJtYWM6TWVudURpZFVwZGF0ZVwiLFxuXHRcdE1lbnVXaWxsUG9wVXA6IFwibWFjOk1lbnVXaWxsUG9wVXBcIixcblx0XHRNZW51RGlkUG9wVXA6IFwibWFjOk1lbnVEaWRQb3BVcFwiLFxuXHRcdE1lbnVXaWxsU2VuZEFjdGlvblRvSXRlbTogXCJtYWM6TWVudVdpbGxTZW5kQWN0aW9uVG9JdGVtXCIsXG5cdFx0TWVudURpZFNlbmRBY3Rpb25Ub0l0ZW06IFwibWFjOk1lbnVEaWRTZW5kQWN0aW9uVG9JdGVtXCIsXG5cdFx0V2ViVmlld0RpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uOiBcIm1hYzpXZWJWaWV3RGlkU3RhcnRQcm92aXNpb25hbE5hdmlnYXRpb25cIixcblx0XHRXZWJWaWV3RGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOiBcIm1hYzpXZWJWaWV3RGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uXCIsXG5cdFx0V2ViVmlld0RpZEZpbmlzaE5hdmlnYXRpb246IFwibWFjOldlYlZpZXdEaWRGaW5pc2hOYXZpZ2F0aW9uXCIsXG5cdFx0V2ViVmlld0RpZENvbW1pdE5hdmlnYXRpb246IFwibWFjOldlYlZpZXdEaWRDb21taXROYXZpZ2F0aW9uXCIsXG5cdFx0V2luZG93RmlsZURyYWdnaW5nRW50ZXJlZDogXCJtYWM6V2luZG93RmlsZURyYWdnaW5nRW50ZXJlZFwiLFxuXHRcdFdpbmRvd0ZpbGVEcmFnZ2luZ1BlcmZvcm1lZDogXCJtYWM6V2luZG93RmlsZURyYWdnaW5nUGVyZm9ybWVkXCIsXG5cdFx0V2luZG93RmlsZURyYWdnaW5nRXhpdGVkOiBcIm1hYzpXaW5kb3dGaWxlRHJhZ2dpbmdFeGl0ZWRcIixcblx0XHRXaW5kb3dTaG93OiBcIm1hYzpXaW5kb3dTaG93XCIsXG5cdFx0V2luZG93SGlkZTogXCJtYWM6V2luZG93SGlkZVwiLFxuXHR9LFxuXHRMaW51eDoge1xuXHRcdFN5c3RlbVRoZW1lQ2hhbmdlZDogXCJsaW51eDpTeXN0ZW1UaGVtZUNoYW5nZWRcIixcblx0XHRXaW5kb3dMb2FkQ2hhbmdlZDogXCJsaW51eDpXaW5kb3dMb2FkQ2hhbmdlZFwiLFxuXHRcdFdpbmRvd0RlbGV0ZUV2ZW50OiBcImxpbnV4OldpbmRvd0RlbGV0ZUV2ZW50XCIsXG5cdFx0V2luZG93RGlkTW92ZTogXCJsaW51eDpXaW5kb3dEaWRNb3ZlXCIsXG5cdFx0V2luZG93RGlkUmVzaXplOiBcImxpbnV4OldpbmRvd0RpZFJlc2l6ZVwiLFxuXHRcdFdpbmRvd0ZvY3VzSW46IFwibGludXg6V2luZG93Rm9jdXNJblwiLFxuXHRcdFdpbmRvd0ZvY3VzT3V0OiBcImxpbnV4OldpbmRvd0ZvY3VzT3V0XCIsXG5cdFx0QXBwbGljYXRpb25TdGFydHVwOiBcImxpbnV4OkFwcGxpY2F0aW9uU3RhcnR1cFwiLFxuXHR9LFxuXHRDb21tb246IHtcblx0XHRBcHBsaWNhdGlvblN0YXJ0ZWQ6IFwiY29tbW9uOkFwcGxpY2F0aW9uU3RhcnRlZFwiLFxuXHRcdFdpbmRvd01heGltaXNlOiBcImNvbW1vbjpXaW5kb3dNYXhpbWlzZVwiLFxuXHRcdFdpbmRvd1VuTWF4aW1pc2U6IFwiY29tbW9uOldpbmRvd1VuTWF4aW1pc2VcIixcblx0XHRXaW5kb3dGdWxsc2NyZWVuOiBcImNvbW1vbjpXaW5kb3dGdWxsc2NyZWVuXCIsXG5cdFx0V2luZG93VW5GdWxsc2NyZWVuOiBcImNvbW1vbjpXaW5kb3dVbkZ1bGxzY3JlZW5cIixcblx0XHRXaW5kb3dSZXN0b3JlOiBcImNvbW1vbjpXaW5kb3dSZXN0b3JlXCIsXG5cdFx0V2luZG93TWluaW1pc2U6IFwiY29tbW9uOldpbmRvd01pbmltaXNlXCIsXG5cdFx0V2luZG93VW5NaW5pbWlzZTogXCJjb21tb246V2luZG93VW5NaW5pbWlzZVwiLFxuXHRcdFdpbmRvd0Nsb3Npbmc6IFwiY29tbW9uOldpbmRvd0Nsb3NpbmdcIixcblx0XHRXaW5kb3dab29tOiBcImNvbW1vbjpXaW5kb3dab29tXCIsXG5cdFx0V2luZG93Wm9vbUluOiBcImNvbW1vbjpXaW5kb3dab29tSW5cIixcblx0XHRXaW5kb3dab29tT3V0OiBcImNvbW1vbjpXaW5kb3dab29tT3V0XCIsXG5cdFx0V2luZG93Wm9vbVJlc2V0OiBcImNvbW1vbjpXaW5kb3dab29tUmVzZXRcIixcblx0XHRXaW5kb3dGb2N1czogXCJjb21tb246V2luZG93Rm9jdXNcIixcblx0XHRXaW5kb3dMb3N0Rm9jdXM6IFwiY29tbW9uOldpbmRvd0xvc3RGb2N1c1wiLFxuXHRcdFdpbmRvd1Nob3c6IFwiY29tbW9uOldpbmRvd1Nob3dcIixcblx0XHRXaW5kb3dIaWRlOiBcImNvbW1vbjpXaW5kb3dIaWRlXCIsXG5cdFx0V2luZG93RFBJQ2hhbmdlZDogXCJjb21tb246V2luZG93RFBJQ2hhbmdlZFwiLFxuXHRcdFdpbmRvd0ZpbGVzRHJvcHBlZDogXCJjb21tb246V2luZG93RmlsZXNEcm9wcGVkXCIsXG5cdFx0V2luZG93UnVudGltZVJlYWR5OiBcImNvbW1vbjpXaW5kb3dSdW50aW1lUmVhZHlcIixcblx0XHRUaGVtZUNoYW5nZWQ6IFwiY29tbW9uOlRoZW1lQ2hhbmdlZFwiLFxuXHRcdFdpbmRvd0RpZE1vdmU6IFwiY29tbW9uOldpbmRvd0RpZE1vdmVcIixcblx0XHRXaW5kb3dEaWRSZXNpemU6IFwiY29tbW9uOldpbmRvd0RpZFJlc2l6ZVwiLFxuXHRcdEFwcGxpY2F0aW9uT3BlbmVkV2l0aEZpbGU6IFwiY29tbW9uOkFwcGxpY2F0aW9uT3BlbmVkV2l0aEZpbGVcIixcblx0fSxcbn07XG4iLCAiLypcclxuIF8gICAgIF9fICAgICBfIF9fXHJcbnwgfCAgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoqXHJcbiAqIExvZ3MgYSBtZXNzYWdlIHRvIHRoZSBjb25zb2xlIHdpdGggY3VzdG9tIGZvcm1hdHRpbmcuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgbG9nZ2VkLlxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnTG9nKG1lc3NhZ2UpIHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgJyVjIHdhaWxzMyAlYyAnICsgbWVzc2FnZSArICcgJyxcclxuICAgICAgICAnYmFja2dyb3VuZDogI2FhMDAwMDsgY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDNweCAwcHggMHB4IDNweDsgcGFkZGluZzogMXB4OyBmb250LXNpemU6IDAuN3JlbScsXHJcbiAgICAgICAgJ2JhY2tncm91bmQ6ICMwMDk5MDA7IGNvbG9yOiAjZmZmOyBib3JkZXItcmFkaXVzOiAwcHggM3B4IDNweCAwcHg7IHBhZGRpbmc6IDFweDsgZm9udC1zaXplOiAwLjdyZW0nXHJcbiAgICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGJyb3dzZXIgc3VwcG9ydHMgcmVtb3ZpbmcgbGlzdGVuZXJzIGJ5IHRyaWdnZXJpbmcgYW4gQWJvcnRTaWduYWxcclxuICogKHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNzaWduYWwpXHJcbiAqXHJcbiAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY2FuQWJvcnRMaXN0ZW5lcnMoKSB7XHJcbiAgICBpZiAoIUV2ZW50VGFyZ2V0IHx8ICFBYm9ydFNpZ25hbCB8fCAhQWJvcnRDb250cm9sbGVyKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTtcclxuICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsICgpID0+IHsgcmVzdWx0ID0gZmFsc2U7IH0sIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTtcclxuICAgIGNvbnRyb2xsZXIuYWJvcnQoKTtcclxuICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgndGVzdCcpKTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKioqXHJcbiBUaGlzIHRlY2huaXF1ZSBmb3IgcHJvcGVyIGxvYWQgZGV0ZWN0aW9uIGlzIHRha2VuIGZyb20gSFRNWDpcclxuXHJcbiBCU0QgMi1DbGF1c2UgTGljZW5zZVxyXG5cclxuIENvcHlyaWdodCAoYykgMjAyMCwgQmlnIFNreSBTb2Z0d2FyZVxyXG4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuXHJcbiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXRcclxuIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxyXG5cclxuIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpc1xyXG4gbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXHJcblxyXG4gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLFxyXG4gdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvblxyXG4gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXHJcblxyXG4gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcclxuIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcclxuIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxyXG4gRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxyXG4gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcclxuIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXHJcbiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxyXG4gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcclxuIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXHJcbiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxyXG5cclxuICoqKi9cclxuXHJcbmxldCBpc1JlYWR5ID0gZmFsc2U7XHJcbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiBpc1JlYWR5ID0gdHJ1ZSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2hlblJlYWR5KGNhbGxiYWNrKSB7XHJcbiAgICBpZiAoaXNSZWFkeSB8fCBkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XHJcbiAgICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGNhbGxiYWNrKTtcclxuICAgIH1cclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLy8gSW1wb3J0IHNjcmVlbiBqc2RvYyBkZWZpbml0aW9uIGZyb20gLi9zY3JlZW5zLmpzXHJcbi8qKlxyXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9zY3JlZW5zXCIpLlNjcmVlbn0gU2NyZWVuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBIHJlY29yZCBkZXNjcmliaW5nIHRoZSBwb3NpdGlvbiBvZiBhIHdpbmRvdy5cclxuICpcclxuICogQHR5cGVkZWYge09iamVjdH0gUG9zaXRpb25cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IHggLSBUaGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgd2luZG93XHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB5IC0gVGhlIHZlcnRpY2FsIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIEEgcmVjb3JkIGRlc2NyaWJpbmcgdGhlIHNpemUgb2YgYSB3aW5kb3cuXHJcbiAqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpemVcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSB3aW5kb3dcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IGhlaWdodCAtIFRoZSBoZWlnaHQgb2YgdGhlIHdpbmRvd1xyXG4gKi9cclxuXHJcblxyXG5pbXBvcnQge25ld1J1bnRpbWVDYWxsZXJXaXRoSUQsIG9iamVjdE5hbWVzfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcblxyXG5jb25zdCBQb3NpdGlvbk1ldGhvZCAgICAgICAgICAgICAgICAgICAgPSAwO1xyXG5jb25zdCBDZW50ZXJNZXRob2QgICAgICAgICAgICAgICAgICAgICAgPSAxO1xyXG5jb25zdCBDbG9zZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgPSAyO1xyXG5jb25zdCBEaXNhYmxlU2l6ZUNvbnN0cmFpbnRzTWV0aG9kICAgICAgPSAzO1xyXG5jb25zdCBFbmFibGVTaXplQ29uc3RyYWludHNNZXRob2QgICAgICAgPSA0O1xyXG5jb25zdCBGb2N1c01ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgPSA1O1xyXG5jb25zdCBGb3JjZVJlbG9hZE1ldGhvZCAgICAgICAgICAgICAgICAgPSA2O1xyXG5jb25zdCBGdWxsc2NyZWVuTWV0aG9kICAgICAgICAgICAgICAgICAgPSA3O1xyXG5jb25zdCBHZXRTY3JlZW5NZXRob2QgICAgICAgICAgICAgICAgICAgPSA4O1xyXG5jb25zdCBHZXRab29tTWV0aG9kICAgICAgICAgICAgICAgICAgICAgPSA5O1xyXG5jb25zdCBIZWlnaHRNZXRob2QgICAgICAgICAgICAgICAgICAgICAgPSAxMDtcclxuY29uc3QgSGlkZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgID0gMTE7XHJcbmNvbnN0IElzRm9jdXNlZE1ldGhvZCAgICAgICAgICAgICAgICAgICA9IDEyO1xyXG5jb25zdCBJc0Z1bGxzY3JlZW5NZXRob2QgICAgICAgICAgICAgICAgPSAxMztcclxuY29uc3QgSXNNYXhpbWlzZWRNZXRob2QgICAgICAgICAgICAgICAgID0gMTQ7XHJcbmNvbnN0IElzTWluaW1pc2VkTWV0aG9kICAgICAgICAgICAgICAgICA9IDE1O1xyXG5jb25zdCBNYXhpbWlzZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgPSAxNjtcclxuY29uc3QgTWluaW1pc2VNZXRob2QgICAgICAgICAgICAgICAgICAgID0gMTc7XHJcbmNvbnN0IE5hbWVNZXRob2QgICAgICAgICAgICAgICAgICAgICAgICA9IDE4O1xyXG5jb25zdCBPcGVuRGV2VG9vbHNNZXRob2QgICAgICAgICAgICAgICAgPSAxOTtcclxuY29uc3QgUmVsYXRpdmVQb3NpdGlvbk1ldGhvZCAgICAgICAgICAgID0gMjA7XHJcbmNvbnN0IFJlbG9hZE1ldGhvZCAgICAgICAgICAgICAgICAgICAgICA9IDIxO1xyXG5jb25zdCBSZXNpemFibGVNZXRob2QgICAgICAgICAgICAgICAgICAgPSAyMjtcclxuY29uc3QgUmVzdG9yZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgID0gMjM7XHJcbmNvbnN0IFNldFBvc2l0aW9uTWV0aG9kICAgICAgICAgICAgICAgICA9IDI0O1xyXG5jb25zdCBTZXRBbHdheXNPblRvcE1ldGhvZCAgICAgICAgICAgICAgPSAyNTtcclxuY29uc3QgU2V0QmFja2dyb3VuZENvbG91ck1ldGhvZCAgICAgICAgID0gMjY7XHJcbmNvbnN0IFNldEZyYW1lbGVzc01ldGhvZCAgICAgICAgICAgICAgICA9IDI3O1xyXG5jb25zdCBTZXRGdWxsc2NyZWVuQnV0dG9uRW5hYmxlZE1ldGhvZCAgPSAyODtcclxuY29uc3QgU2V0TWF4U2l6ZU1ldGhvZCAgICAgICAgICAgICAgICAgID0gMjk7XHJcbmNvbnN0IFNldE1pblNpemVNZXRob2QgICAgICAgICAgICAgICAgICA9IDMwO1xyXG5jb25zdCBTZXRSZWxhdGl2ZVBvc2l0aW9uTWV0aG9kICAgICAgICAgPSAzMTtcclxuY29uc3QgU2V0UmVzaXphYmxlTWV0aG9kICAgICAgICAgICAgICAgID0gMzI7XHJcbmNvbnN0IFNldFNpemVNZXRob2QgICAgICAgICAgICAgICAgICAgICA9IDMzO1xyXG5jb25zdCBTZXRUaXRsZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgPSAzNDtcclxuY29uc3QgU2V0Wm9vbU1ldGhvZCAgICAgICAgICAgICAgICAgICAgID0gMzU7XHJcbmNvbnN0IFNob3dNZXRob2QgICAgICAgICAgICAgICAgICAgICAgICA9IDM2O1xyXG5jb25zdCBTaXplTWV0aG9kICAgICAgICAgICAgICAgICAgICAgICAgPSAzNztcclxuY29uc3QgVG9nZ2xlRnVsbHNjcmVlbk1ldGhvZCAgICAgICAgICAgID0gMzg7XHJcbmNvbnN0IFRvZ2dsZU1heGltaXNlTWV0aG9kICAgICAgICAgICAgICA9IDM5O1xyXG5jb25zdCBVbkZ1bGxzY3JlZW5NZXRob2QgICAgICAgICAgICAgICAgPSA0MDtcclxuY29uc3QgVW5NYXhpbWlzZU1ldGhvZCAgICAgICAgICAgICAgICAgID0gNDE7XHJcbmNvbnN0IFVuTWluaW1pc2VNZXRob2QgICAgICAgICAgICAgICAgICA9IDQyO1xyXG5jb25zdCBXaWR0aE1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgPSA0MztcclxuY29uc3QgWm9vbU1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgID0gNDQ7XHJcbmNvbnN0IFpvb21Jbk1ldGhvZCAgICAgICAgICAgICAgICAgICAgICA9IDQ1O1xyXG5jb25zdCBab29tT3V0TWV0aG9kICAgICAgICAgICAgICAgICAgICAgPSA0NjtcclxuY29uc3QgWm9vbVJlc2V0TWV0aG9kICAgICAgICAgICAgICAgICAgID0gNDc7XHJcblxyXG4vKipcclxuICogQHR5cGUge3N5bWJvbH1cclxuICovXHJcbmNvbnN0IGNhbGxlciA9IFN5bWJvbCgpO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdpbmRvdyB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpc2VzIGEgd2luZG93IG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IHdpbmRvdy5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IobmFtZSA9ICcnKSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQHByaXZhdGVcclxuICAgICAgICAgKiBAbmFtZSB7QGxpbmsgY2FsbGVyfVxyXG4gICAgICAgICAqIEB0eXBlIHsoLi4uYXJnczogYW55W10pID0+IGFueX1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzW2NhbGxlcl0gPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLldpbmRvdywgbmFtZSlcclxuXHJcbiAgICAgICAgLy8gYmluZCBpbnN0YW5jZSBtZXRob2QgdG8gbWFrZSB0aGVtIGVhc2lseSB1c2FibGUgaW4gZXZlbnQgaGFuZGxlcnNcclxuICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhXaW5kb3cucHJvdG90eXBlKSkge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBtZXRob2QgIT09IFwiY29uc3RydWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgJiYgdHlwZW9mIHRoaXNbbWV0aG9kXSA9PT0gXCJmdW5jdGlvblwiXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgdGhpc1ttZXRob2RdID0gdGhpc1ttZXRob2RdLmJpbmQodGhpcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBzcGVjaWZpZWQgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdpbmRvdyB0byBnZXQuXHJcbiAgICAgKiBAcmV0dXJuIHtXaW5kb3d9IC0gVGhlIGNvcnJlc3BvbmRpbmcgd2luZG93IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgR2V0KG5hbWUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFdpbmRvdyhuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxQb3NpdGlvbj59IC0gVGhlIGN1cnJlbnQgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvdy5cclxuICAgICAqL1xyXG4gICAgUG9zaXRpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShQb3NpdGlvbk1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDZW50ZXJzIHRoZSB3aW5kb3cgb24gdGhlIHNjcmVlbi5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBDZW50ZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShDZW50ZXJNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xvc2VzIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgQ2xvc2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShDbG9zZU1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNhYmxlcyBtaW4vbWF4IHNpemUgY29uc3RyYWludHMuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRGlzYWJsZVNpemVDb25zdHJhaW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKERpc2FibGVTaXplQ29uc3RyYWludHNNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5hYmxlcyBtaW4vbWF4IHNpemUgY29uc3RyYWludHMuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRW5hYmxlU2l6ZUNvbnN0cmFpbnRzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oRW5hYmxlU2l6ZUNvbnN0cmFpbnRzTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvY3VzZXMgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBGb2N1cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEZvY3VzTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcmNlcyB0aGUgd2luZG93IHRvIHJlbG9hZCB0aGUgcGFnZSBhc3NldHMuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRm9yY2VSZWxvYWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShGb3JjZVJlbG9hZE1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEb2MuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRnVsbHNjcmVlbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEZ1bGxzY3JlZW5NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgc2NyZWVuIHRoYXQgdGhlIHdpbmRvdyBpcyBvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFNjcmVlbj59IC0gVGhlIHNjcmVlbiB0aGUgd2luZG93IGlzIGN1cnJlbnRseSBvblxyXG4gICAgICovXHJcbiAgICBHZXRTY3JlZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShHZXRTY3JlZW5NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCB6b29tIGxldmVsIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxudW1iZXI+fSAtIFRoZSBjdXJyZW50IHpvb20gbGV2ZWxcclxuICAgICAqL1xyXG4gICAgR2V0Wm9vbSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEdldFpvb21NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxudW1iZXI+fSAtIFRoZSBjdXJyZW50IGhlaWdodCBvZiB0aGUgd2luZG93XHJcbiAgICAgKi9cclxuICAgIEhlaWdodCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEhlaWdodE1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlcyB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIEhpZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShIaWRlTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgd2luZG93IGlzIGZvY3VzZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSB3aW5kb3cgaXMgY3VycmVudGx5IGZvY3VzZWRcclxuICAgICAqL1xyXG4gICAgSXNGb2N1c2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oSXNGb2N1c2VkTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgd2luZG93IGlzIGZ1bGxzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSB3aW5kb3cgaXMgY3VycmVudGx5IGZ1bGxzY3JlZW5cclxuICAgICAqL1xyXG4gICAgSXNGdWxsc2NyZWVuKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oSXNGdWxsc2NyZWVuTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgd2luZG93IGlzIG1heGltaXNlZC5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSAtIFdoZXRoZXIgdGhlIHdpbmRvdyBpcyBjdXJyZW50bHkgbWF4aW1pc2VkXHJcbiAgICAgKi9cclxuICAgIElzTWF4aW1pc2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oSXNNYXhpbWlzZWRNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB3aW5kb3cgaXMgbWluaW1pc2VkLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8Ym9vbGVhbj59IC0gV2hldGhlciB0aGUgd2luZG93IGlzIGN1cnJlbnRseSBtaW5pbWlzZWRcclxuICAgICAqL1xyXG4gICAgSXNNaW5pbWlzZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShJc01pbmltaXNlZE1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbWlzZXMgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBNYXhpbWlzZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKE1heGltaXNlTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1pbmltaXNlcyB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIE1pbmltaXNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oTWluaW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gLSBUaGUgbmFtZSBvZiB0aGUgd2luZG93XHJcbiAgICAgKi9cclxuICAgIE5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShOYW1lTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wZW5zIHRoZSBkZXZlbG9wbWVudCB0b29scyBwYW5lLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIE9wZW5EZXZUb29scygpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKE9wZW5EZXZUb29sc01ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93IHRvIHRoZSBzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxQb3NpdGlvbj59IC0gVGhlIGN1cnJlbnQgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xyXG4gICAgICovXHJcbiAgICBSZWxhdGl2ZVBvc2l0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oUmVsYXRpdmVQb3NpdGlvbk1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWxvYWRzIHRoZSBwYWdlIGFzc2V0cy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBSZWxvYWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShSZWxvYWRNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB3aW5kb3cgaXMgcmVzaXphYmxlLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8Ym9vbGVhbj59IC0gV2hldGhlciB0aGUgd2luZG93IGlzIGN1cnJlbnRseSByZXNpemFibGVcclxuICAgICAqL1xyXG4gICAgUmVzaXphYmxlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oUmVzaXphYmxlTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RvcmVzIHRoZSB3aW5kb3cgdG8gaXRzIHByZXZpb3VzIHN0YXRlIGlmIGl0IHdhcyBwcmV2aW91c2x5IG1pbmltaXNlZCwgbWF4aW1pc2VkIG9yIGZ1bGxzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgUmVzdG9yZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFJlc3RvcmVNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geCAtIFRoZSBkZXNpcmVkIGhvcml6b250YWwgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgLSBUaGUgZGVzaXJlZCB2ZXJ0aWNhbCBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRQb3NpdGlvbih4LCB5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRQb3NpdGlvbk1ldGhvZCwgeyB4LCB5IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgd2luZG93IHRvIGJlIGFsd2F5cyBvbiB0b3AuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBhbHdheXNPblRvcCAtIFdoZXRoZXIgdGhlIHdpbmRvdyBzaG91bGQgc3RheSBvbiB0b3BcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldEFsd2F5c09uVG9wKGFsd2F5c09uVG9wKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRBbHdheXNPblRvcE1ldGhvZCwgeyBhbHdheXNPblRvcCB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIGJhY2tncm91bmQgY29sb3VyIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHIgLSBUaGUgZGVzaXJlZCByZWQgY29tcG9uZW50IG9mIHRoZSB3aW5kb3cgYmFja2dyb3VuZFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGcgLSBUaGUgZGVzaXJlZCBncmVlbiBjb21wb25lbnQgb2YgdGhlIHdpbmRvdyBiYWNrZ3JvdW5kXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYiAtIFRoZSBkZXNpcmVkIGJsdWUgY29tcG9uZW50IG9mIHRoZSB3aW5kb3cgYmFja2dyb3VuZFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGEgLSBUaGUgZGVzaXJlZCBhbHBoYSBjb21wb25lbnQgb2YgdGhlIHdpbmRvdyBiYWNrZ3JvdW5kXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRCYWNrZ3JvdW5kQ29sb3VyKHIsIGcsIGIsIGEpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldEJhY2tncm91bmRDb2xvdXJNZXRob2QsIHsgciwgZywgYiwgYSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgdGhlIHdpbmRvdyBmcmFtZSBhbmQgdGl0bGUgYmFyLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZnJhbWVsZXNzIC0gV2hldGhlciB0aGUgd2luZG93IHNob3VsZCBiZSBmcmFtZWxlc3NcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldEZyYW1lbGVzcyhmcmFtZWxlc3MpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldEZyYW1lbGVzc01ldGhvZCwgeyBmcmFtZWxlc3MgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNhYmxlcyB0aGUgc3lzdGVtIGZ1bGxzY3JlZW4gYnV0dG9uLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZCAtIFdoZXRoZXIgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIHNob3VsZCBiZSBlbmFibGVkXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRGdWxsc2NyZWVuQnV0dG9uRW5hYmxlZChlbmFibGVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRGdWxsc2NyZWVuQnV0dG9uRW5hYmxlZE1ldGhvZCwgeyBlbmFibGVkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIC0gVGhlIGRlc2lyZWQgbWF4aW11bSB3aWR0aCBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0IC0gVGhlIGRlc2lyZWQgbWF4aW11bSBoZWlnaHQgb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgU2V0TWF4U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRNYXhTaXplTWV0aG9kLCB7IHdpZHRoLCBoZWlnaHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2lkdGggLSBUaGUgZGVzaXJlZCBtaW5pbXVtIHdpZHRoIG9mIHRoZSB3aW5kb3dcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHQgLSBUaGUgZGVzaXJlZCBtaW5pbXVtIGhlaWdodCBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRNaW5TaXplKHdpZHRoLCBoZWlnaHQpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldE1pblNpemVNZXRob2QsIHsgd2lkdGgsIGhlaWdodCB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3cgdG8gdGhlIHNjcmVlbi5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geCAtIFRoZSBkZXNpcmVkIGhvcml6b250YWwgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgLSBUaGUgZGVzaXJlZCB2ZXJ0aWNhbCByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRSZWxhdGl2ZVBvc2l0aW9uKHgsIHkpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldFJlbGF0aXZlUG9zaXRpb25NZXRob2QsIHsgeCwgeSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgd2hldGhlciB0aGUgd2luZG93IGlzIHJlc2l6YWJsZS5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlc2l6YWJsZSAtIFdoZXRoZXIgdGhlIHdpbmRvdyBzaG91bGQgYmUgcmVzaXphYmxlXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRSZXNpemFibGUocmVzaXphYmxlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRSZXNpemFibGVNZXRob2QsIHsgcmVzaXphYmxlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCAtIFRoZSBkZXNpcmVkIHdpZHRoIG9mIHRoZSB3aW5kb3dcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHQgLSBUaGUgZGVzaXJlZCBoZWlnaHQgb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgU2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRTaXplTWV0aG9kLCB7IHdpZHRoLCBoZWlnaHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSB0aXRsZSBvZiB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZSAtIFRoZSBkZXNpcmVkIHRpdGxlIG9mIHRoZSB3aW5kb3dcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldFRpdGxlKHRpdGxlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRUaXRsZU1ldGhvZCwgeyB0aXRsZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gem9vbSAtIFRoZSBkZXNpcmVkIHpvb20gbGV2ZWxcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldFpvb20oem9vbSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oU2V0Wm9vbU1ldGhvZCwgeyB6b29tIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTaG93KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oU2hvd01ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxTaXplPn0gLSBUaGUgY3VycmVudCBzaXplIG9mIHRoZSB3aW5kb3dcclxuICAgICAqL1xyXG4gICAgU2l6ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNpemVNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG9nZ2xlcyB0aGUgd2luZG93IGJldHdlZW4gZnVsbHNjcmVlbiBhbmQgbm9ybWFsLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFRvZ2dsZUZ1bGxzY3JlZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShUb2dnbGVGdWxsc2NyZWVuTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRvZ2dsZXMgdGhlIHdpbmRvdyBiZXR3ZWVuIG1heGltaXNlZCBhbmQgbm9ybWFsLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFRvZ2dsZU1heGltaXNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oVG9nZ2xlTWF4aW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW4tZnVsbHNjcmVlbnMgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBVbkZ1bGxzY3JlZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShVbkZ1bGxzY3JlZW5NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW4tbWF4aW1pc2VzIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgVW5NYXhpbWlzZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFVuTWF4aW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW4tbWluaW1pc2VzIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgVW5NaW5pbWlzZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFVuTWluaW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgd2lkdGggb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPG51bWJlcj59IC0gVGhlIGN1cnJlbnQgd2lkdGggb2YgdGhlIHdpbmRvd1xyXG4gICAgICovXHJcbiAgICBXaWR0aCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFdpZHRoTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFpvb21zIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgWm9vbSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFpvb21NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5jcmVhc2VzIHRoZSB6b29tIGxldmVsIG9mIHRoZSB3ZWJ2aWV3IGNvbnRlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgWm9vbUluKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oWm9vbUluTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlY3JlYXNlcyB0aGUgem9vbSBsZXZlbCBvZiB0aGUgd2VidmlldyBjb250ZW50LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFpvb21PdXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShab29tT3V0TWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc2V0cyB0aGUgem9vbSBsZXZlbCBvZiB0aGUgd2VidmlldyBjb250ZW50LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFpvb21SZXNldCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFpvb21SZXNldE1ldGhvZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgd2luZG93IHdpdGhpbiB3aGljaCB0aGUgc2NyaXB0IGlzIHJ1bm5pbmcuXHJcbiAqXHJcbiAqIEB0eXBlIHtXaW5kb3d9XHJcbiAqL1xyXG5jb25zdCB0aGlzV2luZG93ID0gbmV3IFdpbmRvdygnJyk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB0aGlzV2luZG93O1xyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuaW1wb3J0ICogYXMgUnVudGltZSBmcm9tIFwiLi4vQHdhaWxzaW8vcnVudGltZS9zcmNcIjtcclxuXHJcbi8vIE5PVEU6IHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBNVVNUIGJlIGltcG9ydGVkIGV4cGxpY2l0bHkgYmVjYXVzZSBvZiBob3cgZXNidWlsZCBpbmplY3Rpb24gd29ya3NcclxuaW1wb3J0IHtFbmFibGUgYXMgRW5hYmxlV01MfSBmcm9tIFwiLi4vQHdhaWxzaW8vcnVudGltZS9zcmMvd21sXCI7XHJcbmltcG9ydCB7ZGVidWdMb2d9IGZyb20gXCIuLi9Ad2FpbHNpby9ydW50aW1lL3NyYy91dGlsc1wiO1xyXG5cclxud2luZG93LndhaWxzID0gUnVudGltZTtcclxuRW5hYmxlV01MKCk7XHJcblxyXG5pZiAoREVCVUcpIHtcclxuICAgIGRlYnVnTG9nKFwiV2FpbHMgUnVudGltZSBMb2FkZWRcIilcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuaW1wb3J0IHtuZXdSdW50aW1lQ2FsbGVyV2l0aElELCBvYmplY3ROYW1lc30gZnJvbSBcIi4vcnVudGltZVwiO1xyXG5sZXQgY2FsbCA9IG5ld1J1bnRpbWVDYWxsZXJXaXRoSUQob2JqZWN0TmFtZXMuU3lzdGVtLCAnJyk7XHJcbmNvbnN0IHN5c3RlbUlzRGFya01vZGUgPSAwO1xyXG5jb25zdCBlbnZpcm9ubWVudCA9IDE7XHJcblxyXG5jb25zdCBfaW52b2tlID0gKCgpID0+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgaWYod2luZG93Py5jaHJvbWU/LndlYnZpZXcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIChtc2cpID0+IHdpbmRvdy5jaHJvbWUud2Vidmlldy5wb3N0TWVzc2FnZShtc2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih3aW5kb3c/LndlYmtpdD8ubWVzc2FnZUhhbmRsZXJzPy5leHRlcm5hbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gKG1zZykgPT4gd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZXh0ZXJuYWwucG9zdE1lc3NhZ2UobXNnKTtcclxuICAgICAgICB9XHJcbiAgICB9IGNhdGNoKGUpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1xcbiVjXHUyNkEwXHVGRTBGIEJyb3dzZXIgRW52aXJvbm1lbnQgRGV0ZWN0ZWQgJWNcXG5cXG4lY09ubHkgVUkgcHJldmlld3MgYXJlIGF2YWlsYWJsZSBpbiB0aGUgYnJvd3Nlci4gRm9yIGZ1bGwgZnVuY3Rpb25hbGl0eSwgcGxlYXNlIHJ1biB0aGUgYXBwbGljYXRpb24gaW4gZGVza3RvcCBtb2RlLlxcbk1vcmUgaW5mb3JtYXRpb24gYXQ6IGh0dHBzOi8vdjMud2FpbHMuaW8vbGVhcm4vYnVpbGQvI3VzaW5nLWEtYnJvd3Nlci1mb3ItZGV2ZWxvcG1lbnRcXG4nLFxyXG4gICAgICAgICAgICAnYmFja2dyb3VuZDogI2ZmZmZmZjsgY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nOiA0cHggOHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7JyxcclxuICAgICAgICAgICAgJ2JhY2tncm91bmQ6IHRyYW5zcGFyZW50OycsXHJcbiAgICAgICAgICAgICdjb2xvcjogI2ZmZmZmZjsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogYm9sZDsnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG59KSgpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGludm9rZShtc2cpIHtcclxuICAgIGlmICghX2ludm9rZSkgcmV0dXJuO1xyXG4gICAgcmV0dXJuIF9pbnZva2UobXNnKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBmdW5jdGlvblxyXG4gKiBSZXRyaWV2ZXMgdGhlIHN5c3RlbSBkYXJrIG1vZGUgc3RhdHVzLlxyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyBpZiB0aGUgc3lzdGVtIGlzIGluIGRhcmsgbW9kZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBJc0RhcmtNb2RlKCkge1xyXG4gICAgcmV0dXJuIGNhbGwoc3lzdGVtSXNEYXJrTW9kZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGZXRjaGVzIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGFwcGxpY2F0aW9uIGZyb20gdGhlIHNlcnZlci5cclxuICpcclxuICogQGFzeW5jXHJcbiAqIEBmdW5jdGlvbiBDYXBhYmlsaXRpZXNcclxuICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNhcGFiaWxpdGllcy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDYXBhYmlsaXRpZXMoKSB7XHJcbiAgICBsZXQgcmVzcG9uc2UgPSBmZXRjaChcIi93YWlscy9jYXBhYmlsaXRpZXNcIik7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gT1NJbmZvXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBCcmFuZGluZyAtIFRoZSBicmFuZGluZyBvZiB0aGUgT1MuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJRCAtIFRoZSBJRCBvZiB0aGUgT1MuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9TLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVmVyc2lvbiAtIFRoZSB2ZXJzaW9uIG9mIHRoZSBPUy5cclxuICovXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gRW52aXJvbm1lbnRJbmZvXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBBcmNoIC0gVGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgc3lzdGVtLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IERlYnVnIC0gVHJ1ZSBpZiB0aGUgYXBwbGljYXRpb24gaXMgcnVubmluZyBpbiBkZWJ1ZyBtb2RlLCBvdGhlcndpc2UgZmFsc2UuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBPUyAtIFRoZSBvcGVyYXRpbmcgc3lzdGVtIGluIHVzZS5cclxuICogQHByb3BlcnR5IHtPU0luZm99IE9TSW5mbyAtIERldGFpbHMgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0uXHJcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBQbGF0Zm9ybUluZm8gLSBBZGRpdGlvbmFsIHBsYXRmb3JtIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZnVuY3Rpb25cclxuICogUmV0cmlldmVzIGVudmlyb25tZW50IGRldGFpbHMuXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPEVudmlyb25tZW50SW5mbz59IC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gb2JqZWN0IGNvbnRhaW5pbmcgT1MgYW5kIHN5c3RlbSBhcmNoaXRlY3R1cmUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRW52aXJvbm1lbnQoKSB7XHJcbiAgICByZXR1cm4gY2FsbChlbnZpcm9ubWVudCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbSBpcyBXaW5kb3dzLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGlzIFdpbmRvd3MsIG90aGVyd2lzZSBmYWxzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBJc1dpbmRvd3MoKSB7XHJcbiAgICByZXR1cm4gd2luZG93Ll93YWlscy5lbnZpcm9ubWVudC5PUyA9PT0gXCJ3aW5kb3dzXCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbSBpcyBMaW51eC5cclxuICpcclxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtIGlzIExpbnV4LCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSXNMaW51eCgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmVudmlyb25tZW50Lk9TID09PSBcImxpbnV4XCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgYSBtYWNPUyBvcGVyYXRpbmcgc3lzdGVtLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZW52aXJvbm1lbnQgaXMgbWFjT1MsIGZhbHNlIG90aGVyd2lzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBJc01hYygpIHtcclxuICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmVudmlyb25tZW50Lk9TID09PSBcImRhcndpblwiO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGFyY2hpdGVjdHVyZSBpcyBBTUQ2NC5cclxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgYXJjaGl0ZWN0dXJlIGlzIEFNRDY0LCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSXNBTUQ2NCgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmVudmlyb25tZW50LkFyY2ggPT09IFwiYW1kNjRcIjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgaXMgQVJNLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgaXMgQVJNLCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSXNBUk0oKSB7XHJcbiAgICByZXR1cm4gd2luZG93Ll93YWlscy5lbnZpcm9ubWVudC5BcmNoID09PSBcImFybVwiO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGlzIEFSTTY0IGFyY2hpdGVjdHVyZS5cclxuICpcclxuICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBlbnZpcm9ubWVudCBpcyBBUk02NCBhcmNoaXRlY3R1cmUsIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIElzQVJNNjQoKSB7XHJcbiAgICByZXR1cm4gd2luZG93Ll93YWlscy5lbnZpcm9ubWVudC5BcmNoID09PSBcImFybTY0XCI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBJc0RlYnVnKCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5fd2FpbHMuZW52aXJvbm1lbnQuRGVidWcgPT09IHRydWU7XHJcbn1cclxuXHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcblxyXG5pbXBvcnQge25ld1J1bnRpbWVDYWxsZXJXaXRoSUQsIG9iamVjdE5hbWVzfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcbmltcG9ydCB7SXNEZWJ1Z30gZnJvbSBcIi4vc3lzdGVtXCI7XHJcblxyXG4vLyBzZXR1cFxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBjb250ZXh0TWVudUhhbmRsZXIpO1xyXG5cclxuY29uc3QgY2FsbCA9IG5ld1J1bnRpbWVDYWxsZXJXaXRoSUQob2JqZWN0TmFtZXMuQ29udGV4dE1lbnUsICcnKTtcclxuY29uc3QgQ29udGV4dE1lbnVPcGVuID0gMDtcclxuXHJcbmZ1bmN0aW9uIG9wZW5Db250ZXh0TWVudShpZCwgeCwgeSwgZGF0YSkge1xyXG4gICAgdm9pZCBjYWxsKENvbnRleHRNZW51T3Blbiwge2lkLCB4LCB5LCBkYXRhfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbnRleHRNZW51SGFuZGxlcihldmVudCkge1xyXG4gICAgLy8gQ2hlY2sgZm9yIGN1c3RvbSBjb250ZXh0IG1lbnVcclxuICAgIGxldCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgbGV0IGN1c3RvbUNvbnRleHRNZW51ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShcIi0tY3VzdG9tLWNvbnRleHRtZW51XCIpO1xyXG4gICAgY3VzdG9tQ29udGV4dE1lbnUgPSBjdXN0b21Db250ZXh0TWVudSA/IGN1c3RvbUNvbnRleHRNZW51LnRyaW0oKSA6IFwiXCI7XHJcbiAgICBpZiAoY3VzdG9tQ29udGV4dE1lbnUpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGxldCBjdXN0b21Db250ZXh0TWVudURhdGEgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKFwiLS1jdXN0b20tY29udGV4dG1lbnUtZGF0YVwiKTtcclxuICAgICAgICBvcGVuQ29udGV4dE1lbnUoY3VzdG9tQ29udGV4dE1lbnUsIGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFksIGN1c3RvbUNvbnRleHRNZW51RGF0YSk7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgcHJvY2Vzc0RlZmF1bHRDb250ZXh0TWVudShldmVudCk7XHJcbn1cclxuXHJcblxyXG4vKlxyXG4tLWRlZmF1bHQtY29udGV4dG1lbnU6IGF1dG87IChkZWZhdWx0KSB3aWxsIHNob3cgdGhlIGRlZmF1bHQgY29udGV4dCBtZW51IGlmIGNvbnRlbnRFZGl0YWJsZSBpcyB0cnVlIE9SIHRleHQgaGFzIGJlZW4gc2VsZWN0ZWQgT1IgZWxlbWVudCBpcyBpbnB1dCBvciB0ZXh0YXJlYVxyXG4tLWRlZmF1bHQtY29udGV4dG1lbnU6IHNob3c7IHdpbGwgYWx3YXlzIHNob3cgdGhlIGRlZmF1bHQgY29udGV4dCBtZW51XHJcbi0tZGVmYXVsdC1jb250ZXh0bWVudTogaGlkZTsgd2lsbCBhbHdheXMgaGlkZSB0aGUgZGVmYXVsdCBjb250ZXh0IG1lbnVcclxuXHJcblRoaXMgcnVsZSBpcyBpbmhlcml0ZWQgbGlrZSBub3JtYWwgQ1NTIHJ1bGVzLCBzbyBuZXN0aW5nIHdvcmtzIGFzIGV4cGVjdGVkXHJcbiovXHJcbmZ1bmN0aW9uIHByb2Nlc3NEZWZhdWx0Q29udGV4dE1lbnUoZXZlbnQpIHtcclxuXHJcbiAgICAvLyBEZWJ1ZyBidWlsZHMgYWx3YXlzIHNob3cgdGhlIG1lbnVcclxuICAgIGlmIChJc0RlYnVnKCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJvY2VzcyBkZWZhdWx0IGNvbnRleHQgbWVudVxyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcclxuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgIGNvbnN0IGRlZmF1bHRDb250ZXh0TWVudUFjdGlvbiA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIi0tZGVmYXVsdC1jb250ZXh0bWVudVwiKS50cmltKCk7XHJcbiAgICBzd2l0Y2ggKGRlZmF1bHRDb250ZXh0TWVudUFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgXCJzaG93XCI6XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlIFwiaGlkZVwiOlxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgY29udGVudEVkaXRhYmxlIGlzIHRydWVcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQuaXNDb250ZW50RWRpdGFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGV4dCBoYXMgYmVlbiBzZWxlY3RlZFxyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IChzZWxlY3Rpb24udG9TdHJpbmcoKS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICBpZiAoaGFzU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdGlvbi5yYW5nZUNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KGkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RzID0gcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlY3RzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSByZWN0c1tqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQocmVjdC5sZWZ0LCByZWN0LnRvcCkgPT09IGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0YWduYW1lIGlzIGlucHV0IG9yIHRleHRhcmVhXHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnRhZ05hbWUgPT09IFwiSU5QVVRcIiB8fCBlbGVtZW50LnRhZ05hbWUgPT09IFwiVEVYVEFSRUFcIikge1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc1NlbGVjdGlvbiB8fCAoIWVsZW1lbnQucmVhZE9ubHkgJiYgIWVsZW1lbnQuZGlzYWJsZWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBoaWRlIGRlZmF1bHQgY29udGV4dCBtZW51XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwgIi8qXHJcbiBfXHQgICBfX1x0ICBfIF9fXHJcbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGtleSBmcm9tIHRoZSBmbGFnIG1hcC5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGtleVN0cmluZyAtIFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cclxuICogQHJldHVybiB7Kn0gLSBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEdldEZsYWcoa2V5U3RyaW5nKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmZsYWdzW2tleVN0cmluZ107XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIHJldHJpZXZlIGZsYWcgJ1wiICsga2V5U3RyaW5nICsgXCInOiBcIiArIGUpO1xyXG4gICAgfVxyXG59XHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cclxuaW1wb3J0IHtpbnZva2UsIElzV2luZG93c30gZnJvbSBcIi4vc3lzdGVtXCI7XHJcbmltcG9ydCB7R2V0RmxhZ30gZnJvbSBcIi4vZmxhZ3NcIjtcclxuXHJcbi8vIFNldHVwXHJcbmxldCBzaG91bGREcmFnID0gZmFsc2U7XHJcbmxldCByZXNpemFibGUgPSBmYWxzZTtcclxubGV0IHJlc2l6ZUVkZ2UgPSBudWxsO1xyXG5sZXQgZGVmYXVsdEN1cnNvciA9IFwiYXV0b1wiO1xyXG5cclxud2luZG93Ll93YWlscyA9IHdpbmRvdy5fd2FpbHMgfHwge307XHJcblxyXG53aW5kb3cuX3dhaWxzLnNldFJlc2l6YWJsZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XHJcbiAgICByZXNpemFibGUgPSB2YWx1ZTtcclxufTtcclxuXHJcbndpbmRvdy5fd2FpbHMuZW5kRHJhZyA9IGZ1bmN0aW9uKCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7XHJcbiAgICBzaG91bGREcmFnID0gZmFsc2U7XHJcbn07XHJcblxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgb25Nb3VzZURvd24pO1xyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZU1vdmUpO1xyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIG9uTW91c2VVcCk7XHJcblxyXG5cclxuZnVuY3Rpb24gZHJhZ1Rlc3QoZSkge1xyXG4gICAgbGV0IHZhbCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUudGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKFwiLS13YWlscy1kcmFnZ2FibGVcIik7XHJcbiAgICBsZXQgbW91c2VQcmVzc2VkID0gZS5idXR0b25zICE9PSB1bmRlZmluZWQgPyBlLmJ1dHRvbnMgOiBlLndoaWNoO1xyXG4gICAgaWYgKCF2YWwgfHwgdmFsID09PSBcIlwiIHx8IHZhbC50cmltKCkgIT09IFwiZHJhZ1wiIHx8IG1vdXNlUHJlc3NlZCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBlLmRldGFpbCA9PT0gMTtcclxufVxyXG5cclxuZnVuY3Rpb24gb25Nb3VzZURvd24oZSkge1xyXG5cclxuICAgIC8vIENoZWNrIGZvciByZXNpemluZ1xyXG4gICAgaWYgKHJlc2l6ZUVkZ2UpIHtcclxuICAgICAgICBpbnZva2UoXCJ3YWlsczpyZXNpemU6XCIgKyByZXNpemVFZGdlKTtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkcmFnVGVzdChlKSkge1xyXG4gICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcclxuICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2hvdWxkRHJhZyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNob3VsZERyYWcgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gb25Nb3VzZVVwKCkge1xyXG4gICAgc2hvdWxkRHJhZyA9IGZhbHNlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZXRSZXNpemUoY3Vyc29yKSB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuY3Vyc29yID0gY3Vyc29yIHx8IGRlZmF1bHRDdXJzb3I7XHJcbiAgICByZXNpemVFZGdlID0gY3Vyc29yO1xyXG59XHJcblxyXG5mdW5jdGlvbiBvbk1vdXNlTW92ZShlKSB7XHJcbiAgICBpZiAoc2hvdWxkRHJhZykge1xyXG4gICAgICAgIHNob3VsZERyYWcgPSBmYWxzZTtcclxuICAgICAgICBsZXQgbW91c2VQcmVzc2VkID0gZS5idXR0b25zICE9PSB1bmRlZmluZWQgPyBlLmJ1dHRvbnMgOiBlLndoaWNoO1xyXG4gICAgICAgIGlmIChtb3VzZVByZXNzZWQgPiAwKSB7XHJcbiAgICAgICAgICAgIGludm9rZShcIndhaWxzOmRyYWdcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIXJlc2l6YWJsZSB8fCAhSXNXaW5kb3dzKCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZGVmYXVsdEN1cnNvciA9PSBudWxsKSB7XHJcbiAgICAgICAgZGVmYXVsdEN1cnNvciA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3I7XHJcbiAgICB9XHJcbiAgICBsZXQgcmVzaXplSGFuZGxlSGVpZ2h0ID0gR2V0RmxhZyhcInN5c3RlbS5yZXNpemVIYW5kbGVIZWlnaHRcIikgfHwgNTtcclxuICAgIGxldCByZXNpemVIYW5kbGVXaWR0aCA9IEdldEZsYWcoXCJzeXN0ZW0ucmVzaXplSGFuZGxlV2lkdGhcIikgfHwgNTtcclxuXHJcbiAgICAvLyBFeHRyYSBwaXhlbHMgZm9yIHRoZSBjb3JuZXIgYXJlYXNcclxuICAgIGxldCBjb3JuZXJFeHRyYSA9IEdldEZsYWcoXCJyZXNpemVDb3JuZXJFeHRyYVwiKSB8fCAxMDtcclxuXHJcbiAgICBsZXQgcmlnaHRCb3JkZXIgPSB3aW5kb3cub3V0ZXJXaWR0aCAtIGUuY2xpZW50WCA8IHJlc2l6ZUhhbmRsZVdpZHRoO1xyXG4gICAgbGV0IGxlZnRCb3JkZXIgPSBlLmNsaWVudFggPCByZXNpemVIYW5kbGVXaWR0aDtcclxuICAgIGxldCB0b3BCb3JkZXIgPSBlLmNsaWVudFkgPCByZXNpemVIYW5kbGVIZWlnaHQ7XHJcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgcmVzaXplSGFuZGxlSGVpZ2h0O1xyXG5cclxuICAgIC8vIEFkanVzdCBmb3IgY29ybmVyc1xyXG4gICAgbGV0IHJpZ2h0Q29ybmVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCAocmVzaXplSGFuZGxlV2lkdGggKyBjb3JuZXJFeHRyYSk7XHJcbiAgICBsZXQgbGVmdENvcm5lciA9IGUuY2xpZW50WCA8IChyZXNpemVIYW5kbGVXaWR0aCArIGNvcm5lckV4dHJhKTtcclxuICAgIGxldCB0b3BDb3JuZXIgPSBlLmNsaWVudFkgPCAocmVzaXplSGFuZGxlSGVpZ2h0ICsgY29ybmVyRXh0cmEpO1xyXG4gICAgbGV0IGJvdHRvbUNvcm5lciA9IHdpbmRvdy5vdXRlckhlaWdodCAtIGUuY2xpZW50WSA8IChyZXNpemVIYW5kbGVIZWlnaHQgKyBjb3JuZXJFeHRyYSk7XHJcblxyXG4gICAgLy8gSWYgd2UgYXJlbid0IG9uIGFuIGVkZ2UsIGJ1dCB3ZXJlLCByZXNldCB0aGUgY3Vyc29yIHRvIGRlZmF1bHRcclxuICAgIGlmICghbGVmdEJvcmRlciAmJiAhcmlnaHRCb3JkZXIgJiYgIXRvcEJvcmRlciAmJiAhYm90dG9tQm9yZGVyICYmIHJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHNldFJlc2l6ZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gQWRqdXN0ZWQgZm9yIGNvcm5lciBhcmVhc1xyXG4gICAgZWxzZSBpZiAocmlnaHRDb3JuZXIgJiYgYm90dG9tQ29ybmVyKSBzZXRSZXNpemUoXCJzZS1yZXNpemVcIik7XHJcbiAgICBlbHNlIGlmIChsZWZ0Q29ybmVyICYmIGJvdHRvbUNvcm5lcikgc2V0UmVzaXplKFwic3ctcmVzaXplXCIpO1xyXG4gICAgZWxzZSBpZiAobGVmdENvcm5lciAmJiB0b3BDb3JuZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcclxuICAgIGVsc2UgaWYgKHRvcENvcm5lciAmJiByaWdodENvcm5lcikgc2V0UmVzaXplKFwibmUtcmVzaXplXCIpO1xyXG4gICAgZWxzZSBpZiAobGVmdEJvcmRlcikgc2V0UmVzaXplKFwidy1yZXNpemVcIik7XHJcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xyXG4gICAgZWxzZSBpZiAoYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzLXJlc2l6ZVwiKTtcclxuICAgIGVsc2UgaWYgKHJpZ2h0Qm9yZGVyKSBzZXRSZXNpemUoXCJlLXJlc2l6ZVwiKTtcclxufSIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcblxyXG5pbXBvcnQgeyBuZXdSdW50aW1lQ2FsbGVyV2l0aElELCBvYmplY3ROYW1lcyB9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuY29uc3QgY2FsbCA9IG5ld1J1bnRpbWVDYWxsZXJXaXRoSUQob2JqZWN0TmFtZXMuQXBwbGljYXRpb24sICcnKTtcclxuXHJcbmNvbnN0IEhpZGVNZXRob2QgPSAwO1xyXG5jb25zdCBTaG93TWV0aG9kID0gMTtcclxuY29uc3QgUXVpdE1ldGhvZCA9IDI7XHJcblxyXG4vKipcclxuICogSGlkZXMgYSBjZXJ0YWluIG1ldGhvZCBieSBjYWxsaW5nIHRoZSBIaWRlTWV0aG9kIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gKlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEhpZGUoKSB7XHJcbiAgICByZXR1cm4gY2FsbChIaWRlTWV0aG9kKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIHRoZSBTaG93TWV0aG9kIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXHJcbiAqXHJcbiAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gU2hvdygpIHtcclxuICAgIHJldHVybiBjYWxsKFNob3dNZXRob2QpO1xyXG59XHJcblxyXG4vKipcclxuICogQ2FsbHMgdGhlIFF1aXRNZXRob2QgdG8gdGVybWluYXRlIHRoZSBwcm9ncmFtLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XHJcbiAgICByZXR1cm4gY2FsbChRdWl0TWV0aG9kKTtcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5pbXBvcnQgeyBuZXdSdW50aW1lQ2FsbGVyV2l0aElELCBvYmplY3ROYW1lcyB9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnLi9uYW5vaWQuanMnO1xyXG5cclxuLy8gU2V0dXBcclxud2luZG93Ll93YWlscyA9IHdpbmRvdy5fd2FpbHMgfHwge307XHJcbndpbmRvdy5fd2FpbHMuY2FsbFJlc3VsdEhhbmRsZXIgPSByZXN1bHRIYW5kbGVyO1xyXG53aW5kb3cuX3dhaWxzLmNhbGxFcnJvckhhbmRsZXIgPSBlcnJvckhhbmRsZXI7XHJcblxyXG5cclxuY29uc3QgQ2FsbEJpbmRpbmcgPSAwO1xyXG5jb25zdCBjYWxsID0gbmV3UnVudGltZUNhbGxlcldpdGhJRChvYmplY3ROYW1lcy5DYWxsLCAnJyk7XHJcbmNvbnN0IGNhbmNlbENhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkNhbmNlbENhbGwsICcnKTtcclxubGV0IGNhbGxSZXNwb25zZXMgPSBuZXcgTWFwKCk7XHJcblxyXG4vKipcclxuICogR2VuZXJhdGVzIGEgdW5pcXVlIElEIHVzaW5nIHRoZSBuYW5vaWQgbGlicmFyeS5cclxuICpcclxuICogQHJldHVybiB7c3RyaW5nfSAtIEEgdW5pcXVlIElEIHRoYXQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGNhbGxSZXNwb25zZXMgc2V0LlxyXG4gKi9cclxuZnVuY3Rpb24gZ2VuZXJhdGVJRCgpIHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgcmVzdWx0ID0gbmFub2lkKCk7XHJcbiAgICB9IHdoaWxlIChjYWxsUmVzcG9uc2VzLmhhcyhyZXN1bHQpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIHRoZSByZXN1bHQgb2YgYSBjYWxsIHJlcXVlc3QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBpZCBvZiB0aGUgcmVxdWVzdCB0byBoYW5kbGUgdGhlIHJlc3VsdCBmb3IuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIHJlc3VsdCBkYXRhIG9mIHRoZSByZXF1ZXN0LlxyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzSlNPTiAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXRhIGlzIEpTT04gb3Igbm90LlxyXG4gKlxyXG4gKiBAcmV0dXJuIHt1bmRlZmluZWR9IC0gVGhpcyBtZXRob2QgZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZS5cclxuICovXHJcbmZ1bmN0aW9uIHJlc3VsdEhhbmRsZXIoaWQsIGRhdGEsIGlzSlNPTikge1xyXG4gICAgY29uc3QgcHJvbWlzZUhhbmRsZXIgPSBnZXRBbmREZWxldGVSZXNwb25zZShpZCk7XHJcbiAgICBpZiAocHJvbWlzZUhhbmRsZXIpIHtcclxuICAgICAgICBwcm9taXNlSGFuZGxlci5yZXNvbHZlKGlzSlNPTiA/IEpTT04ucGFyc2UoZGF0YSkgOiBkYXRhKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIGVycm9yIGZyb20gYSBjYWxsIHJlcXVlc3QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBpZCBvZiB0aGUgcHJvbWlzZSBoYW5kbGVyLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBoYW5kbGVyIHdpdGguXHJcbiAqXHJcbiAqIEByZXR1cm4ge3ZvaWR9XHJcbiAqL1xyXG5mdW5jdGlvbiBlcnJvckhhbmRsZXIoaWQsIG1lc3NhZ2UpIHtcclxuICAgIGNvbnN0IHByb21pc2VIYW5kbGVyID0gZ2V0QW5kRGVsZXRlUmVzcG9uc2UoaWQpO1xyXG4gICAgaWYgKHByb21pc2VIYW5kbGVyKSB7XHJcbiAgICAgICAgcHJvbWlzZUhhbmRsZXIucmVqZWN0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmV0cmlldmVzIGFuZCByZW1vdmVzIHRoZSByZXNwb25zZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIElEIGZyb20gdGhlIGNhbGxSZXNwb25zZXMgbWFwLlxyXG4gKlxyXG4gKiBAcGFyYW0ge2FueX0gaWQgLSBUaGUgSUQgb2YgdGhlIHJlc3BvbnNlIHRvIGJlIHJldHJpZXZlZCBhbmQgcmVtb3ZlZC5cclxuICpcclxuICogQHJldHVybnMge2FueX0gVGhlIHJlc3BvbnNlIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIElELlxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0QW5kRGVsZXRlUmVzcG9uc2UoaWQpIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gY2FsbFJlc3BvbnNlcy5nZXQoaWQpO1xyXG4gICAgY2FsbFJlc3BvbnNlcy5kZWxldGUoaWQpO1xyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogRXhlY3V0ZXMgYSBjYWxsIHVzaW5nIHRoZSBwcm92aWRlZCB0eXBlIGFuZCBvcHRpb25zLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IHR5cGUgLSBUaGUgdHlwZSBvZiBjYWxsIHRvIGV4ZWN1dGUuXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSBjYWxsLlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgcHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgb3IgcmVqZWN0ZWQgYmFzZWQgb24gdGhlIHJlc3VsdCBvZiB0aGUgY2FsbC4gSXQgYWxzbyBoYXMgYSBjYW5jZWwgbWV0aG9kIHRvIGNhbmNlbCBhIGxvbmcgcnVubmluZyByZXF1ZXN0LlxyXG4gKi9cclxuZnVuY3Rpb24gY2FsbEJpbmRpbmcodHlwZSwgb3B0aW9ucyA9IHt9KSB7XHJcbiAgICBjb25zdCBpZCA9IGdlbmVyYXRlSUQoKTtcclxuICAgIGNvbnN0IGRvQ2FuY2VsID0gKCkgPT4geyByZXR1cm4gY2FuY2VsQ2FsbCh0eXBlLCB7XCJjYWxsLWlkXCI6IGlkfSkgfTtcclxuICAgIGxldCBxdWV1ZWRDYW5jZWwgPSBmYWxzZSwgY2FsbFJ1bm5pbmcgPSBmYWxzZTtcclxuICAgIGxldCBwID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnNbXCJjYWxsLWlkXCJdID0gaWQ7XHJcbiAgICAgICAgY2FsbFJlc3BvbnNlcy5zZXQoaWQsIHsgcmVzb2x2ZSwgcmVqZWN0IH0pO1xyXG4gICAgICAgIGNhbGwodHlwZSwgb3B0aW9ucykuXHJcbiAgICAgICAgICAgIHRoZW4oKF8pID0+IHtcclxuICAgICAgICAgICAgICAgIGNhbGxSdW5uaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGlmIChxdWV1ZWRDYW5jZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9DYW5jZWwoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkuXHJcbiAgICAgICAgICAgIGNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgIGNhbGxSZXNwb25zZXMuZGVsZXRlKGlkKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHAuY2FuY2VsID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChjYWxsUnVubmluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gZG9DYW5jZWwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWV1ZWRDYW5jZWwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDYWxsIG1ldGhvZC5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIG1ldGhvZC5cclxuICogQHJldHVybnMge09iamVjdH0gLSBUaGUgcmVzdWx0IG9mIHRoZSBjYWxsLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENhbGwob3B0aW9ucykge1xyXG4gICAgcmV0dXJuIGNhbGxCaW5kaW5nKENhbGxCaW5kaW5nLCBvcHRpb25zKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEV4ZWN1dGVzIGEgbWV0aG9kIGJ5IG5hbWUuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCBpbiB0aGUgZm9ybWF0ICdwYWNrYWdlLnN0cnVjdC5tZXRob2QnLlxyXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC5cclxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBuYW1lIGlzIG5vdCBhIHN0cmluZyBvciBpcyBub3QgaW4gdGhlIGNvcnJlY3QgZm9ybWF0LlxyXG4gKiBAcmV0dXJucyB7Kn0gVGhlIHJlc3VsdCBvZiB0aGUgbWV0aG9kIGV4ZWN1dGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBCeU5hbWUobWV0aG9kTmFtZSwgLi4uYXJncykge1xyXG4gICAgcmV0dXJuIGNhbGxCaW5kaW5nKENhbGxCaW5kaW5nLCB7XHJcbiAgICAgICAgbWV0aG9kTmFtZSxcclxuICAgICAgICBhcmdzXHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIGEgbWV0aG9kIGJ5IGl0cyBJRCB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gbWV0aG9kSUQgLSBUaGUgSUQgb2YgdGhlIG1ldGhvZCB0byBjYWxsLlxyXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC5cclxuICogQHJldHVybiB7Kn0gLSBUaGUgcmVzdWx0IG9mIHRoZSBtZXRob2QgY2FsbC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBCeUlEKG1ldGhvZElELCAuLi5hcmdzKSB7XHJcbiAgICByZXR1cm4gY2FsbEJpbmRpbmcoQ2FsbEJpbmRpbmcsIHtcclxuICAgICAgICBtZXRob2RJRCxcclxuICAgICAgICBhcmdzXHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIGEgbWV0aG9kIG9uIGEgcGx1Z2luLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4uXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB0byBjYWxsLlxyXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC5cclxuICogQHJldHVybnMgeyp9IC0gVGhlIHJlc3VsdCBvZiB0aGUgbWV0aG9kIGNhbGwuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gUGx1Z2luKHBsdWdpbk5hbWUsIG1ldGhvZE5hbWUsIC4uLmFyZ3MpIHtcclxuICAgIHJldHVybiBjYWxsQmluZGluZyhDYWxsQmluZGluZywge1xyXG4gICAgICAgIHBhY2thZ2VOYW1lOiBcIndhaWxzLXBsdWdpbnNcIixcclxuICAgICAgICBzdHJ1Y3ROYW1lOiBwbHVnaW5OYW1lLFxyXG4gICAgICAgIG1ldGhvZE5hbWUsXHJcbiAgICAgICAgYXJnc1xyXG4gICAgfSk7XHJcbn1cclxuIiwgIi8qXHJcbiBfXHQgICBfX1x0ICBfIF9fXHJcbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cclxuXHJcbmltcG9ydCB7bmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXN9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkNsaXBib2FyZCwgJycpO1xyXG5jb25zdCBDbGlwYm9hcmRTZXRUZXh0ID0gMDtcclxuY29uc3QgQ2xpcGJvYXJkVGV4dCA9IDE7XHJcblxyXG4vKipcclxuICogU2V0cyB0aGUgdGV4dCB0byB0aGUgQ2xpcGJvYXJkLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHNldCB0byB0aGUgQ2xpcGJvYXJkLlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFNldFRleHQodGV4dCkge1xyXG4gICAgcmV0dXJuIGNhbGwoQ2xpcGJvYXJkU2V0VGV4dCwge3RleHR9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgQ2xpcGJvYXJkIHRleHRcclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdGV4dCBmcm9tIHRoZSBDbGlwYm9hcmQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gVGV4dCgpIHtcclxuICAgIHJldHVybiBjYWxsKENsaXBib2FyZFRleHQpO1xyXG59XHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcblxyXG4vKipcclxuICogQW55IGlzIGEgZHVtbXkgY3JlYXRpb24gZnVuY3Rpb24gZm9yIHNpbXBsZSBvciB1bmtub3duIHR5cGVzLlxyXG4gKiBAdGVtcGxhdGUgVFxyXG4gKiBAcGFyYW0ge2FueX0gc291cmNlXHJcbiAqIEByZXR1cm5zIHtUfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEFueShzb3VyY2UpIHtcclxuICAgIHJldHVybiAvKiogQHR5cGUge1R9ICovKHNvdXJjZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCeXRlU2xpY2UgaXMgYSBjcmVhdGlvbiBmdW5jdGlvbiB0aGF0IHJlcGxhY2VzXHJcbiAqIG51bGwgc3RyaW5ncyB3aXRoIGVtcHR5IHN0cmluZ3MuXHJcbiAqIEBwYXJhbSB7YW55fSBzb3VyY2VcclxuICogQHJldHVybnMge3N0cmluZ31cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBCeXRlU2xpY2Uoc291cmNlKSB7XHJcbiAgICByZXR1cm4gLyoqIEB0eXBlIHthbnl9ICovKChzb3VyY2UgPT0gbnVsbCkgPyBcIlwiIDogc291cmNlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFycmF5IHRha2VzIGEgY3JlYXRpb24gZnVuY3Rpb24gZm9yIGFuIGFyYml0cmFyeSB0eXBlXHJcbiAqIGFuZCByZXR1cm5zIGFuIGluLXBsYWNlIGNyZWF0aW9uIGZ1bmN0aW9uIGZvciBhbiBhcnJheVxyXG4gKiB3aG9zZSBlbGVtZW50cyBhcmUgb2YgdGhhdCB0eXBlLlxyXG4gKiBAdGVtcGxhdGUgVFxyXG4gKiBAcGFyYW0geyhzb3VyY2U6IGFueSkgPT4gVH0gZWxlbWVudFxyXG4gKiBAcmV0dXJucyB7KHNvdXJjZTogYW55KSA9PiBUW119XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQXJyYXkoZWxlbWVudCkge1xyXG4gICAgaWYgKGVsZW1lbnQgPT09IEFueSkge1xyXG4gICAgICAgIHJldHVybiAoc291cmNlKSA9PiAoc291cmNlID09PSBudWxsID8gW10gOiBzb3VyY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoc291cmNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHNvdXJjZSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHNvdXJjZVtpXSA9IGVsZW1lbnQoc291cmNlW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNYXAgdGFrZXMgY3JlYXRpb24gZnVuY3Rpb25zIGZvciB0d28gYXJiaXRyYXJ5IHR5cGVzXHJcbiAqIGFuZCByZXR1cm5zIGFuIGluLXBsYWNlIGNyZWF0aW9uIGZ1bmN0aW9uIGZvciBhbiBvYmplY3RcclxuICogd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSBvZiB0aG9zZSB0eXBlcy5cclxuICogQHRlbXBsYXRlIEssIFZcclxuICogQHBhcmFtIHsoc291cmNlOiBhbnkpID0+IEt9IGtleVxyXG4gKiBAcGFyYW0geyhzb3VyY2U6IGFueSkgPT4gVn0gdmFsdWVcclxuICogQHJldHVybnMgeyhzb3VyY2U6IGFueSkgPT4geyBbXzogS106IFYgfX1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBNYXAoa2V5LCB2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlID09PSBBbnkpIHtcclxuICAgICAgICByZXR1cm4gKHNvdXJjZSkgPT4gKHNvdXJjZSA9PT0gbnVsbCA/IHt9IDogc291cmNlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKHNvdXJjZSkgPT4ge1xyXG4gICAgICAgIGlmIChzb3VyY2UgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgc291cmNlW2tleV0gPSB2YWx1ZShzb3VyY2Vba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzb3VyY2U7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogTnVsbGFibGUgdGFrZXMgYSBjcmVhdGlvbiBmdW5jdGlvbiBmb3IgYW4gYXJiaXRyYXJ5IHR5cGVcclxuICogYW5kIHJldHVybnMgYSBjcmVhdGlvbiBmdW5jdGlvbiBmb3IgYSBudWxsYWJsZSB2YWx1ZSBvZiB0aGF0IHR5cGUuXHJcbiAqIEB0ZW1wbGF0ZSBUXHJcbiAqIEBwYXJhbSB7KHNvdXJjZTogYW55KSA9PiBUfSBlbGVtZW50XHJcbiAqIEByZXR1cm5zIHsoc291cmNlOiBhbnkpID0+IChUIHwgbnVsbCl9XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gTnVsbGFibGUoZWxlbWVudCkge1xyXG4gICAgaWYgKGVsZW1lbnQgPT09IEFueSkge1xyXG4gICAgICAgIHJldHVybiBBbnk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChzb3VyY2UpID0+IChzb3VyY2UgPT09IG51bGwgPyBudWxsIDogZWxlbWVudChzb3VyY2UpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFN0cnVjdCB0YWtlcyBhbiBvYmplY3QgbWFwcGluZyBmaWVsZCBuYW1lcyB0byBjcmVhdGlvbiBmdW5jdGlvbnNcclxuICogYW5kIHJldHVybnMgYW4gaW4tcGxhY2UgY3JlYXRpb24gZnVuY3Rpb24gZm9yIGEgc3RydWN0LlxyXG4gKiBAdGVtcGxhdGUge3sgW186IHN0cmluZ106ICgoc291cmNlOiBhbnkpID0+IGFueSkgfX0gVFxyXG4gKiBAdGVtcGxhdGUge3sgW0tleSBpbiBrZXlvZiBUXT86IFJldHVyblR5cGU8VFtLZXldPiB9fSBVXHJcbiAqIEBwYXJhbSB7VH0gY3JlYXRlRmllbGRcclxuICogQHJldHVybnMgeyhzb3VyY2U6IGFueSkgPT4gVX1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBTdHJ1Y3QoY3JlYXRlRmllbGQpIHtcclxuICAgIGxldCBhbGxBbnkgPSB0cnVlO1xyXG4gICAgZm9yIChjb25zdCBuYW1lIGluIGNyZWF0ZUZpZWxkKSB7XHJcbiAgICAgICAgaWYgKGNyZWF0ZUZpZWxkW25hbWVdICE9PSBBbnkpIHtcclxuICAgICAgICAgICAgYWxsQW55ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChhbGxBbnkpIHtcclxuICAgICAgICByZXR1cm4gQW55O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoc291cmNlKSA9PiB7XHJcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNyZWF0ZUZpZWxkKSB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lIGluIHNvdXJjZSkge1xyXG4gICAgICAgICAgICAgICAgc291cmNlW25hbWVdID0gY3JlYXRlRmllbGRbbmFtZV0oc291cmNlW25hbWVdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgfTtcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpemVcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFdpZHRoIC0gVGhlIHdpZHRoLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gSGVpZ2h0IC0gVGhlIGhlaWdodC5cclxuICovXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gUmVjdFxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gWCAtIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIG9yaWdpbi5cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFkgLSBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBvcmlnaW4uXHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBXaWR0aCAtIFRoZSB3aWR0aCBvZiB0aGUgcmVjdGFuZ2xlLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gSGVpZ2h0IC0gVGhlIGhlaWdodCBvZiB0aGUgcmVjdGFuZ2xlLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTY3JlZW5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IElEIC0gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBzY3JlZW4uXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBOYW1lIC0gSHVtYW4gcmVhZGFibGUgbmFtZSBvZiB0aGUgc2NyZWVuLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gU2NhbGVGYWN0b3IgLSBUaGUgc2NhbGUgZmFjdG9yIG9mIHRoZSBzY3JlZW4gKERQSS85NikuIDEgPSBzdGFuZGFyZCBEUEksIDIgPSBIaURQSSAoUmV0aW5hKSwgZXRjLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gWCAtIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIHNjcmVlbi5cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFkgLSBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBzY3JlZW4uXHJcbiAqIEBwcm9wZXJ0eSB7U2l6ZX0gU2l6ZSAtIENvbnRhaW5zIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBzY3JlZW4uXHJcbiAqIEBwcm9wZXJ0eSB7UmVjdH0gQm91bmRzIC0gQ29udGFpbnMgdGhlIGJvdW5kcyBvZiB0aGUgc2NyZWVuIGluIHRlcm1zIG9mIFgsIFksIFdpZHRoLCBhbmQgSGVpZ2h0LlxyXG4gKiBAcHJvcGVydHkge1JlY3R9IFBoeXNpY2FsQm91bmRzIC0gQ29udGFpbnMgdGhlIHBoeXNpY2FsIGJvdW5kcyBvZiB0aGUgc2NyZWVuIGluIHRlcm1zIG9mIFgsIFksIFdpZHRoLCBhbmQgSGVpZ2h0IChiZWZvcmUgc2NhbGluZykuXHJcbiAqIEBwcm9wZXJ0eSB7UmVjdH0gV29ya0FyZWEgLSBDb250YWlucyB0aGUgYXJlYSBvZiB0aGUgc2NyZWVuIHRoYXQgaXMgYWN0dWFsbHkgdXNhYmxlIChleGNsdWRpbmcgdGFza2JhciBhbmQgb3RoZXIgc3lzdGVtIFVJKS5cclxuICogQHByb3BlcnR5IHtSZWN0fSBQaHlzaWNhbFdvcmtBcmVhIC0gQ29udGFpbnMgdGhlIHBoeXNpY2FsIFdvcmtBcmVhIG9mIHRoZSBzY3JlZW4gKGJlZm9yZSBzY2FsaW5nKS5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBJc1ByaW1hcnkgLSBUcnVlIGlmIHRoaXMgaXMgdGhlIHByaW1hcnkgbW9uaXRvciBzZWxlY3RlZCBieSB0aGUgdXNlciBpbiB0aGUgb3BlcmF0aW5nIHN5c3RlbS5cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFJvdGF0aW9uIC0gVGhlIHJvdGF0aW9uIG9mIHRoZSBzY3JlZW4uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgbmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXMgfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLlNjcmVlbnMsIFwiXCIpO1xyXG5cclxuY29uc3QgZ2V0QWxsID0gMDtcclxuY29uc3QgZ2V0UHJpbWFyeSA9IDE7XHJcbmNvbnN0IGdldEN1cnJlbnQgPSAyO1xyXG5cclxuLyoqXHJcbiAqIEdldHMgYWxsIHNjcmVlbnMuXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNjcmVlbltdPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgU2NyZWVuIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gR2V0QWxsKCkge1xyXG4gICAgcmV0dXJuIGNhbGwoZ2V0QWxsKTtcclxufVxyXG4vKipcclxuICogR2V0cyB0aGUgcHJpbWFyeSBzY3JlZW4uXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNjcmVlbj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBwcmltYXJ5IHNjcmVlbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBHZXRQcmltYXJ5KCkge1xyXG4gICAgcmV0dXJuIGNhbGwoZ2V0UHJpbWFyeSk7XHJcbn1cclxuLyoqXHJcbiAqIEdldHMgdGhlIGN1cnJlbnQgYWN0aXZlIHNjcmVlbi5cclxuICpcclxuICogQHJldHVybnMge1Byb21pc2U8U2NyZWVuPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY3VycmVudCBhY3RpdmUgc2NyZWVuLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEdldEN1cnJlbnQoKSB7XHJcbiAgICByZXR1cm4gY2FsbChnZXRDdXJyZW50KTtcclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBO0FBQUE7QUFBQTtBQUFBOzs7QUM2QkEsSUFBSSxjQUNBO0FBRUcsSUFBSSxTQUFTLENBQUMsT0FBTyxPQUFPO0FBQy9CLE1BQUksS0FBSztBQUVULE1BQUksSUFBSSxPQUFPO0FBQ2YsU0FBTyxLQUFLO0FBRVIsVUFBTSxZQUFhLEtBQUssT0FBTyxJQUFJLEtBQU0sQ0FBQztBQUFBLEVBQzlDO0FBQ0EsU0FBTztBQUNYOzs7QUM1QkEsSUFBTSxhQUFhLE9BQU8sU0FBUyxTQUFTO0FBR3JDLElBQU0sY0FBYztBQUFBLEVBQ3ZCLE1BQU07QUFBQSxFQUNO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QXVCLFlBQVksU0FBUyxFQUFFO0FBRTNELElBQU0sU0FBUztBQUNmLElBQU0sYUFBYTtBQUNuQixJQUFNLGFBQWE7QUFNWixTQUFTLFNBQVM7QUFDckIsU0FBT0EsTUFBSyxNQUFNO0FBQ3RCO0FBS08sU0FBUyxhQUFhO0FBQ3pCLFNBQU9BLE1BQUssVUFBVTtBQUMxQjtBQU1PLFNBQVMsYUFBYTtBQUN6QixTQUFPQSxNQUFLLFVBQVU7QUFDMUI7OztBbkIzREEsT0FBTyxTQUFTLE9BQU8sVUFBVSxDQUFDO0FBa0NsQyxJQUFJLGNBQWM7QUFDWCxTQUFTLE9BQU87QUFDbkIsU0FBTyxPQUFPLFNBQWdCO0FBQzlCLEVBQU8sT0FBTyxxQkFBcUI7QUFDbkMsZ0JBQWM7QUFDbEI7QUFFQSxPQUFPLGlCQUFpQixRQUFRLE1BQU07QUFDbEMsTUFBSSxDQUFDLGFBQWE7QUFDZCxTQUFLO0FBQUEsRUFDVDtBQUNKLENBQUM7IiwKICAibmFtZXMiOiBbIkVycm9yIiwgImNhbGwiLCAiRXJyb3IiLCAiY2FsbCIsICJldmVudE5hbWUiLCAiY29udHJvbGxlciIsICJyZXNpemFibGUiLCAiY2FsbCIsICJjYWxsIiwgImNhbGwiLCAiSGlkZU1ldGhvZCIsICJTaG93TWV0aG9kIiwgImNhbGwiLCAiZ2VuZXJhdGVJRCIsICJjYWxsIiwgIk1hcCIsICJNYXAiLCAia2V5IiwgImNhbGwiXQp9Cg== +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2luZGV4LmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy93bWwuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2Jyb3dzZXIuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL25hbm9pZC5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvcnVudGltZS5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvZGlhbG9ncy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvZXZlbnRzLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9ldmVudF90eXBlcy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvdXRpbHMuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL3dpbmRvdy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvY29tcGlsZWQvbWFpbi5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvc3lzdGVtLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9jb250ZXh0bWVudS5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvZmxhZ3MuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2RyYWcuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL2FwcGxpY2F0aW9uLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9jYWxscy5qcyIsICIuLi8uLi9ydW50aW1lL2Rlc2t0b3AvQHdhaWxzaW8vcnVudGltZS9zcmMvY2xpcGJvYXJkLmpzIiwgIi4uLy4uL3J1bnRpbWUvZGVza3RvcC9Ad2FpbHNpby9ydW50aW1lL3NyYy9jcmVhdGUuanMiLCAiLi4vLi4vcnVudGltZS9kZXNrdG9wL0B3YWlsc2lvL3J1bnRpbWUvc3JjL3NjcmVlbnMuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qXHJcbiBfXHQgICBfX1x0ICBfIF9fXHJcbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbi8vIFNldHVwXHJcbndpbmRvdy5fd2FpbHMgPSB3aW5kb3cuX3dhaWxzIHx8IHt9O1xyXG5cclxuaW1wb3J0IFwiLi9jb250ZXh0bWVudVwiO1xyXG5pbXBvcnQgXCIuL2RyYWdcIjtcclxuXHJcbi8vIFJlLWV4cG9ydCBwdWJsaWMgQVBJXHJcbmltcG9ydCAqIGFzIEFwcGxpY2F0aW9uIGZyb20gXCIuL2FwcGxpY2F0aW9uXCI7XHJcbmltcG9ydCAqIGFzIEJyb3dzZXIgZnJvbSBcIi4vYnJvd3NlclwiO1xyXG5pbXBvcnQgKiBhcyBDYWxsIGZyb20gXCIuL2NhbGxzXCI7XHJcbmltcG9ydCAqIGFzIENsaXBib2FyZCBmcm9tIFwiLi9jbGlwYm9hcmRcIjtcclxuaW1wb3J0ICogYXMgQ3JlYXRlIGZyb20gXCIuL2NyZWF0ZVwiO1xyXG5pbXBvcnQgKiBhcyBEaWFsb2dzIGZyb20gXCIuL2RpYWxvZ3NcIjtcclxuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xyXG5pbXBvcnQgKiBhcyBGbGFncyBmcm9tIFwiLi9mbGFnc1wiO1xyXG5pbXBvcnQgKiBhcyBTY3JlZW5zIGZyb20gXCIuL3NjcmVlbnNcIjtcclxuaW1wb3J0ICogYXMgU3lzdGVtIGZyb20gXCIuL3N5c3RlbVwiO1xyXG5pbXBvcnQgV2luZG93IGZyb20gXCIuL3dpbmRvd1wiO1xyXG5pbXBvcnQgKiBhcyBXTUwgZnJvbSBcIi4vd21sXCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgQXBwbGljYXRpb24sXHJcbiAgICBCcm93c2VyLFxyXG4gICAgQ2FsbCxcclxuICAgIENsaXBib2FyZCxcclxuICAgIENyZWF0ZSxcclxuICAgIERpYWxvZ3MsXHJcbiAgICBFdmVudHMsXHJcbiAgICBGbGFncyxcclxuICAgIFNjcmVlbnMsXHJcbiAgICBTeXN0ZW0sXHJcbiAgICBXaW5kb3csXHJcbiAgICBXTUxcclxufTtcclxuXHJcbmxldCBpbml0aWFsaXNlZCA9IGZhbHNlO1xyXG5leHBvcnQgZnVuY3Rpb24gaW5pdCgpIHtcclxuICAgIHdpbmRvdy5fd2FpbHMuaW52b2tlID0gU3lzdGVtLmludm9rZTtcclxuICAgIFN5c3RlbS5pbnZva2UoXCJ3YWlsczpydW50aW1lOnJlYWR5XCIpO1xyXG4gICAgaW5pdGlhbGlzZWQgPSB0cnVlO1xyXG59XHJcblxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xyXG4gICAgaWYgKCFpbml0aWFsaXNlZCkge1xyXG4gICAgICAgIGluaXQoKTtcclxuICAgIH1cclxufSk7XHJcblxyXG4vLyBOb3RpZnkgYmFja2VuZFxyXG5cclxuIiwgIi8qXHJcbiBfICAgICBfXyAgICAgXyBfX1xyXG58IHwgIC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbmltcG9ydCB7T3BlblVSTH0gZnJvbSBcIi4vYnJvd3NlclwiO1xyXG5pbXBvcnQge1F1ZXN0aW9ufSBmcm9tIFwiLi9kaWFsb2dzXCI7XHJcbmltcG9ydCB7RW1pdCwgV2FpbHNFdmVudH0gZnJvbSBcIi4vZXZlbnRzXCI7XHJcbmltcG9ydCB7Y2FuQWJvcnRMaXN0ZW5lcnMsIHdoZW5SZWFkeX0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IFdpbmRvdyBmcm9tIFwiLi93aW5kb3dcIjtcclxuXHJcbi8qKlxyXG4gKiBTZW5kcyBhbiBldmVudCB3aXRoIHRoZSBnaXZlbiBuYW1lIGFuZCBvcHRpb25hbCBkYXRhLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIHNlbmQuXHJcbiAqIEBwYXJhbSB7YW55fSBbZGF0YT1udWxsXSAtIE9wdGlvbmFsIGRhdGEgdG8gc2VuZCBhbG9uZyB3aXRoIHRoZSBldmVudC5cclxuICpcclxuICogQHJldHVybiB7dm9pZH1cclxuICovXHJcbmZ1bmN0aW9uIHNlbmRFdmVudChldmVudE5hbWUsIGRhdGE9bnVsbCkge1xyXG4gICAgRW1pdChuZXcgV2FpbHNFdmVudChldmVudE5hbWUsIGRhdGEpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIGEgbWV0aG9kIG9uIGEgc3BlY2lmaWVkIHdpbmRvdy5cclxuICogQHBhcmFtIHtzdHJpbmd9IHdpbmRvd05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2luZG93IHRvIGNhbGwgdGhlIG1ldGhvZCBvbi5cclxuICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbWV0aG9kIHRvIGNhbGwuXHJcbiAqL1xyXG5mdW5jdGlvbiBjYWxsV2luZG93TWV0aG9kKHdpbmRvd05hbWUsIG1ldGhvZE5hbWUpIHtcclxuICAgIGNvbnN0IHRhcmdldFdpbmRvdyA9IFdpbmRvdy5HZXQod2luZG93TmFtZSk7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0YXJnZXRXaW5kb3dbbWV0aG9kTmFtZV07XHJcblxyXG4gICAgaWYgKHR5cGVvZiBtZXRob2QgIT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFdpbmRvdyBtZXRob2QgJyR7bWV0aG9kTmFtZX0nIG5vdCBmb3VuZGApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICAgIG1ldGhvZC5jYWxsKHRhcmdldFdpbmRvdyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgY2FsbGluZyB3aW5kb3cgbWV0aG9kICcke21ldGhvZE5hbWV9JzogYCwgZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNwb25kcyB0byBhIHRyaWdnZXJpbmcgZXZlbnQgYnkgcnVubmluZyBhcHByb3ByaWF0ZSBXTUwgYWN0aW9ucyBmb3IgdGhlIGN1cnJlbnQgdGFyZ2V0XHJcbiAqXHJcbiAqIEBwYXJhbSB7RXZlbnR9IGV2XHJcbiAqIEByZXR1cm4ge3ZvaWR9XHJcbiAqL1xyXG5mdW5jdGlvbiBvbldNTFRyaWdnZXJlZChldikge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2LmN1cnJlbnRUYXJnZXQ7XHJcblxyXG4gICAgZnVuY3Rpb24gcnVuRWZmZWN0KGNob2ljZSA9IFwiWWVzXCIpIHtcclxuICAgICAgICBpZiAoY2hvaWNlICE9PSBcIlllc1wiKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGV2ZW50VHlwZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXdtbC1ldmVudCcpO1xyXG4gICAgICAgIGNvbnN0IHRhcmdldFdpbmRvdyA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXdtbC10YXJnZXQtd2luZG93JykgfHwgXCJcIjtcclxuICAgICAgICBjb25zdCB3aW5kb3dNZXRob2QgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS13bWwtd2luZG93Jyk7XHJcbiAgICAgICAgY29uc3QgdXJsID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtd21sLW9wZW5VUkwnKTtcclxuXHJcbiAgICAgICAgaWYgKGV2ZW50VHlwZSAhPT0gbnVsbClcclxuICAgICAgICAgICAgc2VuZEV2ZW50KGV2ZW50VHlwZSk7XHJcbiAgICAgICAgaWYgKHdpbmRvd01ldGhvZCAhPT0gbnVsbClcclxuICAgICAgICAgICAgY2FsbFdpbmRvd01ldGhvZCh0YXJnZXRXaW5kb3csIHdpbmRvd01ldGhvZCk7XHJcbiAgICAgICAgaWYgKHVybCAhPT0gbnVsbClcclxuICAgICAgICAgICAgdm9pZCBPcGVuVVJMKHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29uZmlybSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXdtbC1jb25maXJtJyk7XHJcblxyXG4gICAgaWYgKGNvbmZpcm0pIHtcclxuICAgICAgICBRdWVzdGlvbih7XHJcbiAgICAgICAgICAgIFRpdGxlOiBcIkNvbmZpcm1cIixcclxuICAgICAgICAgICAgTWVzc2FnZTogY29uZmlybSxcclxuICAgICAgICAgICAgRGV0YWNoZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBCdXR0b25zOiBbXHJcbiAgICAgICAgICAgICAgICB7IExhYmVsOiBcIlllc1wiIH0sXHJcbiAgICAgICAgICAgICAgICB7IExhYmVsOiBcIk5vXCIsIElzRGVmYXVsdDogdHJ1ZSB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9KS50aGVuKHJ1bkVmZmVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJ1bkVmZmVjdCgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHR5cGUge3N5bWJvbH1cclxuICovXHJcbmNvbnN0IGNvbnRyb2xsZXIgPSBTeW1ib2woKTtcclxuXHJcbi8qKlxyXG4gKiBBYm9ydENvbnRyb2xsZXJSZWdpc3RyeSBkb2VzIG5vdCBhY3R1YWxseSByZW1lbWJlciBhY3RpdmUgZXZlbnQgbGlzdGVuZXJzOiBpbnN0ZWFkXHJcbiAqIGl0IHRpZXMgdGhlbSB0byBhbiBBYm9ydFNpZ25hbCBhbmQgdXNlcyBhbiBBYm9ydENvbnRyb2xsZXIgdG8gcmVtb3ZlIHRoZW0gYWxsIGF0IG9uY2UuXHJcbiAqL1xyXG5jbGFzcyBBYm9ydENvbnRyb2xsZXJSZWdpc3RyeSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBTdG9yZXMgdGhlIEFib3J0Q29udHJvbGxlciB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlbW92ZSBhbGwgY3VycmVudGx5IGFjdGl2ZSBsaXN0ZW5lcnMuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICAgICAqIEBuYW1lIHtAbGluayBjb250cm9sbGVyfVxyXG4gICAgICAgICAqIEBtZW1iZXIge0Fib3J0Q29udHJvbGxlcn1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzW2NvbnRyb2xsZXJdID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhbiBvcHRpb25zIG9iamVjdCBmb3IgYWRkRXZlbnRMaXN0ZW5lciB0aGF0IHRpZXMgdGhlIGxpc3RlbmVyXHJcbiAgICAgKiB0byB0aGUgQWJvcnRTaWduYWwgZnJvbSB0aGUgY3VycmVudCBBYm9ydENvbnRyb2xsZXIuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCBBbiBIVE1MIGVsZW1lbnRcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHRyaWdnZXJzIFRoZSBsaXN0IG9mIGFjdGl2ZSBXTUwgdHJpZ2dlciBldmVudHMgZm9yIHRoZSBzcGVjaWZpZWQgZWxlbWVudHNcclxuICAgICAqIEByZXR1cm5zIHtBZGRFdmVudExpc3RlbmVyT3B0aW9uc31cclxuICAgICAqL1xyXG4gICAgc2V0KGVsZW1lbnQsIHRyaWdnZXJzKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgc2lnbmFsOiB0aGlzW2NvbnRyb2xsZXJdLnNpZ25hbCB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBhbGwgcmVnaXN0ZXJlZCBldmVudCBsaXN0ZW5lcnMuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgKi9cclxuICAgIHJlc2V0KCkge1xyXG4gICAgICAgIHRoaXNbY29udHJvbGxlcl0uYWJvcnQoKTtcclxuICAgICAgICB0aGlzW2NvbnRyb2xsZXJdID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHR5cGUge3N5bWJvbH1cclxuICovXHJcbmNvbnN0IHRyaWdnZXJNYXAgPSBTeW1ib2woKTtcclxuXHJcbi8qKlxyXG4gKiBAdHlwZSB7c3ltYm9sfVxyXG4gKi9cclxuY29uc3QgZWxlbWVudENvdW50ID0gU3ltYm9sKCk7XHJcblxyXG4vKipcclxuICogV2Vha01hcFJlZ2lzdHJ5IG1hcHMgYWN0aXZlIHRyaWdnZXIgZXZlbnRzIHRvIGVhY2ggRE9NIGVsZW1lbnQgdGhyb3VnaCBhIFdlYWtNYXAuXHJcbiAqIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBtYXBwaW5nIHJlbWFpbnMgcHJpdmF0ZSB0byB0aGlzIG1vZHVsZSwgd2hpbGUgc3RpbGwgYWxsb3dpbmcgZ2FyYmFnZVxyXG4gKiBjb2xsZWN0aW9uIG9mIHRoZSBpbnZvbHZlZCBlbGVtZW50cy5cclxuICovXHJcbmNsYXNzIFdlYWtNYXBSZWdpc3RyeSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBTdG9yZXMgdGhlIGN1cnJlbnQgZWxlbWVudC10by10cmlnZ2VyIG1hcHBpbmcuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICAgICAqIEBuYW1lIHtAbGluayB0cmlnZ2VyTWFwfVxyXG4gICAgICAgICAqIEBtZW1iZXIge1dlYWtNYXA8SFRNTEVsZW1lbnQsIHN0cmluZ1tdPn1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzW3RyaWdnZXJNYXBdID0gbmV3IFdlYWtNYXAoKTtcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQ291bnRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgd2l0aCBhY3RpdmUgV01MIHRyaWdnZXJzLlxyXG4gICAgICAgICAqXHJcbiAgICAgICAgICogQHByaXZhdGVcclxuICAgICAgICAgKiBAbmFtZSB7QGxpbmsgZWxlbWVudENvdW50fVxyXG4gICAgICAgICAqIEBtZW1iZXIge251bWJlcn1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzW2VsZW1lbnRDb3VudF0gPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYWN0aXZlIHRyaWdnZXJzIGZvciB0aGUgc3BlY2lmaWVkIGVsZW1lbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCBBbiBIVE1MIGVsZW1lbnRcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHRyaWdnZXJzIFRoZSBsaXN0IG9mIGFjdGl2ZSBXTUwgdHJpZ2dlciBldmVudHMgZm9yIHRoZSBzcGVjaWZpZWQgZWxlbWVudFxyXG4gICAgICogQHJldHVybnMge0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zfVxyXG4gICAgICovXHJcbiAgICBzZXQoZWxlbWVudCwgdHJpZ2dlcnMpIHtcclxuICAgICAgICB0aGlzW2VsZW1lbnRDb3VudF0gKz0gIXRoaXNbdHJpZ2dlck1hcF0uaGFzKGVsZW1lbnQpO1xyXG4gICAgICAgIHRoaXNbdHJpZ2dlck1hcF0uc2V0KGVsZW1lbnQsIHRyaWdnZXJzKTtcclxuICAgICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGFsbCByZWdpc3RlcmVkIGV2ZW50IGxpc3RlbmVycy5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAqL1xyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXNbZWxlbWVudENvdW50XSA8PSAwKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoJyonKSkge1xyXG4gICAgICAgICAgICBpZiAodGhpc1tlbGVtZW50Q291bnRdIDw9IDApXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJzID0gdGhpc1t0cmlnZ2VyTWFwXS5nZXQoZWxlbWVudCk7XHJcbiAgICAgICAgICAgIHRoaXNbZWxlbWVudENvdW50XSAtPSAodHlwZW9mIHRyaWdnZXJzICE9PSBcInVuZGVmaW5lZFwiKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyB8fCBbXSlcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0cmlnZ2VyLCBvbldNTFRyaWdnZXJlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzW3RyaWdnZXJNYXBdID0gbmV3IFdlYWtNYXAoKTtcclxuICAgICAgICB0aGlzW2VsZW1lbnRDb3VudF0gPSAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5jb25zdCB0cmlnZ2VyUmVnaXN0cnkgPSBjYW5BYm9ydExpc3RlbmVycygpID8gbmV3IEFib3J0Q29udHJvbGxlclJlZ2lzdHJ5KCkgOiBuZXcgV2Vha01hcFJlZ2lzdHJ5KCk7XHJcblxyXG4vKipcclxuICogQWRkcyBldmVudCBsaXN0ZW5lcnMgdG8gdGhlIHNwZWNpZmllZCBlbGVtZW50LlxyXG4gKlxyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50XHJcbiAqIEByZXR1cm4ge3ZvaWR9XHJcbiAqL1xyXG5mdW5jdGlvbiBhZGRXTUxMaXN0ZW5lcnMoZWxlbWVudCkge1xyXG4gICAgY29uc3QgdHJpZ2dlclJlZ0V4cCA9IC9cXFMrL2c7XHJcbiAgICBjb25zdCB0cmlnZ2VyQXR0ciA9IChlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS13bWwtdHJpZ2dlcicpIHx8IFwiY2xpY2tcIik7XHJcbiAgICBjb25zdCB0cmlnZ2VycyA9IFtdO1xyXG5cclxuICAgIGxldCBtYXRjaDtcclxuICAgIHdoaWxlICgobWF0Y2ggPSB0cmlnZ2VyUmVnRXhwLmV4ZWModHJpZ2dlckF0dHIpKSAhPT0gbnVsbClcclxuICAgICAgICB0cmlnZ2Vycy5wdXNoKG1hdGNoWzBdKTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0gdHJpZ2dlclJlZ2lzdHJ5LnNldChlbGVtZW50LCB0cmlnZ2Vycyk7XHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMpXHJcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRyaWdnZXIsIG9uV01MVHJpZ2dlcmVkLCBvcHRpb25zKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNjaGVkdWxlcyBhbiBhdXRvbWF0aWMgcmVsb2FkIG9mIFdNTCB0byBiZSBwZXJmb3JtZWQgYXMgc29vbiBhcyB0aGUgZG9jdW1lbnQgaXMgZnVsbHkgbG9hZGVkLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEVuYWJsZSgpIHtcclxuICAgIHdoZW5SZWFkeShSZWxvYWQpO1xyXG59XHJcblxyXG4vKipcclxuICogUmVsb2FkcyB0aGUgV01MIHBhZ2UgYnkgYWRkaW5nIG5lY2Vzc2FyeSBldmVudCBsaXN0ZW5lcnMgYW5kIGJyb3dzZXIgbGlzdGVuZXJzLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFJlbG9hZCgpIHtcclxuICAgIHRyaWdnZXJSZWdpc3RyeS5yZXNldCgpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS13bWwtZXZlbnRdLCBbZGF0YS13bWwtd2luZG93XSwgW2RhdGEtd21sLW9wZW5VUkxdJykuZm9yRWFjaChhZGRXTUxMaXN0ZW5lcnMpO1xyXG59XHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcbmltcG9ydCB7bmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXN9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkJyb3dzZXIsICcnKTtcclxuY29uc3QgQnJvd3Nlck9wZW5VUkwgPSAwO1xyXG5cclxuLyoqXHJcbiAqIE9wZW4gYSBicm93c2VyIHdpbmRvdyB0byB0aGUgZ2l2ZW4gVVJMXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBUaGUgVVJMIHRvIG9wZW5cclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPcGVuVVJMKHVybCkge1xyXG4gICAgcmV0dXJuIGNhbGwoQnJvd3Nlck9wZW5VUkwsIHt1cmx9KTtcclxufVxyXG4iLCAiLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vYWkvbmFub2lkXG5cbi8vIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuLy9cbi8vIENvcHlyaWdodCAyMDE3IEFuZHJleSBTaXRuaWsgPGFuZHJleUBzaXRuaWsucnU+XG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZlxuLy8gdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpblxuLy8gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0b1xuLy8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Zcbi8vIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbyxcbi8vICAgICBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyAgICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4vLyBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vICAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTU1xuLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SXG4vLyBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVJcbi8vIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOXG4vLyBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBUaGlzIGFscGhhYmV0IHVzZXMgYEEtWmEtejAtOV8tYCBzeW1ib2xzLlxuLy8gVGhlIG9yZGVyIG9mIGNoYXJhY3RlcnMgaXMgb3B0aW1pemVkIGZvciBiZXR0ZXIgZ3ppcCBhbmQgYnJvdGxpIGNvbXByZXNzaW9uLlxuLy8gUmVmZXJlbmNlcyB0byB0aGUgc2FtZSBmaWxlICh3b3JrcyBib3RoIGZvciBnemlwIGFuZCBicm90bGkpOlxuLy8gYCd1c2VgLCBgYW5kb21gLCBhbmQgYHJpY3QnYFxuLy8gUmVmZXJlbmNlcyB0byB0aGUgYnJvdGxpIGRlZmF1bHQgZGljdGlvbmFyeTpcbi8vIGAtMjZUYCwgYDE5ODNgLCBgNDBweGAsIGA3NXB4YCwgYGJ1c2hgLCBgamFja2AsIGBtaW5kYCwgYHZlcnlgLCBhbmQgYHdvbGZgXG5sZXQgdXJsQWxwaGFiZXQgPVxuICAgICd1c2VhbmRvbS0yNlQxOTgzNDBQWDc1cHhKQUNLVkVSWU1JTkRCVVNIV09MRl9HUVpiZmdoamtscXZ3eXpyaWN0J1xuXG5leHBvcnQgbGV0IG5hbm9pZCA9IChzaXplID0gMjEpID0+IHtcbiAgICBsZXQgaWQgPSAnJ1xuICAgIC8vIEEgY29tcGFjdCBhbHRlcm5hdGl2ZSBmb3IgYGZvciAodmFyIGkgPSAwOyBpIDwgc3RlcDsgaSsrKWAuXG4gICAgbGV0IGkgPSBzaXplIHwgMFxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgLy8gYHwgMGAgaXMgbW9yZSBjb21wYWN0IGFuZCBmYXN0ZXIgdGhhbiBgTWF0aC5mbG9vcigpYC5cbiAgICAgICAgaWQgKz0gdXJsQWxwaGFiZXRbKE1hdGgucmFuZG9tKCkgKiA2NCkgfCAwXVxuICAgIH1cbiAgICByZXR1cm4gaWRcbn0iLCAiLypcclxuIF8gICAgIF9fICAgICBfIF9fXHJcbnwgfCAgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICcuL25hbm9pZC5qcyc7XHJcblxyXG5jb25zdCBydW50aW1lVVJMID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIFwiL3dhaWxzL3J1bnRpbWVcIjtcclxuXHJcbi8vIE9iamVjdCBOYW1lc1xyXG5leHBvcnQgY29uc3Qgb2JqZWN0TmFtZXMgPSB7XHJcbiAgICBDYWxsOiAwLFxyXG4gICAgQ2xpcGJvYXJkOiAxLFxyXG4gICAgQXBwbGljYXRpb246IDIsXHJcbiAgICBFdmVudHM6IDMsXHJcbiAgICBDb250ZXh0TWVudTogNCxcclxuICAgIERpYWxvZzogNSxcclxuICAgIFdpbmRvdzogNixcclxuICAgIFNjcmVlbnM6IDcsXHJcbiAgICBTeXN0ZW06IDgsXHJcbiAgICBCcm93c2VyOiA5LFxyXG4gICAgQ2FuY2VsQ2FsbDogMTAsXHJcbn1cclxuZXhwb3J0IGxldCBjbGllbnRJZCA9IG5hbm9pZCgpO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBydW50aW1lIGNhbGxlciBmdW5jdGlvbiB0aGF0IGludm9rZXMgYSBzcGVjaWZpZWQgbWV0aG9kIG9uIGEgZ2l2ZW4gb2JqZWN0IHdpdGhpbiBhIHNwZWNpZmllZCB3aW5kb3cgY29udGV4dC5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCAtIFRoZSBvYmplY3Qgb24gd2hpY2ggdGhlIG1ldGhvZCBpcyB0byBiZSBpbnZva2VkLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gd2luZG93TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3aW5kb3cgY29udGV4dCBpbiB3aGljaCB0aGUgbWV0aG9kIHNob3VsZCBiZSBjYWxsZWQuXHJcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gQSBydW50aW1lIGNhbGxlciBmdW5jdGlvbiB0aGF0IHRha2VzIHRoZSBtZXRob2QgbmFtZSBhbmQgb3B0aW9uYWxseSBhcmd1bWVudHMgYW5kIGludm9rZXMgdGhlIG1ldGhvZCB3aXRoaW4gdGhlIHNwZWNpZmllZCB3aW5kb3cgY29udGV4dC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBuZXdSdW50aW1lQ2FsbGVyKG9iamVjdCwgd2luZG93TmFtZSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChtZXRob2QsIGFyZ3M9bnVsbCkge1xyXG4gICAgICAgIHJldHVybiBydW50aW1lQ2FsbChvYmplY3QgKyBcIi5cIiArIG1ldGhvZCwgd2luZG93TmFtZSwgYXJncyk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIG5ldyBydW50aW1lIGNhbGxlciB3aXRoIHNwZWNpZmllZCBJRC5cclxuICpcclxuICogQHBhcmFtIHtvYmplY3R9IG9iamVjdCAtIFRoZSBvYmplY3QgdG8gaW52b2tlIHRoZSBtZXRob2Qgb24uXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSB3aW5kb3dOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdpbmRvdy5cclxuICogQHJldHVybiB7RnVuY3Rpb259IC0gVGhlIG5ldyBydW50aW1lIGNhbGxlciBmdW5jdGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdCwgd2luZG93TmFtZSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChtZXRob2QsIGFyZ3M9bnVsbCkge1xyXG4gICAgICAgIHJldHVybiBydW50aW1lQ2FsbFdpdGhJRChvYmplY3QsIG1ldGhvZCwgd2luZG93TmFtZSwgYXJncyk7XHJcbiAgICB9O1xyXG59XHJcblxyXG5cclxuZnVuY3Rpb24gcnVudGltZUNhbGwobWV0aG9kLCB3aW5kb3dOYW1lLCBhcmdzKSB7XHJcbiAgICBsZXQgdXJsID0gbmV3IFVSTChydW50aW1lVVJMKTtcclxuICAgIGlmKCBtZXRob2QgKSB7XHJcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJtZXRob2RcIiwgbWV0aG9kKTtcclxuICAgIH1cclxuICAgIGxldCBmZXRjaE9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczoge30sXHJcbiAgICB9O1xyXG4gICAgaWYgKHdpbmRvd05hbWUpIHtcclxuICAgICAgICBmZXRjaE9wdGlvbnMuaGVhZGVyc1tcIngtd2FpbHMtd2luZG93LW5hbWVcIl0gPSB3aW5kb3dOYW1lO1xyXG4gICAgfVxyXG4gICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcImFyZ3NcIiwgSlNPTi5zdHJpbmdpZnkoYXJncykpO1xyXG4gICAgfVxyXG4gICAgZmV0Y2hPcHRpb25zLmhlYWRlcnNbXCJ4LXdhaWxzLWNsaWVudC1pZFwiXSA9IGNsaWVudElkO1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgZmV0Y2godXJsLCBmZXRjaE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGNvbnRlbnQgdHlwZVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5oZWFkZXJzLmdldChcIkNvbnRlbnQtVHlwZVwiKSAmJiByZXNwb25zZS5oZWFkZXJzLmdldChcIkNvbnRlbnQtVHlwZVwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24vanNvblwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJlamVjdChFcnJvcihyZXNwb25zZS5zdGF0dXNUZXh0KSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGRhdGEgPT4gcmVzb2x2ZShkYXRhKSlcclxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHJlamVjdChlcnJvcikpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJ1bnRpbWVDYWxsV2l0aElEKG9iamVjdElELCBtZXRob2QsIHdpbmRvd05hbWUsIGFyZ3MpIHtcclxuICAgIGxldCB1cmwgPSBuZXcgVVJMKHJ1bnRpbWVVUkwpO1xyXG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJvYmplY3RcIiwgb2JqZWN0SUQpO1xyXG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJtZXRob2RcIiwgbWV0aG9kKTtcclxuICAgIGxldCBmZXRjaE9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczoge30sXHJcbiAgICB9O1xyXG4gICAgaWYgKHdpbmRvd05hbWUpIHtcclxuICAgICAgICBmZXRjaE9wdGlvbnMuaGVhZGVyc1tcIngtd2FpbHMtd2luZG93LW5hbWVcIl0gPSB3aW5kb3dOYW1lO1xyXG4gICAgfVxyXG4gICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcImFyZ3NcIiwgSlNPTi5zdHJpbmdpZnkoYXJncykpO1xyXG4gICAgfVxyXG4gICAgZmV0Y2hPcHRpb25zLmhlYWRlcnNbXCJ4LXdhaWxzLWNsaWVudC1pZFwiXSA9IGNsaWVudElkO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBmZXRjaCh1cmwsIGZldGNoT3B0aW9ucylcclxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgY29udGVudCB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwiQ29udGVudC1UeXBlXCIpICYmIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwiQ29udGVudC1UeXBlXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi9qc29uXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVqZWN0KEVycm9yKHJlc3BvbnNlLnN0YXR1c1RleHQpKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4oZGF0YSA9PiByZXNvbHZlKGRhdGEpKVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4gcmVqZWN0KGVycm9yKSk7XHJcbiAgICB9KTtcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IE9wZW5GaWxlRGlhbG9nT3B0aW9uc1xyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtDYW5DaG9vc2VEaXJlY3Rvcmllc10gLSBJbmRpY2F0ZXMgaWYgZGlyZWN0b3JpZXMgY2FuIGJlIGNob3Nlbi5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQ2FuQ2hvb3NlRmlsZXNdIC0gSW5kaWNhdGVzIGlmIGZpbGVzIGNhbiBiZSBjaG9zZW4uXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0NhbkNyZWF0ZURpcmVjdG9yaWVzXSAtIEluZGljYXRlcyBpZiBkaXJlY3RvcmllcyBjYW4gYmUgY3JlYXRlZC5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbU2hvd0hpZGRlbkZpbGVzXSAtIEluZGljYXRlcyBpZiBoaWRkZW4gZmlsZXMgc2hvdWxkIGJlIHNob3duLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtSZXNvbHZlc0FsaWFzZXNdIC0gSW5kaWNhdGVzIGlmIGFsaWFzZXMgc2hvdWxkIGJlIHJlc29sdmVkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtBbGxvd3NNdWx0aXBsZVNlbGVjdGlvbl0gLSBJbmRpY2F0ZXMgaWYgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGFsbG93ZWQuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0hpZGVFeHRlbnNpb25dIC0gSW5kaWNhdGVzIGlmIHRoZSBleHRlbnNpb24gc2hvdWxkIGJlIGhpZGRlbi5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQ2FuU2VsZWN0SGlkZGVuRXh0ZW5zaW9uXSAtIEluZGljYXRlcyBpZiBoaWRkZW4gZXh0ZW5zaW9ucyBjYW4gYmUgc2VsZWN0ZWQuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW1RyZWF0c0ZpbGVQYWNrYWdlc0FzRGlyZWN0b3JpZXNdIC0gSW5kaWNhdGVzIGlmIGZpbGUgcGFja2FnZXMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgZGlyZWN0b3JpZXMuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0FsbG93c090aGVyRmlsZXR5cGVzXSAtIEluZGljYXRlcyBpZiBvdGhlciBmaWxlIHR5cGVzIGFyZSBhbGxvd2VkLlxyXG4gKiBAcHJvcGVydHkge0ZpbGVGaWx0ZXJbXX0gW0ZpbHRlcnNdIC0gQXJyYXkgb2YgZmlsZSBmaWx0ZXJzLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW1RpdGxlXSAtIFRpdGxlIG9mIHRoZSBkaWFsb2cuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbTWVzc2FnZV0gLSBNZXNzYWdlIHRvIHNob3cgaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtCdXR0b25UZXh0XSAtIFRleHQgdG8gZGlzcGxheSBvbiB0aGUgYnV0dG9uLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW0RpcmVjdG9yeV0gLSBEaXJlY3RvcnkgdG8gb3BlbiBpbiB0aGUgZGlhbG9nLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtEZXRhY2hlZF0gLSBJbmRpY2F0ZXMgaWYgdGhlIGRpYWxvZyBzaG91bGQgYXBwZWFyIGRldGFjaGVkIGZyb20gdGhlIG1haW4gd2luZG93LlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gU2F2ZUZpbGVEaWFsb2dPcHRpb25zXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbRmlsZW5hbWVdIC0gRGVmYXVsdCBmaWxlbmFtZSB0byB1c2UgaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQ2FuQ2hvb3NlRGlyZWN0b3JpZXNdIC0gSW5kaWNhdGVzIGlmIGRpcmVjdG9yaWVzIGNhbiBiZSBjaG9zZW4uXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0NhbkNob29zZUZpbGVzXSAtIEluZGljYXRlcyBpZiBmaWxlcyBjYW4gYmUgY2hvc2VuLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtDYW5DcmVhdGVEaXJlY3Rvcmllc10gLSBJbmRpY2F0ZXMgaWYgZGlyZWN0b3JpZXMgY2FuIGJlIGNyZWF0ZWQuXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW1Nob3dIaWRkZW5GaWxlc10gLSBJbmRpY2F0ZXMgaWYgaGlkZGVuIGZpbGVzIHNob3VsZCBiZSBzaG93bi5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbUmVzb2x2ZXNBbGlhc2VzXSAtIEluZGljYXRlcyBpZiBhbGlhc2VzIHNob3VsZCBiZSByZXNvbHZlZC5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbQWxsb3dzTXVsdGlwbGVTZWxlY3Rpb25dIC0gSW5kaWNhdGVzIGlmIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtIaWRlRXh0ZW5zaW9uXSAtIEluZGljYXRlcyBpZiB0aGUgZXh0ZW5zaW9uIHNob3VsZCBiZSBoaWRkZW4uXHJcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW0NhblNlbGVjdEhpZGRlbkV4dGVuc2lvbl0gLSBJbmRpY2F0ZXMgaWYgaGlkZGVuIGV4dGVuc2lvbnMgY2FuIGJlIHNlbGVjdGVkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtUcmVhdHNGaWxlUGFja2FnZXNBc0RpcmVjdG9yaWVzXSAtIEluZGljYXRlcyBpZiBmaWxlIHBhY2thZ2VzIHNob3VsZCBiZSB0cmVhdGVkIGFzIGRpcmVjdG9yaWVzLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtBbGxvd3NPdGhlckZpbGV0eXBlc10gLSBJbmRpY2F0ZXMgaWYgb3RoZXIgZmlsZSB0eXBlcyBhcmUgYWxsb3dlZC5cclxuICogQHByb3BlcnR5IHtGaWxlRmlsdGVyW119IFtGaWx0ZXJzXSAtIEFycmF5IG9mIGZpbGUgZmlsdGVycy5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtUaXRsZV0gLSBUaXRsZSBvZiB0aGUgZGlhbG9nLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW01lc3NhZ2VdIC0gTWVzc2FnZSB0byBzaG93IGluIHRoZSBkaWFsb2cuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbQnV0dG9uVGV4dF0gLSBUZXh0IHRvIGRpc3BsYXkgb24gdGhlIGJ1dHRvbi5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtEaXJlY3RvcnldIC0gRGlyZWN0b3J5IHRvIG9wZW4gaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBbRGV0YWNoZWRdIC0gSW5kaWNhdGVzIGlmIHRoZSBkaWFsb2cgc2hvdWxkIGFwcGVhciBkZXRhY2hlZCBmcm9tIHRoZSBtYWluIHdpbmRvdy5cclxuICovXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gTWVzc2FnZURpYWxvZ09wdGlvbnNcclxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtUaXRsZV0gLSBUaGUgdGl0bGUgb2YgdGhlIGRpYWxvZyB3aW5kb3cuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbTWVzc2FnZV0gLSBUaGUgbWFpbiBtZXNzYWdlIHRvIHNob3cgaW4gdGhlIGRpYWxvZy5cclxuICogQHByb3BlcnR5IHtCdXR0b25bXX0gW0J1dHRvbnNdIC0gQXJyYXkgb2YgYnV0dG9uIG9wdGlvbnMgdG8gc2hvdyBpbiB0aGUgZGlhbG9nLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtEZXRhY2hlZF0gLSBUcnVlIGlmIHRoZSBkaWFsb2cgc2hvdWxkIGFwcGVhciBkZXRhY2hlZCBmcm9tIHRoZSBtYWluIHdpbmRvdyAoaWYgYXBwbGljYWJsZSkuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJ1dHRvblxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW0xhYmVsXSAtIFRleHQgdGhhdCBhcHBlYXJzIHdpdGhpbiB0aGUgYnV0dG9uLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtJc0NhbmNlbF0gLSBUcnVlIGlmIHRoZSBidXR0b24gc2hvdWxkIGNhbmNlbCBhbiBvcGVyYXRpb24gd2hlbiBjbGlja2VkLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtJc0RlZmF1bHRdIC0gVHJ1ZSBpZiB0aGUgYnV0dG9uIHNob3VsZCBiZSB0aGUgZGVmYXVsdCBhY3Rpb24gd2hlbiB0aGUgdXNlciBwcmVzc2VzIGVudGVyLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBGaWxlRmlsdGVyXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbRGlzcGxheU5hbWVdIC0gRGlzcGxheSBuYW1lIGZvciB0aGUgZmlsdGVyLCBpdCBjb3VsZCBiZSBcIlRleHQgRmlsZXNcIiwgXCJJbWFnZXNcIiBldGMuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbUGF0dGVybl0gLSBQYXR0ZXJuIHRvIG1hdGNoIGZvciB0aGUgZmlsdGVyLCBlLmcuIFwiKi50eHQ7Ki5tZFwiIGZvciB0ZXh0IG1hcmtkb3duIGZpbGVzLlxyXG4gKi9cclxuXHJcbi8vIHNldHVwXHJcbndpbmRvdy5fd2FpbHMgPSB3aW5kb3cuX3dhaWxzIHx8IHt9O1xyXG53aW5kb3cuX3dhaWxzLmRpYWxvZ0Vycm9yQ2FsbGJhY2sgPSBkaWFsb2dFcnJvckNhbGxiYWNrO1xyXG53aW5kb3cuX3dhaWxzLmRpYWxvZ1Jlc3VsdENhbGxiYWNrID0gZGlhbG9nUmVzdWx0Q2FsbGJhY2s7XHJcblxyXG5pbXBvcnQge25ld1J1bnRpbWVDYWxsZXJXaXRoSUQsIG9iamVjdE5hbWVzfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcblxyXG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICcuL25hbm9pZC5qcyc7XHJcblxyXG4vLyBEZWZpbmUgY29uc3RhbnRzIGZyb20gdGhlIGBtZXRob2RzYCBvYmplY3QgaW4gVGl0bGUgQ2FzZVxyXG5jb25zdCBEaWFsb2dJbmZvID0gMDtcclxuY29uc3QgRGlhbG9nV2FybmluZyA9IDE7XHJcbmNvbnN0IERpYWxvZ0Vycm9yID0gMjtcclxuY29uc3QgRGlhbG9nUXVlc3Rpb24gPSAzO1xyXG5jb25zdCBEaWFsb2dPcGVuRmlsZSA9IDQ7XHJcbmNvbnN0IERpYWxvZ1NhdmVGaWxlID0gNTtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkRpYWxvZywgJycpO1xyXG5jb25zdCBkaWFsb2dSZXNwb25zZXMgPSBuZXcgTWFwKCk7XHJcblxyXG4vKipcclxuICogR2VuZXJhdGVzIGEgdW5pcXVlIGlkIHRoYXQgaXMgbm90IHByZXNlbnQgaW4gZGlhbG9nUmVzcG9uc2VzLlxyXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB1bmlxdWUgaWRcclxuICovXHJcbmZ1bmN0aW9uIGdlbmVyYXRlSUQoKSB7XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgZG8ge1xyXG4gICAgICAgIHJlc3VsdCA9IG5hbm9pZCgpO1xyXG4gICAgfSB3aGlsZSAoZGlhbG9nUmVzcG9uc2VzLmhhcyhyZXN1bHQpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaG93cyBhIGRpYWxvZyBvZiBzcGVjaWZpZWQgdHlwZSB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxyXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZSAtIHR5cGUgb2YgZGlhbG9nXHJcbiAqIEBwYXJhbSB7TWVzc2FnZURpYWxvZ09wdGlvbnN8T3BlbkZpbGVEaWFsb2dPcHRpb25zfFNhdmVGaWxlRGlhbG9nT3B0aW9uc30gb3B0aW9ucyAtIG9wdGlvbnMgZm9yIHRoZSBkaWFsb2dcclxuICogQHJldHVybnMge1Byb21pc2V9IHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHJlc3VsdCBvZiBkaWFsb2dcclxuICovXHJcbmZ1bmN0aW9uIGRpYWxvZyh0eXBlLCBvcHRpb25zID0ge30pIHtcclxuICAgIGNvbnN0IGlkID0gZ2VuZXJhdGVJRCgpO1xyXG4gICAgb3B0aW9uc1tcImRpYWxvZy1pZFwiXSA9IGlkO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBkaWFsb2dSZXNwb25zZXMuc2V0KGlkLCB7cmVzb2x2ZSwgcmVqZWN0fSk7XHJcbiAgICAgICAgY2FsbCh0eXBlLCBvcHRpb25zKS5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgZGlhbG9nUmVzcG9uc2VzLmRlbGV0ZShpZCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIGNhbGxiYWNrIGZyb20gYSBkaWFsb2cuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBJRCBvZiB0aGUgZGlhbG9nIHJlc3BvbnNlLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YSAtIFRoZSBkYXRhIHJlY2VpdmVkIGZyb20gdGhlIGRpYWxvZy5cclxuICogQHBhcmFtIHtib29sZWFufSBpc0pTT04gLSBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGF0YSBpcyBpbiBKU09OIGZvcm1hdC5cclxuICpcclxuICogQHJldHVybiB7dW5kZWZpbmVkfVxyXG4gKi9cclxuZnVuY3Rpb24gZGlhbG9nUmVzdWx0Q2FsbGJhY2soaWQsIGRhdGEsIGlzSlNPTikge1xyXG4gICAgbGV0IHAgPSBkaWFsb2dSZXNwb25zZXMuZ2V0KGlkKTtcclxuICAgIGlmIChwKSB7XHJcbiAgICAgICAgaWYgKGlzSlNPTikge1xyXG4gICAgICAgICAgICBwLnJlc29sdmUoSlNPTi5wYXJzZShkYXRhKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcC5yZXNvbHZlKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaWFsb2dSZXNwb25zZXMuZGVsZXRlKGlkKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBlcnJvcnMgaW4gZGlhbG9nLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gaWQgLSBUaGUgaWQgb2YgdGhlIGRpYWxvZyByZXNwb25zZS5cclxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZS5cclxuICpcclxuICogQHJldHVybiB7dm9pZH1cclxuICovXHJcbmZ1bmN0aW9uIGRpYWxvZ0Vycm9yQ2FsbGJhY2soaWQsIG1lc3NhZ2UpIHtcclxuICAgIGxldCBwID0gZGlhbG9nUmVzcG9uc2VzLmdldChpZCk7XHJcbiAgICBpZiAocCkge1xyXG4gICAgICAgIHAucmVqZWN0KG1lc3NhZ2UpO1xyXG4gICAgICAgIGRpYWxvZ1Jlc3BvbnNlcy5kZWxldGUoaWQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gUmVwbGFjZSBgbWV0aG9kc2Agd2l0aCBjb25zdGFudHMgaW4gVGl0bGUgQ2FzZVxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7TWVzc2FnZURpYWxvZ09wdGlvbnN9IG9wdGlvbnMgLSBEaWFsb2cgb3B0aW9uc1xyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSAtIFRoZSBsYWJlbCBvZiB0aGUgYnV0dG9uIHByZXNzZWRcclxuICovXHJcbmV4cG9ydCBjb25zdCBJbmZvID0gKG9wdGlvbnMpID0+IGRpYWxvZyhEaWFsb2dJbmZvLCBvcHRpb25zKTtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge01lc3NhZ2VEaWFsb2dPcHRpb25zfSBvcHRpb25zIC0gRGlhbG9nIG9wdGlvbnNcclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBUaGUgbGFiZWwgb2YgdGhlIGJ1dHRvbiBwcmVzc2VkXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgV2FybmluZyA9IChvcHRpb25zKSA9PiBkaWFsb2coRGlhbG9nV2FybmluZywgb3B0aW9ucyk7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtNZXNzYWdlRGlhbG9nT3B0aW9uc30gb3B0aW9ucyAtIERpYWxvZyBvcHRpb25zXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gVGhlIGxhYmVsIG9mIHRoZSBidXR0b24gcHJlc3NlZFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVycm9yID0gKG9wdGlvbnMpID0+IGRpYWxvZyhEaWFsb2dFcnJvciwgb3B0aW9ucyk7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtNZXNzYWdlRGlhbG9nT3B0aW9uc30gb3B0aW9ucyAtIERpYWxvZyBvcHRpb25zXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gVGhlIGxhYmVsIG9mIHRoZSBidXR0b24gcHJlc3NlZFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFF1ZXN0aW9uID0gKG9wdGlvbnMpID0+IGRpYWxvZyhEaWFsb2dRdWVzdGlvbiwgb3B0aW9ucyk7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtPcGVuRmlsZURpYWxvZ09wdGlvbnN9IG9wdGlvbnMgLSBEaWFsb2cgb3B0aW9uc1xyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmdbXXxzdHJpbmc+fSBSZXR1cm5zIHNlbGVjdGVkIGZpbGUgb3IgbGlzdCBvZiBmaWxlcy4gUmV0dXJucyBibGFuayBzdHJpbmcgaWYgbm8gZmlsZSBpcyBzZWxlY3RlZC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBPcGVuRmlsZSA9IChvcHRpb25zKSA9PiBkaWFsb2coRGlhbG9nT3BlbkZpbGUsIG9wdGlvbnMpO1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7U2F2ZUZpbGVEaWFsb2dPcHRpb25zfSBvcHRpb25zIC0gRGlhbG9nIG9wdGlvbnNcclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gUmV0dXJucyB0aGUgc2VsZWN0ZWQgZmlsZS4gUmV0dXJucyBibGFuayBzdHJpbmcgaWYgbm8gZmlsZSBpcyBzZWxlY3RlZC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBTYXZlRmlsZSA9IChvcHRpb25zKSA9PiBkaWFsb2coRGlhbG9nU2F2ZUZpbGUsIG9wdGlvbnMpO1xyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCIuL3R5cGVzXCIpLldhaWxzRXZlbnR9IFdhaWxzRXZlbnRcclxuICovXHJcbmltcG9ydCB7bmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXN9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuXHJcbmltcG9ydCB7RXZlbnRUeXBlc30gZnJvbSBcIi4vZXZlbnRfdHlwZXNcIjtcclxuZXhwb3J0IGNvbnN0IFR5cGVzID0gRXZlbnRUeXBlcztcclxuXHJcbi8vIFNldHVwXHJcbndpbmRvdy5fd2FpbHMgPSB3aW5kb3cuX3dhaWxzIHx8IHt9O1xyXG53aW5kb3cuX3dhaWxzLmRpc3BhdGNoV2FpbHNFdmVudCA9IGRpc3BhdGNoV2FpbHNFdmVudDtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkV2ZW50cywgJycpO1xyXG5jb25zdCBFbWl0TWV0aG9kID0gMDtcclxuY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSBuZXcgTWFwKCk7XHJcblxyXG5jbGFzcyBMaXN0ZW5lciB7XHJcbiAgICBjb25zdHJ1Y3RvcihldmVudE5hbWUsIGNhbGxiYWNrLCBtYXhDYWxsYmFja3MpIHtcclxuICAgICAgICB0aGlzLmV2ZW50TmFtZSA9IGV2ZW50TmFtZTtcclxuICAgICAgICB0aGlzLm1heENhbGxiYWNrcyA9IG1heENhbGxiYWNrcyB8fCAtMTtcclxuICAgICAgICB0aGlzLkNhbGxiYWNrID0gKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY2FsbGJhY2soZGF0YSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1heENhbGxiYWNrcyA9PT0gLTEpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXhDYWxsYmFja3MgLT0gMTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4Q2FsbGJhY2tzID09PSAwO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBXYWlsc0V2ZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKG5hbWUsIGRhdGEgPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0dXAoKSB7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRpc3BhdGNoV2FpbHNFdmVudChldmVudCkge1xyXG4gICAgbGV0IGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJzLmdldChldmVudC5uYW1lKTtcclxuICAgIGlmIChsaXN0ZW5lcnMpIHtcclxuICAgICAgICBsZXQgdG9SZW1vdmUgPSBsaXN0ZW5lcnMuZmlsdGVyKGxpc3RlbmVyID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlbW92ZSA9IGxpc3RlbmVyLkNhbGxiYWNrKGV2ZW50KTtcclxuICAgICAgICAgICAgaWYgKHJlbW92ZSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRvUmVtb3ZlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgbGlzdGVuZXJzID0gbGlzdGVuZXJzLmZpbHRlcihsID0+ICF0b1JlbW92ZS5pbmNsdWRlcyhsKSk7XHJcbiAgICAgICAgICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwKSBldmVudExpc3RlbmVycy5kZWxldGUoZXZlbnQubmFtZSk7XHJcbiAgICAgICAgICAgIGVsc2UgZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50Lm5hbWUsIGxpc3RlbmVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIGEgc3BlY2lmaWMgZXZlbnQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZvci5cclxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZC5cclxuICogQHBhcmFtIHtudW1iZXJ9IG1heENhbGxiYWNrcyAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgY2FsbGJhY2sgY2FuIGJlIGNhbGxlZCBmb3IgdGhlIGV2ZW50LiBPbmNlIHRoZSBtYXhpbXVtIG51bWJlciBpcyByZWFjaGVkLCB0aGUgY2FsbGJhY2sgd2lsbCBubyBsb25nZXIgYmUgY2FsbGVkLlxyXG4gKlxyXG4gQHJldHVybiB7ZnVuY3Rpb259IC0gQSBmdW5jdGlvbiB0aGF0LCB3aGVuIGNhbGxlZCwgd2lsbCB1bnJlZ2lzdGVyIHRoZSBjYWxsYmFjayBmcm9tIHRoZSBldmVudC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIG1heENhbGxiYWNrcykge1xyXG4gICAgbGV0IGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJzLmdldChldmVudE5hbWUpIHx8IFtdO1xyXG4gICAgY29uc3QgdGhpc0xpc3RlbmVyID0gbmV3IExpc3RlbmVyKGV2ZW50TmFtZSwgY2FsbGJhY2ssIG1heENhbGxiYWNrcyk7XHJcbiAgICBsaXN0ZW5lcnMucHVzaCh0aGlzTGlzdGVuZXIpO1xyXG4gICAgZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50TmFtZSwgbGlzdGVuZXJzKTtcclxuICAgIHJldHVybiAoKSA9PiBsaXN0ZW5lck9mZih0aGlzTGlzdGVuZXIpO1xyXG59XHJcblxyXG4vKipcclxuICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiB0aGUgc3BlY2lmaWVkIGV2ZW50IG9jY3Vycy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cclxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQuIEl0IHRha2VzIG5vIHBhcmFtZXRlcnMuXHJcbiAqIEByZXR1cm4ge2Z1bmN0aW9ufSAtIEEgZnVuY3Rpb24gdGhhdCwgd2hlbiBjYWxsZWQsIHdpbGwgdW5yZWdpc3RlciB0aGUgY2FsbGJhY2sgZnJvbSB0aGUgZXZlbnQuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPbihldmVudE5hbWUsIGNhbGxiYWNrKSB7IHJldHVybiBPbk11bHRpcGxlKGV2ZW50TmFtZSwgY2FsbGJhY2ssIC0xKTsgfVxyXG5cclxuLyoqXHJcbiAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIG9ubHkgb25jZSBmb3IgdGhlIHNwZWNpZmllZCBldmVudC5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cclxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgLSBUaGUgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiB0aGUgZXZlbnQgb2NjdXJzLlxyXG4gKiBAcmV0dXJuIHtmdW5jdGlvbn0gLSBBIGZ1bmN0aW9uIHRoYXQsIHdoZW4gY2FsbGVkLCB3aWxsIHVucmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZyb20gdGhlIGV2ZW50LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIE9uY2UoZXZlbnROYW1lLCBjYWxsYmFjaykgeyByZXR1cm4gT25NdWx0aXBsZShldmVudE5hbWUsIGNhbGxiYWNrLCAxKTsgfVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgdGhlIHNwZWNpZmllZCBsaXN0ZW5lciBmcm9tIHRoZSBldmVudCBsaXN0ZW5lcnMgY29sbGVjdGlvbi5cclxuICogSWYgYWxsIGxpc3RlbmVycyBmb3IgdGhlIGV2ZW50IGFyZSByZW1vdmVkLCB0aGUgZXZlbnQga2V5IGlzIGRlbGV0ZWQgZnJvbSB0aGUgY29sbGVjdGlvbi5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IGxpc3RlbmVyIC0gVGhlIGxpc3RlbmVyIHRvIGJlIHJlbW92ZWQuXHJcbiAqL1xyXG5mdW5jdGlvbiBsaXN0ZW5lck9mZihsaXN0ZW5lcikge1xyXG4gICAgY29uc3QgZXZlbnROYW1lID0gbGlzdGVuZXIuZXZlbnROYW1lO1xyXG4gICAgbGV0IGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJzLmdldChldmVudE5hbWUpLmZpbHRlcihsID0+IGwgIT09IGxpc3RlbmVyKTtcclxuICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwKSBldmVudExpc3RlbmVycy5kZWxldGUoZXZlbnROYW1lKTtcclxuICAgIGVsc2UgZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50TmFtZSwgbGlzdGVuZXJzKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGV2ZW50IGxpc3RlbmVycyBmb3IgdGhlIHNwZWNpZmllZCBldmVudCBuYW1lcy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byByZW1vdmUgbGlzdGVuZXJzIGZvci5cclxuICogQHBhcmFtIHsuLi5zdHJpbmd9IGFkZGl0aW9uYWxFdmVudE5hbWVzIC0gQWRkaXRpb25hbCBldmVudCBuYW1lcyB0byByZW1vdmUgbGlzdGVuZXJzIGZvci5cclxuICogQHJldHVybiB7dW5kZWZpbmVkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIE9mZihldmVudE5hbWUsIC4uLmFkZGl0aW9uYWxFdmVudE5hbWVzKSB7XHJcbiAgICBsZXQgZXZlbnRzVG9SZW1vdmUgPSBbZXZlbnROYW1lLCAuLi5hZGRpdGlvbmFsRXZlbnROYW1lc107XHJcbiAgICBldmVudHNUb1JlbW92ZS5mb3JFYWNoKGV2ZW50TmFtZSA9PiBldmVudExpc3RlbmVycy5kZWxldGUoZXZlbnROYW1lKSk7XHJcbn1cclxuLyoqXHJcbiAqIFJlbW92ZXMgYWxsIGV2ZW50IGxpc3RlbmVycy5cclxuICpcclxuICogQGZ1bmN0aW9uIE9mZkFsbFxyXG4gKiBAcmV0dXJucyB7dm9pZH1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBPZmZBbGwoKSB7IGV2ZW50TGlzdGVuZXJzLmNsZWFyKCk7IH1cclxuXHJcbi8qKlxyXG4gKiBFbWl0cyBhbiBldmVudCB1c2luZyB0aGUgZ2l2ZW4gZXZlbnQgbmFtZS5cclxuICpcclxuICogQHBhcmFtIHtXYWlsc0V2ZW50fSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBlbWl0LlxyXG4gKiBAcmV0dXJucyB7YW55fSAtIFRoZSByZXN1bHQgb2YgdGhlIGVtaXR0ZWQgZXZlbnQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRW1pdChldmVudCkgeyByZXR1cm4gY2FsbChFbWl0TWV0aG9kLCBldmVudCk7IH1cclxuIiwgIlxuZXhwb3J0IGNvbnN0IEV2ZW50VHlwZXMgPSB7XG5cdFdpbmRvd3M6IHtcblx0XHRTeXN0ZW1UaGVtZUNoYW5nZWQ6IFwid2luZG93czpTeXN0ZW1UaGVtZUNoYW5nZWRcIixcblx0XHRBUE1Qb3dlclN0YXR1c0NoYW5nZTogXCJ3aW5kb3dzOkFQTVBvd2VyU3RhdHVzQ2hhbmdlXCIsXG5cdFx0QVBNU3VzcGVuZDogXCJ3aW5kb3dzOkFQTVN1c3BlbmRcIixcblx0XHRBUE1SZXN1bWVBdXRvbWF0aWM6IFwid2luZG93czpBUE1SZXN1bWVBdXRvbWF0aWNcIixcblx0XHRBUE1SZXN1bWVTdXNwZW5kOiBcIndpbmRvd3M6QVBNUmVzdW1lU3VzcGVuZFwiLFxuXHRcdEFQTVBvd2VyU2V0dGluZ0NoYW5nZTogXCJ3aW5kb3dzOkFQTVBvd2VyU2V0dGluZ0NoYW5nZVwiLFxuXHRcdEFwcGxpY2F0aW9uU3RhcnRlZDogXCJ3aW5kb3dzOkFwcGxpY2F0aW9uU3RhcnRlZFwiLFxuXHRcdFdlYlZpZXdOYXZpZ2F0aW9uQ29tcGxldGVkOiBcIndpbmRvd3M6V2ViVmlld05hdmlnYXRpb25Db21wbGV0ZWRcIixcblx0XHRXaW5kb3dJbmFjdGl2ZTogXCJ3aW5kb3dzOldpbmRvd0luYWN0aXZlXCIsXG5cdFx0V2luZG93QWN0aXZlOiBcIndpbmRvd3M6V2luZG93QWN0aXZlXCIsXG5cdFx0V2luZG93Q2xpY2tBY3RpdmU6IFwid2luZG93czpXaW5kb3dDbGlja0FjdGl2ZVwiLFxuXHRcdFdpbmRvd01heGltaXNlOiBcIndpbmRvd3M6V2luZG93TWF4aW1pc2VcIixcblx0XHRXaW5kb3dVbk1heGltaXNlOiBcIndpbmRvd3M6V2luZG93VW5NYXhpbWlzZVwiLFxuXHRcdFdpbmRvd0Z1bGxzY3JlZW46IFwid2luZG93czpXaW5kb3dGdWxsc2NyZWVuXCIsXG5cdFx0V2luZG93VW5GdWxsc2NyZWVuOiBcIndpbmRvd3M6V2luZG93VW5GdWxsc2NyZWVuXCIsXG5cdFx0V2luZG93UmVzdG9yZTogXCJ3aW5kb3dzOldpbmRvd1Jlc3RvcmVcIixcblx0XHRXaW5kb3dNaW5pbWlzZTogXCJ3aW5kb3dzOldpbmRvd01pbmltaXNlXCIsXG5cdFx0V2luZG93VW5NaW5pbWlzZTogXCJ3aW5kb3dzOldpbmRvd1VuTWluaW1pc2VcIixcblx0XHRXaW5kb3dDbG9zaW5nOiBcIndpbmRvd3M6V2luZG93Q2xvc2luZ1wiLFxuXHRcdFdpbmRvd1NldEZvY3VzOiBcIndpbmRvd3M6V2luZG93U2V0Rm9jdXNcIixcblx0XHRXaW5kb3dLaWxsRm9jdXM6IFwid2luZG93czpXaW5kb3dLaWxsRm9jdXNcIixcblx0XHRXaW5kb3dEcmFnRHJvcDogXCJ3aW5kb3dzOldpbmRvd0RyYWdEcm9wXCIsXG5cdFx0V2luZG93RHJhZ0VudGVyOiBcIndpbmRvd3M6V2luZG93RHJhZ0VudGVyXCIsXG5cdFx0V2luZG93RHJhZ0xlYXZlOiBcIndpbmRvd3M6V2luZG93RHJhZ0xlYXZlXCIsXG5cdFx0V2luZG93RHJhZ092ZXI6IFwid2luZG93czpXaW5kb3dEcmFnT3ZlclwiLFxuXHRcdFdpbmRvd0RpZE1vdmU6IFwid2luZG93czpXaW5kb3dEaWRNb3ZlXCIsXG5cdFx0V2luZG93RGlkUmVzaXplOiBcIndpbmRvd3M6V2luZG93RGlkUmVzaXplXCIsXG5cdFx0V2luZG93U2hvdzogXCJ3aW5kb3dzOldpbmRvd1Nob3dcIixcblx0XHRXaW5kb3dIaWRlOiBcIndpbmRvd3M6V2luZG93SGlkZVwiLFxuXHRcdFdpbmRvd1N0YXJ0TW92ZTogXCJ3aW5kb3dzOldpbmRvd1N0YXJ0TW92ZVwiLFxuXHRcdFdpbmRvd0VuZE1vdmU6IFwid2luZG93czpXaW5kb3dFbmRNb3ZlXCIsXG5cdFx0V2luZG93U3RhcnRSZXNpemU6IFwid2luZG93czpXaW5kb3dTdGFydFJlc2l6ZVwiLFxuXHRcdFdpbmRvd0VuZFJlc2l6ZTogXCJ3aW5kb3dzOldpbmRvd0VuZFJlc2l6ZVwiLFxuXHRcdFdpbmRvd0tleURvd246IFwid2luZG93czpXaW5kb3dLZXlEb3duXCIsXG5cdFx0V2luZG93S2V5VXA6IFwid2luZG93czpXaW5kb3dLZXlVcFwiLFxuXHRcdFdpbmRvd1pPcmRlckNoYW5nZWQ6IFwid2luZG93czpXaW5kb3daT3JkZXJDaGFuZ2VkXCIsXG5cdFx0V2luZG93UGFpbnQ6IFwid2luZG93czpXaW5kb3dQYWludFwiLFxuXHRcdFdpbmRvd0JhY2tncm91bmRFcmFzZTogXCJ3aW5kb3dzOldpbmRvd0JhY2tncm91bmRFcmFzZVwiLFxuXHRcdFdpbmRvd05vbkNsaWVudEhpdDogXCJ3aW5kb3dzOldpbmRvd05vbkNsaWVudEhpdFwiLFxuXHRcdFdpbmRvd05vbkNsaWVudE1vdXNlRG93bjogXCJ3aW5kb3dzOldpbmRvd05vbkNsaWVudE1vdXNlRG93blwiLFxuXHRcdFdpbmRvd05vbkNsaWVudE1vdXNlVXA6IFwid2luZG93czpXaW5kb3dOb25DbGllbnRNb3VzZVVwXCIsXG5cdFx0V2luZG93Tm9uQ2xpZW50TW91c2VNb3ZlOiBcIndpbmRvd3M6V2luZG93Tm9uQ2xpZW50TW91c2VNb3ZlXCIsXG5cdFx0V2luZG93Tm9uQ2xpZW50TW91c2VMZWF2ZTogXCJ3aW5kb3dzOldpbmRvd05vbkNsaWVudE1vdXNlTGVhdmVcIixcblx0XHRXaW5kb3dEUElDaGFuZ2VkOiBcIndpbmRvd3M6V2luZG93RFBJQ2hhbmdlZFwiLFxuXHR9LFxuXHRNYWM6IHtcblx0XHRBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTogXCJtYWM6QXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmVcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzOiBcIm1hYzpBcHBsaWNhdGlvbkRpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzXCIsXG5cdFx0QXBwbGljYXRpb25EaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlOiBcIm1hYzpBcHBsaWNhdGlvbkRpZENoYW5nZUVmZmVjdGl2ZUFwcGVhcmFuY2VcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZUljb246IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlSWNvblwiLFxuXHRcdEFwcGxpY2F0aW9uRGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGVcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZVNjcmVlblBhcmFtZXRlcnM6IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyc1wiLFxuXHRcdEFwcGxpY2F0aW9uRGlkQ2hhbmdlU3RhdHVzQmFyRnJhbWU6IFwibWFjOkFwcGxpY2F0aW9uRGlkQ2hhbmdlU3RhdHVzQmFyRnJhbWVcIixcblx0XHRBcHBsaWNhdGlvbkRpZENoYW5nZVN0YXR1c0Jhck9yaWVudGF0aW9uOiBcIm1hYzpBcHBsaWNhdGlvbkRpZENoYW5nZVN0YXR1c0Jhck9yaWVudGF0aW9uXCIsXG5cdFx0QXBwbGljYXRpb25EaWRGaW5pc2hMYXVuY2hpbmc6IFwibWFjOkFwcGxpY2F0aW9uRGlkRmluaXNoTGF1bmNoaW5nXCIsXG5cdFx0QXBwbGljYXRpb25EaWRIaWRlOiBcIm1hYzpBcHBsaWNhdGlvbkRpZEhpZGVcIixcblx0XHRBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbjogXCJtYWM6QXBwbGljYXRpb25EaWRSZXNpZ25BY3RpdmVOb3RpZmljYXRpb25cIixcblx0XHRBcHBsaWNhdGlvbkRpZFVuaGlkZTogXCJtYWM6QXBwbGljYXRpb25EaWRVbmhpZGVcIixcblx0XHRBcHBsaWNhdGlvbkRpZFVwZGF0ZTogXCJtYWM6QXBwbGljYXRpb25EaWRVcGRhdGVcIixcblx0XHRBcHBsaWNhdGlvbldpbGxCZWNvbWVBY3RpdmU6IFwibWFjOkFwcGxpY2F0aW9uV2lsbEJlY29tZUFjdGl2ZVwiLFxuXHRcdEFwcGxpY2F0aW9uV2lsbEZpbmlzaExhdW5jaGluZzogXCJtYWM6QXBwbGljYXRpb25XaWxsRmluaXNoTGF1bmNoaW5nXCIsXG5cdFx0QXBwbGljYXRpb25XaWxsSGlkZTogXCJtYWM6QXBwbGljYXRpb25XaWxsSGlkZVwiLFxuXHRcdEFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZTogXCJtYWM6QXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlXCIsXG5cdFx0QXBwbGljYXRpb25XaWxsVGVybWluYXRlOiBcIm1hYzpBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGVcIixcblx0XHRBcHBsaWNhdGlvbldpbGxVbmhpZGU6IFwibWFjOkFwcGxpY2F0aW9uV2lsbFVuaGlkZVwiLFxuXHRcdEFwcGxpY2F0aW9uV2lsbFVwZGF0ZTogXCJtYWM6QXBwbGljYXRpb25XaWxsVXBkYXRlXCIsXG5cdFx0QXBwbGljYXRpb25EaWRDaGFuZ2VUaGVtZTogXCJtYWM6QXBwbGljYXRpb25EaWRDaGFuZ2VUaGVtZSFcIixcblx0XHRBcHBsaWNhdGlvblNob3VsZEhhbmRsZVJlb3BlbjogXCJtYWM6QXBwbGljYXRpb25TaG91bGRIYW5kbGVSZW9wZW4hXCIsXG5cdFx0V2luZG93RGlkQmVjb21lS2V5OiBcIm1hYzpXaW5kb3dEaWRCZWNvbWVLZXlcIixcblx0XHRXaW5kb3dEaWRCZWNvbWVNYWluOiBcIm1hYzpXaW5kb3dEaWRCZWNvbWVNYWluXCIsXG5cdFx0V2luZG93RGlkQmVnaW5TaGVldDogXCJtYWM6V2luZG93RGlkQmVnaW5TaGVldFwiLFxuXHRcdFdpbmRvd0RpZENoYW5nZUFscGhhOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VBbHBoYVwiLFxuXHRcdFdpbmRvd0RpZENoYW5nZUJhY2tpbmdMb2NhdGlvbjogXCJtYWM6V2luZG93RGlkQ2hhbmdlQmFja2luZ0xvY2F0aW9uXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXM6IFwibWFjOldpbmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlQ29sbGVjdGlvbkJlaGF2aW9yOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VDb2xsZWN0aW9uQmVoYXZpb3JcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VFZmZlY3RpdmVBcHBlYXJhbmNlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6IFwibWFjOldpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlT3JkZXJpbmdNb2RlOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VPcmRlcmluZ01vZGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTY3JlZW46IFwibWFjOldpbmRvd0RpZENoYW5nZVNjcmVlblwiLFxuXHRcdFdpbmRvd0RpZENoYW5nZVNjcmVlblBhcmFtZXRlcnM6IFwibWFjOldpbmRvd0RpZENoYW5nZVNjcmVlblBhcmFtZXRlcnNcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Qcm9maWxlOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Qcm9maWxlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlU2NyZWVuU3BhY2U6IFwibWFjOldpbmRvd0RpZENoYW5nZVNjcmVlblNwYWNlXCIsXG5cdFx0V2luZG93RGlkQ2hhbmdlU2NyZWVuU3BhY2VQcm9wZXJ0aWVzOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VTY3JlZW5TcGFjZVByb3BlcnRpZXNcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTaGFyaW5nVHlwZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlU2hhcmluZ1R5cGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTcGFjZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlU3BhY2VcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VTcGFjZU9yZGVyaW5nTW9kZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlU3BhY2VPcmRlcmluZ01vZGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VUaXRsZTogXCJtYWM6V2luZG93RGlkQ2hhbmdlVGl0bGVcIixcblx0XHRXaW5kb3dEaWRDaGFuZ2VUb29sYmFyOiBcIm1hYzpXaW5kb3dEaWRDaGFuZ2VUb29sYmFyXCIsXG5cdFx0V2luZG93RGlkRGVtaW5pYXR1cml6ZTogXCJtYWM6V2luZG93RGlkRGVtaW5pYXR1cml6ZVwiLFxuXHRcdFdpbmRvd0RpZEVuZFNoZWV0OiBcIm1hYzpXaW5kb3dEaWRFbmRTaGVldFwiLFxuXHRcdFdpbmRvd0RpZEVudGVyRnVsbFNjcmVlbjogXCJtYWM6V2luZG93RGlkRW50ZXJGdWxsU2NyZWVuXCIsXG5cdFx0V2luZG93TWF4aW1pc2U6IFwibWFjOldpbmRvd01heGltaXNlXCIsXG5cdFx0V2luZG93VW5NYXhpbWlzZTogXCJtYWM6V2luZG93VW5NYXhpbWlzZVwiLFxuXHRcdFdpbmRvd0RpZFpvb206IFwibWFjOldpbmRvd0RpZFpvb20hXCIsXG5cdFx0V2luZG93Wm9vbUluOiBcIm1hYzpXaW5kb3dab29tSW4hXCIsXG5cdFx0V2luZG93Wm9vbU91dDogXCJtYWM6V2luZG93Wm9vbU91dCFcIixcblx0XHRXaW5kb3dab29tUmVzZXQ6IFwibWFjOldpbmRvd1pvb21SZXNldCFcIixcblx0XHRXaW5kb3dEaWRFbnRlclZlcnNpb25Ccm93c2VyOiBcIm1hYzpXaW5kb3dEaWRFbnRlclZlcnNpb25Ccm93c2VyXCIsXG5cdFx0V2luZG93RGlkRXhpdEZ1bGxTY3JlZW46IFwibWFjOldpbmRvd0RpZEV4aXRGdWxsU2NyZWVuXCIsXG5cdFx0V2luZG93RGlkRXhpdFZlcnNpb25Ccm93c2VyOiBcIm1hYzpXaW5kb3dEaWRFeGl0VmVyc2lvbkJyb3dzZXJcIixcblx0XHRXaW5kb3dEaWRFeHBvc2U6IFwibWFjOldpbmRvd0RpZEV4cG9zZVwiLFxuXHRcdFdpbmRvd0RpZEZvY3VzOiBcIm1hYzpXaW5kb3dEaWRGb2N1c1wiLFxuXHRcdFdpbmRvd0RpZE1pbmlhdHVyaXplOiBcIm1hYzpXaW5kb3dEaWRNaW5pYXR1cml6ZVwiLFxuXHRcdFdpbmRvd0RpZE1vdmU6IFwibWFjOldpbmRvd0RpZE1vdmVcIixcblx0XHRXaW5kb3dEaWRPcmRlck9mZlNjcmVlbjogXCJtYWM6V2luZG93RGlkT3JkZXJPZmZTY3JlZW5cIixcblx0XHRXaW5kb3dEaWRPcmRlck9uU2NyZWVuOiBcIm1hYzpXaW5kb3dEaWRPcmRlck9uU2NyZWVuXCIsXG5cdFx0V2luZG93RGlkUmVzaWduS2V5OiBcIm1hYzpXaW5kb3dEaWRSZXNpZ25LZXlcIixcblx0XHRXaW5kb3dEaWRSZXNpZ25NYWluOiBcIm1hYzpXaW5kb3dEaWRSZXNpZ25NYWluXCIsXG5cdFx0V2luZG93RGlkUmVzaXplOiBcIm1hYzpXaW5kb3dEaWRSZXNpemVcIixcblx0XHRXaW5kb3dEaWRVcGRhdGU6IFwibWFjOldpbmRvd0RpZFVwZGF0ZVwiLFxuXHRcdFdpbmRvd0RpZFVwZGF0ZUFscGhhOiBcIm1hYzpXaW5kb3dEaWRVcGRhdGVBbHBoYVwiLFxuXHRcdFdpbmRvd0RpZFVwZGF0ZUNvbGxlY3Rpb25CZWhhdmlvcjogXCJtYWM6V2luZG93RGlkVXBkYXRlQ29sbGVjdGlvbkJlaGF2aW9yXCIsXG5cdFx0V2luZG93RGlkVXBkYXRlQ29sbGVjdGlvblByb3BlcnRpZXM6IFwibWFjOldpbmRvd0RpZFVwZGF0ZUNvbGxlY3Rpb25Qcm9wZXJ0aWVzXCIsXG5cdFx0V2luZG93RGlkVXBkYXRlU2hhZG93OiBcIm1hYzpXaW5kb3dEaWRVcGRhdGVTaGFkb3dcIixcblx0XHRXaW5kb3dEaWRVcGRhdGVUaXRsZTogXCJtYWM6V2luZG93RGlkVXBkYXRlVGl0bGVcIixcblx0XHRXaW5kb3dEaWRVcGRhdGVUb29sYmFyOiBcIm1hYzpXaW5kb3dEaWRVcGRhdGVUb29sYmFyXCIsXG5cdFx0V2luZG93U2hvdWxkQ2xvc2U6IFwibWFjOldpbmRvd1Nob3VsZENsb3NlIVwiLFxuXHRcdFdpbmRvd1dpbGxCZWNvbWVLZXk6IFwibWFjOldpbmRvd1dpbGxCZWNvbWVLZXlcIixcblx0XHRXaW5kb3dXaWxsQmVjb21lTWFpbjogXCJtYWM6V2luZG93V2lsbEJlY29tZU1haW5cIixcblx0XHRXaW5kb3dXaWxsQmVnaW5TaGVldDogXCJtYWM6V2luZG93V2lsbEJlZ2luU2hlZXRcIixcblx0XHRXaW5kb3dXaWxsQ2hhbmdlT3JkZXJpbmdNb2RlOiBcIm1hYzpXaW5kb3dXaWxsQ2hhbmdlT3JkZXJpbmdNb2RlXCIsXG5cdFx0V2luZG93V2lsbENsb3NlOiBcIm1hYzpXaW5kb3dXaWxsQ2xvc2VcIixcblx0XHRXaW5kb3dXaWxsRGVtaW5pYXR1cml6ZTogXCJtYWM6V2luZG93V2lsbERlbWluaWF0dXJpemVcIixcblx0XHRXaW5kb3dXaWxsRW50ZXJGdWxsU2NyZWVuOiBcIm1hYzpXaW5kb3dXaWxsRW50ZXJGdWxsU2NyZWVuXCIsXG5cdFx0V2luZG93V2lsbEVudGVyVmVyc2lvbkJyb3dzZXI6IFwibWFjOldpbmRvd1dpbGxFbnRlclZlcnNpb25Ccm93c2VyXCIsXG5cdFx0V2luZG93V2lsbEV4aXRGdWxsU2NyZWVuOiBcIm1hYzpXaW5kb3dXaWxsRXhpdEZ1bGxTY3JlZW5cIixcblx0XHRXaW5kb3dXaWxsRXhpdFZlcnNpb25Ccm93c2VyOiBcIm1hYzpXaW5kb3dXaWxsRXhpdFZlcnNpb25Ccm93c2VyXCIsXG5cdFx0V2luZG93V2lsbEZvY3VzOiBcIm1hYzpXaW5kb3dXaWxsRm9jdXNcIixcblx0XHRXaW5kb3dXaWxsTWluaWF0dXJpemU6IFwibWFjOldpbmRvd1dpbGxNaW5pYXR1cml6ZVwiLFxuXHRcdFdpbmRvd1dpbGxNb3ZlOiBcIm1hYzpXaW5kb3dXaWxsTW92ZVwiLFxuXHRcdFdpbmRvd1dpbGxPcmRlck9mZlNjcmVlbjogXCJtYWM6V2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuXCIsXG5cdFx0V2luZG93V2lsbE9yZGVyT25TY3JlZW46IFwibWFjOldpbmRvd1dpbGxPcmRlck9uU2NyZWVuXCIsXG5cdFx0V2luZG93V2lsbFJlc2lnbk1haW46IFwibWFjOldpbmRvd1dpbGxSZXNpZ25NYWluXCIsXG5cdFx0V2luZG93V2lsbFJlc2l6ZTogXCJtYWM6V2luZG93V2lsbFJlc2l6ZVwiLFxuXHRcdFdpbmRvd1dpbGxVbmZvY3VzOiBcIm1hYzpXaW5kb3dXaWxsVW5mb2N1c1wiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGU6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVcIixcblx0XHRXaW5kb3dXaWxsVXBkYXRlQWxwaGE6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVBbHBoYVwiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVDb2xsZWN0aW9uQmVoYXZpb3I6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVDb2xsZWN0aW9uQmVoYXZpb3JcIixcblx0XHRXaW5kb3dXaWxsVXBkYXRlQ29sbGVjdGlvblByb3BlcnRpZXM6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVDb2xsZWN0aW9uUHJvcGVydGllc1wiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVTaGFkb3c6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVTaGFkb3dcIixcblx0XHRXaW5kb3dXaWxsVXBkYXRlVGl0bGU6IFwibWFjOldpbmRvd1dpbGxVcGRhdGVUaXRsZVwiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVUb29sYmFyOiBcIm1hYzpXaW5kb3dXaWxsVXBkYXRlVG9vbGJhclwiLFxuXHRcdFdpbmRvd1dpbGxVcGRhdGVWaXNpYmlsaXR5OiBcIm1hYzpXaW5kb3dXaWxsVXBkYXRlVmlzaWJpbGl0eVwiLFxuXHRcdFdpbmRvd1dpbGxVc2VTdGFuZGFyZEZyYW1lOiBcIm1hYzpXaW5kb3dXaWxsVXNlU3RhbmRhcmRGcmFtZVwiLFxuXHRcdE1lbnVXaWxsT3BlbjogXCJtYWM6TWVudVdpbGxPcGVuXCIsXG5cdFx0TWVudURpZE9wZW46IFwibWFjOk1lbnVEaWRPcGVuXCIsXG5cdFx0TWVudURpZENsb3NlOiBcIm1hYzpNZW51RGlkQ2xvc2VcIixcblx0XHRNZW51V2lsbFNlbmRBY3Rpb246IFwibWFjOk1lbnVXaWxsU2VuZEFjdGlvblwiLFxuXHRcdE1lbnVEaWRTZW5kQWN0aW9uOiBcIm1hYzpNZW51RGlkU2VuZEFjdGlvblwiLFxuXHRcdE1lbnVXaWxsSGlnaGxpZ2h0SXRlbTogXCJtYWM6TWVudVdpbGxIaWdobGlnaHRJdGVtXCIsXG5cdFx0TWVudURpZEhpZ2hsaWdodEl0ZW06IFwibWFjOk1lbnVEaWRIaWdobGlnaHRJdGVtXCIsXG5cdFx0TWVudVdpbGxEaXNwbGF5SXRlbTogXCJtYWM6TWVudVdpbGxEaXNwbGF5SXRlbVwiLFxuXHRcdE1lbnVEaWREaXNwbGF5SXRlbTogXCJtYWM6TWVudURpZERpc3BsYXlJdGVtXCIsXG5cdFx0TWVudVdpbGxBZGRJdGVtOiBcIm1hYzpNZW51V2lsbEFkZEl0ZW1cIixcblx0XHRNZW51RGlkQWRkSXRlbTogXCJtYWM6TWVudURpZEFkZEl0ZW1cIixcblx0XHRNZW51V2lsbFJlbW92ZUl0ZW06IFwibWFjOk1lbnVXaWxsUmVtb3ZlSXRlbVwiLFxuXHRcdE1lbnVEaWRSZW1vdmVJdGVtOiBcIm1hYzpNZW51RGlkUmVtb3ZlSXRlbVwiLFxuXHRcdE1lbnVXaWxsQmVnaW5UcmFja2luZzogXCJtYWM6TWVudVdpbGxCZWdpblRyYWNraW5nXCIsXG5cdFx0TWVudURpZEJlZ2luVHJhY2tpbmc6IFwibWFjOk1lbnVEaWRCZWdpblRyYWNraW5nXCIsXG5cdFx0TWVudVdpbGxFbmRUcmFja2luZzogXCJtYWM6TWVudVdpbGxFbmRUcmFja2luZ1wiLFxuXHRcdE1lbnVEaWRFbmRUcmFja2luZzogXCJtYWM6TWVudURpZEVuZFRyYWNraW5nXCIsXG5cdFx0TWVudVdpbGxVcGRhdGU6IFwibWFjOk1lbnVXaWxsVXBkYXRlXCIsXG5cdFx0TWVudURpZFVwZGF0ZTogXCJtYWM6TWVudURpZFVwZGF0ZVwiLFxuXHRcdE1lbnVXaWxsUG9wVXA6IFwibWFjOk1lbnVXaWxsUG9wVXBcIixcblx0XHRNZW51RGlkUG9wVXA6IFwibWFjOk1lbnVEaWRQb3BVcFwiLFxuXHRcdE1lbnVXaWxsU2VuZEFjdGlvblRvSXRlbTogXCJtYWM6TWVudVdpbGxTZW5kQWN0aW9uVG9JdGVtXCIsXG5cdFx0TWVudURpZFNlbmRBY3Rpb25Ub0l0ZW06IFwibWFjOk1lbnVEaWRTZW5kQWN0aW9uVG9JdGVtXCIsXG5cdFx0V2ViVmlld0RpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uOiBcIm1hYzpXZWJWaWV3RGlkU3RhcnRQcm92aXNpb25hbE5hdmlnYXRpb25cIixcblx0XHRXZWJWaWV3RGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOiBcIm1hYzpXZWJWaWV3RGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uXCIsXG5cdFx0V2ViVmlld0RpZEZpbmlzaE5hdmlnYXRpb246IFwibWFjOldlYlZpZXdEaWRGaW5pc2hOYXZpZ2F0aW9uXCIsXG5cdFx0V2ViVmlld0RpZENvbW1pdE5hdmlnYXRpb246IFwibWFjOldlYlZpZXdEaWRDb21taXROYXZpZ2F0aW9uXCIsXG5cdFx0V2luZG93RmlsZURyYWdnaW5nRW50ZXJlZDogXCJtYWM6V2luZG93RmlsZURyYWdnaW5nRW50ZXJlZFwiLFxuXHRcdFdpbmRvd0ZpbGVEcmFnZ2luZ1BlcmZvcm1lZDogXCJtYWM6V2luZG93RmlsZURyYWdnaW5nUGVyZm9ybWVkXCIsXG5cdFx0V2luZG93RmlsZURyYWdnaW5nRXhpdGVkOiBcIm1hYzpXaW5kb3dGaWxlRHJhZ2dpbmdFeGl0ZWRcIixcblx0XHRXaW5kb3dTaG93OiBcIm1hYzpXaW5kb3dTaG93XCIsXG5cdFx0V2luZG93SGlkZTogXCJtYWM6V2luZG93SGlkZVwiLFxuXHR9LFxuXHRMaW51eDoge1xuXHRcdFN5c3RlbVRoZW1lQ2hhbmdlZDogXCJsaW51eDpTeXN0ZW1UaGVtZUNoYW5nZWRcIixcblx0XHRXaW5kb3dMb2FkQ2hhbmdlZDogXCJsaW51eDpXaW5kb3dMb2FkQ2hhbmdlZFwiLFxuXHRcdFdpbmRvd0RlbGV0ZUV2ZW50OiBcImxpbnV4OldpbmRvd0RlbGV0ZUV2ZW50XCIsXG5cdFx0V2luZG93RGlkTW92ZTogXCJsaW51eDpXaW5kb3dEaWRNb3ZlXCIsXG5cdFx0V2luZG93RGlkUmVzaXplOiBcImxpbnV4OldpbmRvd0RpZFJlc2l6ZVwiLFxuXHRcdFdpbmRvd0ZvY3VzSW46IFwibGludXg6V2luZG93Rm9jdXNJblwiLFxuXHRcdFdpbmRvd0ZvY3VzT3V0OiBcImxpbnV4OldpbmRvd0ZvY3VzT3V0XCIsXG5cdFx0QXBwbGljYXRpb25TdGFydHVwOiBcImxpbnV4OkFwcGxpY2F0aW9uU3RhcnR1cFwiLFxuXHR9LFxuXHRDb21tb246IHtcblx0XHRBcHBsaWNhdGlvblN0YXJ0ZWQ6IFwiY29tbW9uOkFwcGxpY2F0aW9uU3RhcnRlZFwiLFxuXHRcdFdpbmRvd01heGltaXNlOiBcImNvbW1vbjpXaW5kb3dNYXhpbWlzZVwiLFxuXHRcdFdpbmRvd1VuTWF4aW1pc2U6IFwiY29tbW9uOldpbmRvd1VuTWF4aW1pc2VcIixcblx0XHRXaW5kb3dGdWxsc2NyZWVuOiBcImNvbW1vbjpXaW5kb3dGdWxsc2NyZWVuXCIsXG5cdFx0V2luZG93VW5GdWxsc2NyZWVuOiBcImNvbW1vbjpXaW5kb3dVbkZ1bGxzY3JlZW5cIixcblx0XHRXaW5kb3dSZXN0b3JlOiBcImNvbW1vbjpXaW5kb3dSZXN0b3JlXCIsXG5cdFx0V2luZG93TWluaW1pc2U6IFwiY29tbW9uOldpbmRvd01pbmltaXNlXCIsXG5cdFx0V2luZG93VW5NaW5pbWlzZTogXCJjb21tb246V2luZG93VW5NaW5pbWlzZVwiLFxuXHRcdFdpbmRvd0Nsb3Npbmc6IFwiY29tbW9uOldpbmRvd0Nsb3NpbmdcIixcblx0XHRXaW5kb3dab29tOiBcImNvbW1vbjpXaW5kb3dab29tXCIsXG5cdFx0V2luZG93Wm9vbUluOiBcImNvbW1vbjpXaW5kb3dab29tSW5cIixcblx0XHRXaW5kb3dab29tT3V0OiBcImNvbW1vbjpXaW5kb3dab29tT3V0XCIsXG5cdFx0V2luZG93Wm9vbVJlc2V0OiBcImNvbW1vbjpXaW5kb3dab29tUmVzZXRcIixcblx0XHRXaW5kb3dGb2N1czogXCJjb21tb246V2luZG93Rm9jdXNcIixcblx0XHRXaW5kb3dMb3N0Rm9jdXM6IFwiY29tbW9uOldpbmRvd0xvc3RGb2N1c1wiLFxuXHRcdFdpbmRvd1Nob3c6IFwiY29tbW9uOldpbmRvd1Nob3dcIixcblx0XHRXaW5kb3dIaWRlOiBcImNvbW1vbjpXaW5kb3dIaWRlXCIsXG5cdFx0V2luZG93RFBJQ2hhbmdlZDogXCJjb21tb246V2luZG93RFBJQ2hhbmdlZFwiLFxuXHRcdFdpbmRvd0ZpbGVzRHJvcHBlZDogXCJjb21tb246V2luZG93RmlsZXNEcm9wcGVkXCIsXG5cdFx0V2luZG93UnVudGltZVJlYWR5OiBcImNvbW1vbjpXaW5kb3dSdW50aW1lUmVhZHlcIixcblx0XHRUaGVtZUNoYW5nZWQ6IFwiY29tbW9uOlRoZW1lQ2hhbmdlZFwiLFxuXHRcdFdpbmRvd0RpZE1vdmU6IFwiY29tbW9uOldpbmRvd0RpZE1vdmVcIixcblx0XHRXaW5kb3dEaWRSZXNpemU6IFwiY29tbW9uOldpbmRvd0RpZFJlc2l6ZVwiLFxuXHRcdEFwcGxpY2F0aW9uT3BlbmVkV2l0aEZpbGU6IFwiY29tbW9uOkFwcGxpY2F0aW9uT3BlbmVkV2l0aEZpbGVcIixcblx0fSxcbn07XG4iLCAiLypcclxuIF8gICAgIF9fICAgICBfIF9fXHJcbnwgfCAgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoqXHJcbiAqIExvZ3MgYSBtZXNzYWdlIHRvIHRoZSBjb25zb2xlIHdpdGggY3VzdG9tIGZvcm1hdHRpbmcuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgbG9nZ2VkLlxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnTG9nKG1lc3NhZ2UpIHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgJyVjIHdhaWxzMyAlYyAnICsgbWVzc2FnZSArICcgJyxcclxuICAgICAgICAnYmFja2dyb3VuZDogI2FhMDAwMDsgY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDNweCAwcHggMHB4IDNweDsgcGFkZGluZzogMXB4OyBmb250LXNpemU6IDAuN3JlbScsXHJcbiAgICAgICAgJ2JhY2tncm91bmQ6ICMwMDk5MDA7IGNvbG9yOiAjZmZmOyBib3JkZXItcmFkaXVzOiAwcHggM3B4IDNweCAwcHg7IHBhZGRpbmc6IDFweDsgZm9udC1zaXplOiAwLjdyZW0nXHJcbiAgICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGJyb3dzZXIgc3VwcG9ydHMgcmVtb3ZpbmcgbGlzdGVuZXJzIGJ5IHRyaWdnZXJpbmcgYW4gQWJvcnRTaWduYWxcclxuICogKHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNzaWduYWwpXHJcbiAqXHJcbiAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY2FuQWJvcnRMaXN0ZW5lcnMoKSB7XHJcbiAgICBpZiAoIUV2ZW50VGFyZ2V0IHx8ICFBYm9ydFNpZ25hbCB8fCAhQWJvcnRDb250cm9sbGVyKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTtcclxuICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsICgpID0+IHsgcmVzdWx0ID0gZmFsc2U7IH0sIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTtcclxuICAgIGNvbnRyb2xsZXIuYWJvcnQoKTtcclxuICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgndGVzdCcpKTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKioqXHJcbiBUaGlzIHRlY2huaXF1ZSBmb3IgcHJvcGVyIGxvYWQgZGV0ZWN0aW9uIGlzIHRha2VuIGZyb20gSFRNWDpcclxuXHJcbiBCU0QgMi1DbGF1c2UgTGljZW5zZVxyXG5cclxuIENvcHlyaWdodCAoYykgMjAyMCwgQmlnIFNreSBTb2Z0d2FyZVxyXG4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuXHJcbiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXRcclxuIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxyXG5cclxuIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpc1xyXG4gbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXHJcblxyXG4gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLFxyXG4gdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvblxyXG4gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXHJcblxyXG4gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcclxuIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcclxuIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxyXG4gRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxyXG4gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcclxuIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXHJcbiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxyXG4gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcclxuIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXHJcbiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxyXG5cclxuICoqKi9cclxuXHJcbmxldCBpc1JlYWR5ID0gZmFsc2U7XHJcbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiBpc1JlYWR5ID0gdHJ1ZSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2hlblJlYWR5KGNhbGxiYWNrKSB7XHJcbiAgICBpZiAoaXNSZWFkeSB8fCBkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XHJcbiAgICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGNhbGxiYWNrKTtcclxuICAgIH1cclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLy8gSW1wb3J0IHNjcmVlbiBqc2RvYyBkZWZpbml0aW9uIGZyb20gLi9zY3JlZW5zLmpzXHJcbi8qKlxyXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9zY3JlZW5zXCIpLlNjcmVlbn0gU2NyZWVuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBIHJlY29yZCBkZXNjcmliaW5nIHRoZSBwb3NpdGlvbiBvZiBhIHdpbmRvdy5cclxuICpcclxuICogQHR5cGVkZWYge09iamVjdH0gUG9zaXRpb25cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IHggLSBUaGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgd2luZG93XHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB5IC0gVGhlIHZlcnRpY2FsIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3dcclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIEEgcmVjb3JkIGRlc2NyaWJpbmcgdGhlIHNpemUgb2YgYSB3aW5kb3cuXHJcbiAqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpemVcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSB3aW5kb3dcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IGhlaWdodCAtIFRoZSBoZWlnaHQgb2YgdGhlIHdpbmRvd1xyXG4gKi9cclxuXHJcblxyXG5pbXBvcnQge25ld1J1bnRpbWVDYWxsZXJXaXRoSUQsIG9iamVjdE5hbWVzfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcblxyXG5jb25zdCBQb3NpdGlvbk1ldGhvZCAgICAgICAgICAgICAgICAgICAgPSAwO1xyXG5jb25zdCBDZW50ZXJNZXRob2QgICAgICAgICAgICAgICAgICAgICAgPSAxO1xyXG5jb25zdCBDbG9zZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgPSAyO1xyXG5jb25zdCBEaXNhYmxlU2l6ZUNvbnN0cmFpbnRzTWV0aG9kICAgICAgPSAzO1xyXG5jb25zdCBFbmFibGVTaXplQ29uc3RyYWludHNNZXRob2QgICAgICAgPSA0O1xyXG5jb25zdCBGb2N1c01ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgPSA1O1xyXG5jb25zdCBGb3JjZVJlbG9hZE1ldGhvZCAgICAgICAgICAgICAgICAgPSA2O1xyXG5jb25zdCBGdWxsc2NyZWVuTWV0aG9kICAgICAgICAgICAgICAgICAgPSA3O1xyXG5jb25zdCBHZXRTY3JlZW5NZXRob2QgICAgICAgICAgICAgICAgICAgPSA4O1xyXG5jb25zdCBHZXRab29tTWV0aG9kICAgICAgICAgICAgICAgICAgICAgPSA5O1xyXG5jb25zdCBIZWlnaHRNZXRob2QgICAgICAgICAgICAgICAgICAgICAgPSAxMDtcclxuY29uc3QgSGlkZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgID0gMTE7XHJcbmNvbnN0IElzRm9jdXNlZE1ldGhvZCAgICAgICAgICAgICAgICAgICA9IDEyO1xyXG5jb25zdCBJc0Z1bGxzY3JlZW5NZXRob2QgICAgICAgICAgICAgICAgPSAxMztcclxuY29uc3QgSXNNYXhpbWlzZWRNZXRob2QgICAgICAgICAgICAgICAgID0gMTQ7XHJcbmNvbnN0IElzTWluaW1pc2VkTWV0aG9kICAgICAgICAgICAgICAgICA9IDE1O1xyXG5jb25zdCBNYXhpbWlzZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgPSAxNjtcclxuY29uc3QgTWluaW1pc2VNZXRob2QgICAgICAgICAgICAgICAgICAgID0gMTc7XHJcbmNvbnN0IE5hbWVNZXRob2QgICAgICAgICAgICAgICAgICAgICAgICA9IDE4O1xyXG5jb25zdCBPcGVuRGV2VG9vbHNNZXRob2QgICAgICAgICAgICAgICAgPSAxOTtcclxuY29uc3QgUmVsYXRpdmVQb3NpdGlvbk1ldGhvZCAgICAgICAgICAgID0gMjA7XHJcbmNvbnN0IFJlbG9hZE1ldGhvZCAgICAgICAgICAgICAgICAgICAgICA9IDIxO1xyXG5jb25zdCBSZXNpemFibGVNZXRob2QgICAgICAgICAgICAgICAgICAgPSAyMjtcclxuY29uc3QgUmVzdG9yZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgID0gMjM7XHJcbmNvbnN0IFNldFBvc2l0aW9uTWV0aG9kICAgICAgICAgICAgICAgICA9IDI0O1xyXG5jb25zdCBTZXRBbHdheXNPblRvcE1ldGhvZCAgICAgICAgICAgICAgPSAyNTtcclxuY29uc3QgU2V0QmFja2dyb3VuZENvbG91ck1ldGhvZCAgICAgICAgID0gMjY7XHJcbmNvbnN0IFNldEZyYW1lbGVzc01ldGhvZCAgICAgICAgICAgICAgICA9IDI3O1xyXG5jb25zdCBTZXRGdWxsc2NyZWVuQnV0dG9uRW5hYmxlZE1ldGhvZCAgPSAyODtcclxuY29uc3QgU2V0TWF4U2l6ZU1ldGhvZCAgICAgICAgICAgICAgICAgID0gMjk7XHJcbmNvbnN0IFNldE1pblNpemVNZXRob2QgICAgICAgICAgICAgICAgICA9IDMwO1xyXG5jb25zdCBTZXRSZWxhdGl2ZVBvc2l0aW9uTWV0aG9kICAgICAgICAgPSAzMTtcclxuY29uc3QgU2V0UmVzaXphYmxlTWV0aG9kICAgICAgICAgICAgICAgID0gMzI7XHJcbmNvbnN0IFNldFNpemVNZXRob2QgICAgICAgICAgICAgICAgICAgICA9IDMzO1xyXG5jb25zdCBTZXRUaXRsZU1ldGhvZCAgICAgICAgICAgICAgICAgICAgPSAzNDtcclxuY29uc3QgU2V0Wm9vbU1ldGhvZCAgICAgICAgICAgICAgICAgICAgID0gMzU7XHJcbmNvbnN0IFNob3dNZXRob2QgICAgICAgICAgICAgICAgICAgICAgICA9IDM2O1xyXG5jb25zdCBTaXplTWV0aG9kICAgICAgICAgICAgICAgICAgICAgICAgPSAzNztcclxuY29uc3QgVG9nZ2xlRnVsbHNjcmVlbk1ldGhvZCAgICAgICAgICAgID0gMzg7XHJcbmNvbnN0IFRvZ2dsZU1heGltaXNlTWV0aG9kICAgICAgICAgICAgICA9IDM5O1xyXG5jb25zdCBVbkZ1bGxzY3JlZW5NZXRob2QgICAgICAgICAgICAgICAgPSA0MDtcclxuY29uc3QgVW5NYXhpbWlzZU1ldGhvZCAgICAgICAgICAgICAgICAgID0gNDE7XHJcbmNvbnN0IFVuTWluaW1pc2VNZXRob2QgICAgICAgICAgICAgICAgICA9IDQyO1xyXG5jb25zdCBXaWR0aE1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgPSA0MztcclxuY29uc3QgWm9vbU1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgID0gNDQ7XHJcbmNvbnN0IFpvb21Jbk1ldGhvZCAgICAgICAgICAgICAgICAgICAgICA9IDQ1O1xyXG5jb25zdCBab29tT3V0TWV0aG9kICAgICAgICAgICAgICAgICAgICAgPSA0NjtcclxuY29uc3QgWm9vbVJlc2V0TWV0aG9kICAgICAgICAgICAgICAgICAgID0gNDc7XHJcblxyXG4vKipcclxuICogQHR5cGUge3N5bWJvbH1cclxuICovXHJcbmNvbnN0IGNhbGxlciA9IFN5bWJvbCgpO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdpbmRvdyB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpc2VzIGEgd2luZG93IG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IHdpbmRvdy5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IobmFtZSA9ICcnKSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQHByaXZhdGVcclxuICAgICAgICAgKiBAbmFtZSB7QGxpbmsgY2FsbGVyfVxyXG4gICAgICAgICAqIEB0eXBlIHsoLi4uYXJnczogYW55W10pID0+IGFueX1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzW2NhbGxlcl0gPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLldpbmRvdywgbmFtZSlcclxuXHJcbiAgICAgICAgLy8gYmluZCBpbnN0YW5jZSBtZXRob2QgdG8gbWFrZSB0aGVtIGVhc2lseSB1c2FibGUgaW4gZXZlbnQgaGFuZGxlcnNcclxuICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhXaW5kb3cucHJvdG90eXBlKSkge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBtZXRob2QgIT09IFwiY29uc3RydWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgJiYgdHlwZW9mIHRoaXNbbWV0aG9kXSA9PT0gXCJmdW5jdGlvblwiXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgdGhpc1ttZXRob2RdID0gdGhpc1ttZXRob2RdLmJpbmQodGhpcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBzcGVjaWZpZWQgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdpbmRvdyB0byBnZXQuXHJcbiAgICAgKiBAcmV0dXJuIHtXaW5kb3d9IC0gVGhlIGNvcnJlc3BvbmRpbmcgd2luZG93IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgR2V0KG5hbWUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFdpbmRvdyhuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxQb3NpdGlvbj59IC0gVGhlIGN1cnJlbnQgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvdy5cclxuICAgICAqL1xyXG4gICAgUG9zaXRpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShQb3NpdGlvbk1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDZW50ZXJzIHRoZSB3aW5kb3cgb24gdGhlIHNjcmVlbi5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBDZW50ZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShDZW50ZXJNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xvc2VzIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgQ2xvc2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShDbG9zZU1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNhYmxlcyBtaW4vbWF4IHNpemUgY29uc3RyYWludHMuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRGlzYWJsZVNpemVDb25zdHJhaW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKERpc2FibGVTaXplQ29uc3RyYWludHNNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5hYmxlcyBtaW4vbWF4IHNpemUgY29uc3RyYWludHMuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRW5hYmxlU2l6ZUNvbnN0cmFpbnRzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oRW5hYmxlU2l6ZUNvbnN0cmFpbnRzTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvY3VzZXMgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBGb2N1cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEZvY3VzTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcmNlcyB0aGUgd2luZG93IHRvIHJlbG9hZCB0aGUgcGFnZSBhc3NldHMuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRm9yY2VSZWxvYWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShGb3JjZVJlbG9hZE1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEb2MuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgRnVsbHNjcmVlbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEZ1bGxzY3JlZW5NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgc2NyZWVuIHRoYXQgdGhlIHdpbmRvdyBpcyBvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFNjcmVlbj59IC0gVGhlIHNjcmVlbiB0aGUgd2luZG93IGlzIGN1cnJlbnRseSBvblxyXG4gICAgICovXHJcbiAgICBHZXRTY3JlZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShHZXRTY3JlZW5NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCB6b29tIGxldmVsIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxudW1iZXI+fSAtIFRoZSBjdXJyZW50IHpvb20gbGV2ZWxcclxuICAgICAqL1xyXG4gICAgR2V0Wm9vbSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEdldFpvb21NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxudW1iZXI+fSAtIFRoZSBjdXJyZW50IGhlaWdodCBvZiB0aGUgd2luZG93XHJcbiAgICAgKi9cclxuICAgIEhlaWdodCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKEhlaWdodE1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlcyB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIEhpZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShIaWRlTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgd2luZG93IGlzIGZvY3VzZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSB3aW5kb3cgaXMgY3VycmVudGx5IGZvY3VzZWRcclxuICAgICAqL1xyXG4gICAgSXNGb2N1c2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oSXNGb2N1c2VkTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgd2luZG93IGlzIGZ1bGxzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSB3aW5kb3cgaXMgY3VycmVudGx5IGZ1bGxzY3JlZW5cclxuICAgICAqL1xyXG4gICAgSXNGdWxsc2NyZWVuKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oSXNGdWxsc2NyZWVuTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgd2luZG93IGlzIG1heGltaXNlZC5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSAtIFdoZXRoZXIgdGhlIHdpbmRvdyBpcyBjdXJyZW50bHkgbWF4aW1pc2VkXHJcbiAgICAgKi9cclxuICAgIElzTWF4aW1pc2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oSXNNYXhpbWlzZWRNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB3aW5kb3cgaXMgbWluaW1pc2VkLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8Ym9vbGVhbj59IC0gV2hldGhlciB0aGUgd2luZG93IGlzIGN1cnJlbnRseSBtaW5pbWlzZWRcclxuICAgICAqL1xyXG4gICAgSXNNaW5pbWlzZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShJc01pbmltaXNlZE1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbWlzZXMgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBNYXhpbWlzZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKE1heGltaXNlTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1pbmltaXNlcyB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIE1pbmltaXNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oTWluaW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gLSBUaGUgbmFtZSBvZiB0aGUgd2luZG93XHJcbiAgICAgKi9cclxuICAgIE5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShOYW1lTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wZW5zIHRoZSBkZXZlbG9wbWVudCB0b29scyBwYW5lLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIE9wZW5EZXZUb29scygpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKE9wZW5EZXZUb29sc01ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93IHRvIHRoZSBzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxQb3NpdGlvbj59IC0gVGhlIGN1cnJlbnQgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xyXG4gICAgICovXHJcbiAgICBSZWxhdGl2ZVBvc2l0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oUmVsYXRpdmVQb3NpdGlvbk1ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWxvYWRzIHRoZSBwYWdlIGFzc2V0cy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBSZWxvYWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShSZWxvYWRNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB3aW5kb3cgaXMgcmVzaXphYmxlLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8Ym9vbGVhbj59IC0gV2hldGhlciB0aGUgd2luZG93IGlzIGN1cnJlbnRseSByZXNpemFibGVcclxuICAgICAqL1xyXG4gICAgUmVzaXphYmxlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oUmVzaXphYmxlTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RvcmVzIHRoZSB3aW5kb3cgdG8gaXRzIHByZXZpb3VzIHN0YXRlIGlmIGl0IHdhcyBwcmV2aW91c2x5IG1pbmltaXNlZCwgbWF4aW1pc2VkIG9yIGZ1bGxzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgUmVzdG9yZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFJlc3RvcmVNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geCAtIFRoZSBkZXNpcmVkIGhvcml6b250YWwgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgLSBUaGUgZGVzaXJlZCB2ZXJ0aWNhbCBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRQb3NpdGlvbih4LCB5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRQb3NpdGlvbk1ldGhvZCwgeyB4LCB5IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgd2luZG93IHRvIGJlIGFsd2F5cyBvbiB0b3AuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBhbHdheXNPblRvcCAtIFdoZXRoZXIgdGhlIHdpbmRvdyBzaG91bGQgc3RheSBvbiB0b3BcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldEFsd2F5c09uVG9wKGFsd2F5c09uVG9wKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRBbHdheXNPblRvcE1ldGhvZCwgeyBhbHdheXNPblRvcCB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIGJhY2tncm91bmQgY29sb3VyIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHIgLSBUaGUgZGVzaXJlZCByZWQgY29tcG9uZW50IG9mIHRoZSB3aW5kb3cgYmFja2dyb3VuZFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGcgLSBUaGUgZGVzaXJlZCBncmVlbiBjb21wb25lbnQgb2YgdGhlIHdpbmRvdyBiYWNrZ3JvdW5kXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYiAtIFRoZSBkZXNpcmVkIGJsdWUgY29tcG9uZW50IG9mIHRoZSB3aW5kb3cgYmFja2dyb3VuZFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGEgLSBUaGUgZGVzaXJlZCBhbHBoYSBjb21wb25lbnQgb2YgdGhlIHdpbmRvdyBiYWNrZ3JvdW5kXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRCYWNrZ3JvdW5kQ29sb3VyKHIsIGcsIGIsIGEpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldEJhY2tncm91bmRDb2xvdXJNZXRob2QsIHsgciwgZywgYiwgYSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgdGhlIHdpbmRvdyBmcmFtZSBhbmQgdGl0bGUgYmFyLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZnJhbWVsZXNzIC0gV2hldGhlciB0aGUgd2luZG93IHNob3VsZCBiZSBmcmFtZWxlc3NcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldEZyYW1lbGVzcyhmcmFtZWxlc3MpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldEZyYW1lbGVzc01ldGhvZCwgeyBmcmFtZWxlc3MgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNhYmxlcyB0aGUgc3lzdGVtIGZ1bGxzY3JlZW4gYnV0dG9uLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZCAtIFdoZXRoZXIgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIHNob3VsZCBiZSBlbmFibGVkXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRGdWxsc2NyZWVuQnV0dG9uRW5hYmxlZChlbmFibGVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRGdWxsc2NyZWVuQnV0dG9uRW5hYmxlZE1ldGhvZCwgeyBlbmFibGVkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIC0gVGhlIGRlc2lyZWQgbWF4aW11bSB3aWR0aCBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0IC0gVGhlIGRlc2lyZWQgbWF4aW11bSBoZWlnaHQgb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgU2V0TWF4U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRNYXhTaXplTWV0aG9kLCB7IHdpZHRoLCBoZWlnaHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2lkdGggLSBUaGUgZGVzaXJlZCBtaW5pbXVtIHdpZHRoIG9mIHRoZSB3aW5kb3dcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHQgLSBUaGUgZGVzaXJlZCBtaW5pbXVtIGhlaWdodCBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRNaW5TaXplKHdpZHRoLCBoZWlnaHQpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldE1pblNpemVNZXRob2QsIHsgd2lkdGgsIGhlaWdodCB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSB3aW5kb3cgdG8gdGhlIHNjcmVlbi5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geCAtIFRoZSBkZXNpcmVkIGhvcml6b250YWwgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgLSBUaGUgZGVzaXJlZCB2ZXJ0aWNhbCByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93XHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRSZWxhdGl2ZVBvc2l0aW9uKHgsIHkpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNldFJlbGF0aXZlUG9zaXRpb25NZXRob2QsIHsgeCwgeSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgd2hldGhlciB0aGUgd2luZG93IGlzIHJlc2l6YWJsZS5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlc2l6YWJsZSAtIFdoZXRoZXIgdGhlIHdpbmRvdyBzaG91bGQgYmUgcmVzaXphYmxlXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTZXRSZXNpemFibGUocmVzaXphYmxlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRSZXNpemFibGVNZXRob2QsIHsgcmVzaXphYmxlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCAtIFRoZSBkZXNpcmVkIHdpZHRoIG9mIHRoZSB3aW5kb3dcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHQgLSBUaGUgZGVzaXJlZCBoZWlnaHQgb2YgdGhlIHdpbmRvd1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgU2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRTaXplTWV0aG9kLCB7IHdpZHRoLCBoZWlnaHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSB0aXRsZSBvZiB0aGUgd2luZG93LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZSAtIFRoZSBkZXNpcmVkIHRpdGxlIG9mIHRoZSB3aW5kb3dcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldFRpdGxlKHRpdGxlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShTZXRUaXRsZU1ldGhvZCwgeyB0aXRsZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gem9vbSAtIFRoZSBkZXNpcmVkIHpvb20gbGV2ZWxcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFNldFpvb20oem9vbSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oU2V0Wm9vbU1ldGhvZCwgeyB6b29tIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBTaG93KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oU2hvd01ldGhvZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxTaXplPn0gLSBUaGUgY3VycmVudCBzaXplIG9mIHRoZSB3aW5kb3dcclxuICAgICAqL1xyXG4gICAgU2l6ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFNpemVNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG9nZ2xlcyB0aGUgd2luZG93IGJldHdlZW4gZnVsbHNjcmVlbiBhbmQgbm9ybWFsLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFRvZ2dsZUZ1bGxzY3JlZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShUb2dnbGVGdWxsc2NyZWVuTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRvZ2dsZXMgdGhlIHdpbmRvdyBiZXR3ZWVuIG1heGltaXNlZCBhbmQgbm9ybWFsLlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFRvZ2dsZU1heGltaXNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oVG9nZ2xlTWF4aW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW4tZnVsbHNjcmVlbnMgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAgICovXHJcbiAgICBVbkZ1bGxzY3JlZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShVbkZ1bGxzY3JlZW5NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW4tbWF4aW1pc2VzIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgVW5NYXhpbWlzZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFVuTWF4aW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW4tbWluaW1pc2VzIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgVW5NaW5pbWlzZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFVuTWluaW1pc2VNZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgd2lkdGggb2YgdGhlIHdpbmRvdy5cclxuICAgICAqXHJcbiAgICAgKiBAcHVibGljXHJcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPG51bWJlcj59IC0gVGhlIGN1cnJlbnQgd2lkdGggb2YgdGhlIHdpbmRvd1xyXG4gICAgICovXHJcbiAgICBXaWR0aCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFdpZHRoTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFpvb21zIHRoZSB3aW5kb3cuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgWm9vbSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFpvb21NZXRob2QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5jcmVhc2VzIHRoZSB6b29tIGxldmVsIG9mIHRoZSB3ZWJ2aWV3IGNvbnRlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cclxuICAgICAqL1xyXG4gICAgWm9vbUluKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW2NhbGxlcl0oWm9vbUluTWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlY3JlYXNlcyB0aGUgem9vbSBsZXZlbCBvZiB0aGUgd2VidmlldyBjb250ZW50LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFpvb21PdXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGVyXShab29tT3V0TWV0aG9kKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc2V0cyB0aGUgem9vbSBsZXZlbCBvZiB0aGUgd2VidmlldyBjb250ZW50LlxyXG4gICAgICpcclxuICAgICAqIEBwdWJsaWNcclxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAgICAgKi9cclxuICAgIFpvb21SZXNldCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpc1tjYWxsZXJdKFpvb21SZXNldE1ldGhvZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgd2luZG93IHdpdGhpbiB3aGljaCB0aGUgc2NyaXB0IGlzIHJ1bm5pbmcuXHJcbiAqXHJcbiAqIEB0eXBlIHtXaW5kb3d9XHJcbiAqL1xyXG5jb25zdCB0aGlzV2luZG93ID0gbmV3IFdpbmRvdygnJyk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB0aGlzV2luZG93O1xyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuaW1wb3J0ICogYXMgUnVudGltZSBmcm9tIFwiLi4vQHdhaWxzaW8vcnVudGltZS9zcmNcIjtcclxuXHJcbi8vIE5PVEU6IHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBNVVNUIGJlIGltcG9ydGVkIGV4cGxpY2l0bHkgYmVjYXVzZSBvZiBob3cgZXNidWlsZCBpbmplY3Rpb24gd29ya3NcclxuaW1wb3J0IHtFbmFibGUgYXMgRW5hYmxlV01MfSBmcm9tIFwiLi4vQHdhaWxzaW8vcnVudGltZS9zcmMvd21sXCI7XHJcbmltcG9ydCB7ZGVidWdMb2d9IGZyb20gXCIuLi9Ad2FpbHNpby9ydW50aW1lL3NyYy91dGlsc1wiO1xyXG5cclxud2luZG93LndhaWxzID0gUnVudGltZTtcclxuRW5hYmxlV01MKCk7XHJcblxyXG5pZiAoREVCVUcpIHtcclxuICAgIGRlYnVnTG9nKFwiV2FpbHMgUnVudGltZSBMb2FkZWRcIilcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuaW1wb3J0IHtuZXdSdW50aW1lQ2FsbGVyV2l0aElELCBvYmplY3ROYW1lc30gZnJvbSBcIi4vcnVudGltZVwiO1xyXG5sZXQgY2FsbCA9IG5ld1J1bnRpbWVDYWxsZXJXaXRoSUQob2JqZWN0TmFtZXMuU3lzdGVtLCAnJyk7XHJcbmNvbnN0IHN5c3RlbUlzRGFya01vZGUgPSAwO1xyXG5jb25zdCBlbnZpcm9ubWVudCA9IDE7XHJcblxyXG5jb25zdCBfaW52b2tlID0gKCgpID0+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgaWYod2luZG93Py5jaHJvbWU/LndlYnZpZXcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIChtc2cpID0+IHdpbmRvdy5jaHJvbWUud2Vidmlldy5wb3N0TWVzc2FnZShtc2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih3aW5kb3c/LndlYmtpdD8ubWVzc2FnZUhhbmRsZXJzPy5leHRlcm5hbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gKG1zZykgPT4gd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZXh0ZXJuYWwucG9zdE1lc3NhZ2UobXNnKTtcclxuICAgICAgICB9XHJcbiAgICB9IGNhdGNoKGUpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1xcbiVjXHUyNkEwXHVGRTBGIEJyb3dzZXIgRW52aXJvbm1lbnQgRGV0ZWN0ZWQgJWNcXG5cXG4lY09ubHkgVUkgcHJldmlld3MgYXJlIGF2YWlsYWJsZSBpbiB0aGUgYnJvd3Nlci4gRm9yIGZ1bGwgZnVuY3Rpb25hbGl0eSwgcGxlYXNlIHJ1biB0aGUgYXBwbGljYXRpb24gaW4gZGVza3RvcCBtb2RlLlxcbk1vcmUgaW5mb3JtYXRpb24gYXQ6IGh0dHBzOi8vdjMud2FpbHMuaW8vbGVhcm4vYnVpbGQvI3VzaW5nLWEtYnJvd3Nlci1mb3ItZGV2ZWxvcG1lbnRcXG4nLFxyXG4gICAgICAgICAgICAnYmFja2dyb3VuZDogI2ZmZmZmZjsgY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nOiA0cHggOHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7JyxcclxuICAgICAgICAgICAgJ2JhY2tncm91bmQ6IHRyYW5zcGFyZW50OycsXHJcbiAgICAgICAgICAgICdjb2xvcjogI2ZmZmZmZjsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogYm9sZDsnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG59KSgpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGludm9rZShtc2cpIHtcclxuICAgIGlmICghX2ludm9rZSkgcmV0dXJuO1xyXG4gICAgcmV0dXJuIF9pbnZva2UobXNnKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBmdW5jdGlvblxyXG4gKiBSZXRyaWV2ZXMgdGhlIHN5c3RlbSBkYXJrIG1vZGUgc3RhdHVzLlxyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyBpZiB0aGUgc3lzdGVtIGlzIGluIGRhcmsgbW9kZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBJc0RhcmtNb2RlKCkge1xyXG4gICAgcmV0dXJuIGNhbGwoc3lzdGVtSXNEYXJrTW9kZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGZXRjaGVzIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGFwcGxpY2F0aW9uIGZyb20gdGhlIHNlcnZlci5cclxuICpcclxuICogQGFzeW5jXHJcbiAqIEBmdW5jdGlvbiBDYXBhYmlsaXRpZXNcclxuICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNhcGFiaWxpdGllcy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDYXBhYmlsaXRpZXMoKSB7XHJcbiAgICBsZXQgcmVzcG9uc2UgPSBmZXRjaChcIi93YWlscy9jYXBhYmlsaXRpZXNcIik7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gT1NJbmZvXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBCcmFuZGluZyAtIFRoZSBicmFuZGluZyBvZiB0aGUgT1MuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJRCAtIFRoZSBJRCBvZiB0aGUgT1MuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9TLlxyXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVmVyc2lvbiAtIFRoZSB2ZXJzaW9uIG9mIHRoZSBPUy5cclxuICovXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gRW52aXJvbm1lbnRJbmZvXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBBcmNoIC0gVGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgc3lzdGVtLlxyXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IERlYnVnIC0gVHJ1ZSBpZiB0aGUgYXBwbGljYXRpb24gaXMgcnVubmluZyBpbiBkZWJ1ZyBtb2RlLCBvdGhlcndpc2UgZmFsc2UuXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBPUyAtIFRoZSBvcGVyYXRpbmcgc3lzdGVtIGluIHVzZS5cclxuICogQHByb3BlcnR5IHtPU0luZm99IE9TSW5mbyAtIERldGFpbHMgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0uXHJcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBQbGF0Zm9ybUluZm8gLSBBZGRpdGlvbmFsIHBsYXRmb3JtIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZnVuY3Rpb25cclxuICogUmV0cmlldmVzIGVudmlyb25tZW50IGRldGFpbHMuXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPEVudmlyb25tZW50SW5mbz59IC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gb2JqZWN0IGNvbnRhaW5pbmcgT1MgYW5kIHN5c3RlbSBhcmNoaXRlY3R1cmUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRW52aXJvbm1lbnQoKSB7XHJcbiAgICByZXR1cm4gY2FsbChlbnZpcm9ubWVudCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbSBpcyBXaW5kb3dzLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGlzIFdpbmRvd3MsIG90aGVyd2lzZSBmYWxzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBJc1dpbmRvd3MoKSB7XHJcbiAgICByZXR1cm4gd2luZG93Ll93YWlscy5lbnZpcm9ubWVudC5PUyA9PT0gXCJ3aW5kb3dzXCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbSBpcyBMaW51eC5cclxuICpcclxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtIGlzIExpbnV4LCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSXNMaW51eCgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmVudmlyb25tZW50Lk9TID09PSBcImxpbnV4XCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgYSBtYWNPUyBvcGVyYXRpbmcgc3lzdGVtLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZW52aXJvbm1lbnQgaXMgbWFjT1MsIGZhbHNlIG90aGVyd2lzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBJc01hYygpIHtcclxuICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmVudmlyb25tZW50Lk9TID09PSBcImRhcndpblwiO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGFyY2hpdGVjdHVyZSBpcyBBTUQ2NC5cclxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgYXJjaGl0ZWN0dXJlIGlzIEFNRDY0LCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSXNBTUQ2NCgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmVudmlyb25tZW50LkFyY2ggPT09IFwiYW1kNjRcIjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgaXMgQVJNLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgaXMgQVJNLCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSXNBUk0oKSB7XHJcbiAgICByZXR1cm4gd2luZG93Ll93YWlscy5lbnZpcm9ubWVudC5BcmNoID09PSBcImFybVwiO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGlzIEFSTTY0IGFyY2hpdGVjdHVyZS5cclxuICpcclxuICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBlbnZpcm9ubWVudCBpcyBBUk02NCBhcmNoaXRlY3R1cmUsIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIElzQVJNNjQoKSB7XHJcbiAgICByZXR1cm4gd2luZG93Ll93YWlscy5lbnZpcm9ubWVudC5BcmNoID09PSBcImFybTY0XCI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBJc0RlYnVnKCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5fd2FpbHMuZW52aXJvbm1lbnQuRGVidWcgPT09IHRydWU7XHJcbn1cclxuXHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcblxyXG5pbXBvcnQge25ld1J1bnRpbWVDYWxsZXJXaXRoSUQsIG9iamVjdE5hbWVzfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcbmltcG9ydCB7SXNEZWJ1Z30gZnJvbSBcIi4vc3lzdGVtXCI7XHJcblxyXG4vLyBzZXR1cFxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBjb250ZXh0TWVudUhhbmRsZXIpO1xyXG5cclxuY29uc3QgY2FsbCA9IG5ld1J1bnRpbWVDYWxsZXJXaXRoSUQob2JqZWN0TmFtZXMuQ29udGV4dE1lbnUsICcnKTtcclxuY29uc3QgQ29udGV4dE1lbnVPcGVuID0gMDtcclxuXHJcbmZ1bmN0aW9uIG9wZW5Db250ZXh0TWVudShpZCwgeCwgeSwgZGF0YSkge1xyXG4gICAgdm9pZCBjYWxsKENvbnRleHRNZW51T3Blbiwge2lkLCB4LCB5LCBkYXRhfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbnRleHRNZW51SGFuZGxlcihldmVudCkge1xyXG4gICAgLy8gQ2hlY2sgZm9yIGN1c3RvbSBjb250ZXh0IG1lbnVcclxuICAgIGxldCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgbGV0IGN1c3RvbUNvbnRleHRNZW51ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShcIi0tY3VzdG9tLWNvbnRleHRtZW51XCIpO1xyXG4gICAgY3VzdG9tQ29udGV4dE1lbnUgPSBjdXN0b21Db250ZXh0TWVudSA/IGN1c3RvbUNvbnRleHRNZW51LnRyaW0oKSA6IFwiXCI7XHJcbiAgICBpZiAoY3VzdG9tQ29udGV4dE1lbnUpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGxldCBjdXN0b21Db250ZXh0TWVudURhdGEgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKFwiLS1jdXN0b20tY29udGV4dG1lbnUtZGF0YVwiKTtcclxuICAgICAgICBvcGVuQ29udGV4dE1lbnUoY3VzdG9tQ29udGV4dE1lbnUsIGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFksIGN1c3RvbUNvbnRleHRNZW51RGF0YSk7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgcHJvY2Vzc0RlZmF1bHRDb250ZXh0TWVudShldmVudCk7XHJcbn1cclxuXHJcblxyXG4vKlxyXG4tLWRlZmF1bHQtY29udGV4dG1lbnU6IGF1dG87IChkZWZhdWx0KSB3aWxsIHNob3cgdGhlIGRlZmF1bHQgY29udGV4dCBtZW51IGlmIGNvbnRlbnRFZGl0YWJsZSBpcyB0cnVlIE9SIHRleHQgaGFzIGJlZW4gc2VsZWN0ZWQgT1IgZWxlbWVudCBpcyBpbnB1dCBvciB0ZXh0YXJlYVxyXG4tLWRlZmF1bHQtY29udGV4dG1lbnU6IHNob3c7IHdpbGwgYWx3YXlzIHNob3cgdGhlIGRlZmF1bHQgY29udGV4dCBtZW51XHJcbi0tZGVmYXVsdC1jb250ZXh0bWVudTogaGlkZTsgd2lsbCBhbHdheXMgaGlkZSB0aGUgZGVmYXVsdCBjb250ZXh0IG1lbnVcclxuXHJcblRoaXMgcnVsZSBpcyBpbmhlcml0ZWQgbGlrZSBub3JtYWwgQ1NTIHJ1bGVzLCBzbyBuZXN0aW5nIHdvcmtzIGFzIGV4cGVjdGVkXHJcbiovXHJcbmZ1bmN0aW9uIHByb2Nlc3NEZWZhdWx0Q29udGV4dE1lbnUoZXZlbnQpIHtcclxuXHJcbiAgICAvLyBEZWJ1ZyBidWlsZHMgYWx3YXlzIHNob3cgdGhlIG1lbnVcclxuICAgIGlmIChJc0RlYnVnKCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJvY2VzcyBkZWZhdWx0IGNvbnRleHQgbWVudVxyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcclxuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgIGNvbnN0IGRlZmF1bHRDb250ZXh0TWVudUFjdGlvbiA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIi0tZGVmYXVsdC1jb250ZXh0bWVudVwiKS50cmltKCk7XHJcbiAgICBzd2l0Y2ggKGRlZmF1bHRDb250ZXh0TWVudUFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgXCJzaG93XCI6XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlIFwiaGlkZVwiOlxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgY29udGVudEVkaXRhYmxlIGlzIHRydWVcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQuaXNDb250ZW50RWRpdGFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGV4dCBoYXMgYmVlbiBzZWxlY3RlZFxyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IChzZWxlY3Rpb24udG9TdHJpbmcoKS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICBpZiAoaGFzU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdGlvbi5yYW5nZUNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KGkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RzID0gcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlY3RzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSByZWN0c1tqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQocmVjdC5sZWZ0LCByZWN0LnRvcCkgPT09IGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0YWduYW1lIGlzIGlucHV0IG9yIHRleHRhcmVhXHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnRhZ05hbWUgPT09IFwiSU5QVVRcIiB8fCBlbGVtZW50LnRhZ05hbWUgPT09IFwiVEVYVEFSRUFcIikge1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc1NlbGVjdGlvbiB8fCAoIWVsZW1lbnQucmVhZE9ubHkgJiYgIWVsZW1lbnQuZGlzYWJsZWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBoaWRlIGRlZmF1bHQgY29udGV4dCBtZW51XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwgIi8qXHJcbiBfXHQgICBfX1x0ICBfIF9fXHJcbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGtleSBmcm9tIHRoZSBmbGFnIG1hcC5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGtleVN0cmluZyAtIFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cclxuICogQHJldHVybiB7Kn0gLSBUaGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEdldEZsYWcoa2V5U3RyaW5nKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuX3dhaWxzLmZsYWdzW2tleVN0cmluZ107XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIHJldHJpZXZlIGZsYWcgJ1wiICsga2V5U3RyaW5nICsgXCInOiBcIiArIGUpO1xyXG4gICAgfVxyXG59XHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cclxuaW1wb3J0IHtpbnZva2UsIElzV2luZG93c30gZnJvbSBcIi4vc3lzdGVtXCI7XHJcbmltcG9ydCB7R2V0RmxhZ30gZnJvbSBcIi4vZmxhZ3NcIjtcclxuXHJcbi8vIFNldHVwXHJcbmxldCBzaG91bGREcmFnID0gZmFsc2U7XHJcbmxldCByZXNpemFibGUgPSBmYWxzZTtcclxubGV0IHJlc2l6ZUVkZ2UgPSBudWxsO1xyXG5sZXQgZGVmYXVsdEN1cnNvciA9IFwiYXV0b1wiO1xyXG5cclxud2luZG93Ll93YWlscyA9IHdpbmRvdy5fd2FpbHMgfHwge307XHJcblxyXG53aW5kb3cuX3dhaWxzLnNldFJlc2l6YWJsZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XHJcbiAgICByZXNpemFibGUgPSB2YWx1ZTtcclxufTtcclxuXHJcbndpbmRvdy5fd2FpbHMuZW5kRHJhZyA9IGZ1bmN0aW9uKCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7XHJcbiAgICBzaG91bGREcmFnID0gZmFsc2U7XHJcbn07XHJcblxyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgb25Nb3VzZURvd24pO1xyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZU1vdmUpO1xyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIG9uTW91c2VVcCk7XHJcblxyXG5cclxuZnVuY3Rpb24gZHJhZ1Rlc3QoZSkge1xyXG4gICAgbGV0IHZhbCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUudGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKFwiLS13YWlscy1kcmFnZ2FibGVcIik7XHJcbiAgICBsZXQgbW91c2VQcmVzc2VkID0gZS5idXR0b25zICE9PSB1bmRlZmluZWQgPyBlLmJ1dHRvbnMgOiBlLndoaWNoO1xyXG4gICAgaWYgKCF2YWwgfHwgdmFsID09PSBcIlwiIHx8IHZhbC50cmltKCkgIT09IFwiZHJhZ1wiIHx8IG1vdXNlUHJlc3NlZCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBlLmRldGFpbCA9PT0gMTtcclxufVxyXG5cclxuZnVuY3Rpb24gb25Nb3VzZURvd24oZSkge1xyXG5cclxuICAgIC8vIENoZWNrIGZvciByZXNpemluZ1xyXG4gICAgaWYgKHJlc2l6ZUVkZ2UpIHtcclxuICAgICAgICBpbnZva2UoXCJ3YWlsczpyZXNpemU6XCIgKyByZXNpemVFZGdlKTtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkcmFnVGVzdChlKSkge1xyXG4gICAgICAgIC8vIFRoaXMgY2hlY2tzIGZvciBjbGlja3Mgb24gdGhlIHNjcm9sbCBiYXJcclxuICAgICAgICBpZiAoZS5vZmZzZXRYID4gZS50YXJnZXQuY2xpZW50V2lkdGggfHwgZS5vZmZzZXRZID4gZS50YXJnZXQuY2xpZW50SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2hvdWxkRHJhZyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNob3VsZERyYWcgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gb25Nb3VzZVVwKCkge1xyXG4gICAgc2hvdWxkRHJhZyA9IGZhbHNlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZXRSZXNpemUoY3Vyc29yKSB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuY3Vyc29yID0gY3Vyc29yIHx8IGRlZmF1bHRDdXJzb3I7XHJcbiAgICByZXNpemVFZGdlID0gY3Vyc29yO1xyXG59XHJcblxyXG5mdW5jdGlvbiBvbk1vdXNlTW92ZShlKSB7XHJcbiAgICBpZiAoc2hvdWxkRHJhZykge1xyXG4gICAgICAgIHNob3VsZERyYWcgPSBmYWxzZTtcclxuICAgICAgICBsZXQgbW91c2VQcmVzc2VkID0gZS5idXR0b25zICE9PSB1bmRlZmluZWQgPyBlLmJ1dHRvbnMgOiBlLndoaWNoO1xyXG4gICAgICAgIGlmIChtb3VzZVByZXNzZWQgPiAwKSB7XHJcbiAgICAgICAgICAgIGludm9rZShcIndhaWxzOmRyYWdcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIXJlc2l6YWJsZSB8fCAhSXNXaW5kb3dzKCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZGVmYXVsdEN1cnNvciA9PSBudWxsKSB7XHJcbiAgICAgICAgZGVmYXVsdEN1cnNvciA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3I7XHJcbiAgICB9XHJcbiAgICBsZXQgcmVzaXplSGFuZGxlSGVpZ2h0ID0gR2V0RmxhZyhcInN5c3RlbS5yZXNpemVIYW5kbGVIZWlnaHRcIikgfHwgNTtcclxuICAgIGxldCByZXNpemVIYW5kbGVXaWR0aCA9IEdldEZsYWcoXCJzeXN0ZW0ucmVzaXplSGFuZGxlV2lkdGhcIikgfHwgNTtcclxuXHJcbiAgICAvLyBFeHRyYSBwaXhlbHMgZm9yIHRoZSBjb3JuZXIgYXJlYXNcclxuICAgIGxldCBjb3JuZXJFeHRyYSA9IEdldEZsYWcoXCJyZXNpemVDb3JuZXJFeHRyYVwiKSB8fCAxMDtcclxuXHJcbiAgICBsZXQgcmlnaHRCb3JkZXIgPSB3aW5kb3cub3V0ZXJXaWR0aCAtIGUuY2xpZW50WCA8IHJlc2l6ZUhhbmRsZVdpZHRoO1xyXG4gICAgbGV0IGxlZnRCb3JkZXIgPSBlLmNsaWVudFggPCByZXNpemVIYW5kbGVXaWR0aDtcclxuICAgIGxldCB0b3BCb3JkZXIgPSBlLmNsaWVudFkgPCByZXNpemVIYW5kbGVIZWlnaHQ7XHJcbiAgICBsZXQgYm90dG9tQm9yZGVyID0gd2luZG93Lm91dGVySGVpZ2h0IC0gZS5jbGllbnRZIDwgcmVzaXplSGFuZGxlSGVpZ2h0O1xyXG5cclxuICAgIC8vIEFkanVzdCBmb3IgY29ybmVyc1xyXG4gICAgbGV0IHJpZ2h0Q29ybmVyID0gd2luZG93Lm91dGVyV2lkdGggLSBlLmNsaWVudFggPCAocmVzaXplSGFuZGxlV2lkdGggKyBjb3JuZXJFeHRyYSk7XHJcbiAgICBsZXQgbGVmdENvcm5lciA9IGUuY2xpZW50WCA8IChyZXNpemVIYW5kbGVXaWR0aCArIGNvcm5lckV4dHJhKTtcclxuICAgIGxldCB0b3BDb3JuZXIgPSBlLmNsaWVudFkgPCAocmVzaXplSGFuZGxlSGVpZ2h0ICsgY29ybmVyRXh0cmEpO1xyXG4gICAgbGV0IGJvdHRvbUNvcm5lciA9IHdpbmRvdy5vdXRlckhlaWdodCAtIGUuY2xpZW50WSA8IChyZXNpemVIYW5kbGVIZWlnaHQgKyBjb3JuZXJFeHRyYSk7XHJcblxyXG4gICAgLy8gSWYgd2UgYXJlbid0IG9uIGFuIGVkZ2UsIGJ1dCB3ZXJlLCByZXNldCB0aGUgY3Vyc29yIHRvIGRlZmF1bHRcclxuICAgIGlmICghbGVmdEJvcmRlciAmJiAhcmlnaHRCb3JkZXIgJiYgIXRvcEJvcmRlciAmJiAhYm90dG9tQm9yZGVyICYmIHJlc2l6ZUVkZ2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHNldFJlc2l6ZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gQWRqdXN0ZWQgZm9yIGNvcm5lciBhcmVhc1xyXG4gICAgZWxzZSBpZiAocmlnaHRDb3JuZXIgJiYgYm90dG9tQ29ybmVyKSBzZXRSZXNpemUoXCJzZS1yZXNpemVcIik7XHJcbiAgICBlbHNlIGlmIChsZWZ0Q29ybmVyICYmIGJvdHRvbUNvcm5lcikgc2V0UmVzaXplKFwic3ctcmVzaXplXCIpO1xyXG4gICAgZWxzZSBpZiAobGVmdENvcm5lciAmJiB0b3BDb3JuZXIpIHNldFJlc2l6ZShcIm53LXJlc2l6ZVwiKTtcclxuICAgIGVsc2UgaWYgKHRvcENvcm5lciAmJiByaWdodENvcm5lcikgc2V0UmVzaXplKFwibmUtcmVzaXplXCIpO1xyXG4gICAgZWxzZSBpZiAobGVmdEJvcmRlcikgc2V0UmVzaXplKFwidy1yZXNpemVcIik7XHJcbiAgICBlbHNlIGlmICh0b3BCb3JkZXIpIHNldFJlc2l6ZShcIm4tcmVzaXplXCIpO1xyXG4gICAgZWxzZSBpZiAoYm90dG9tQm9yZGVyKSBzZXRSZXNpemUoXCJzLXJlc2l6ZVwiKTtcclxuICAgIGVsc2UgaWYgKHJpZ2h0Qm9yZGVyKSBzZXRSZXNpemUoXCJlLXJlc2l6ZVwiKTtcclxufSIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcblxyXG5pbXBvcnQgeyBuZXdSdW50aW1lQ2FsbGVyV2l0aElELCBvYmplY3ROYW1lcyB9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuY29uc3QgY2FsbCA9IG5ld1J1bnRpbWVDYWxsZXJXaXRoSUQob2JqZWN0TmFtZXMuQXBwbGljYXRpb24sICcnKTtcclxuXHJcbmNvbnN0IEhpZGVNZXRob2QgPSAwO1xyXG5jb25zdCBTaG93TWV0aG9kID0gMTtcclxuY29uc3QgUXVpdE1ldGhvZCA9IDI7XHJcblxyXG4vKipcclxuICogSGlkZXMgYSBjZXJ0YWluIG1ldGhvZCBieSBjYWxsaW5nIHRoZSBIaWRlTWV0aG9kIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gKlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEhpZGUoKSB7XHJcbiAgICByZXR1cm4gY2FsbChIaWRlTWV0aG9kKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIHRoZSBTaG93TWV0aG9kIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXHJcbiAqXHJcbiAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gU2hvdygpIHtcclxuICAgIHJldHVybiBjYWxsKFNob3dNZXRob2QpO1xyXG59XHJcblxyXG4vKipcclxuICogQ2FsbHMgdGhlIFF1aXRNZXRob2QgdG8gdGVybWluYXRlIHRoZSBwcm9ncmFtLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFF1aXQoKSB7XHJcbiAgICByZXR1cm4gY2FsbChRdWl0TWV0aG9kKTtcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5pbXBvcnQgeyBuZXdSdW50aW1lQ2FsbGVyV2l0aElELCBvYmplY3ROYW1lcyB9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnLi9uYW5vaWQuanMnO1xyXG5cclxuLy8gU2V0dXBcclxud2luZG93Ll93YWlscyA9IHdpbmRvdy5fd2FpbHMgfHwge307XHJcbndpbmRvdy5fd2FpbHMuY2FsbFJlc3VsdEhhbmRsZXIgPSByZXN1bHRIYW5kbGVyO1xyXG53aW5kb3cuX3dhaWxzLmNhbGxFcnJvckhhbmRsZXIgPSBlcnJvckhhbmRsZXI7XHJcblxyXG5cclxuY29uc3QgQ2FsbEJpbmRpbmcgPSAwO1xyXG5jb25zdCBjYWxsID0gbmV3UnVudGltZUNhbGxlcldpdGhJRChvYmplY3ROYW1lcy5DYWxsLCAnJyk7XHJcbmNvbnN0IGNhbmNlbENhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkNhbmNlbENhbGwsICcnKTtcclxubGV0IGNhbGxSZXNwb25zZXMgPSBuZXcgTWFwKCk7XHJcblxyXG4vKipcclxuICogR2VuZXJhdGVzIGEgdW5pcXVlIElEIHVzaW5nIHRoZSBuYW5vaWQgbGlicmFyeS5cclxuICpcclxuICogQHJldHVybiB7c3RyaW5nfSAtIEEgdW5pcXVlIElEIHRoYXQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGNhbGxSZXNwb25zZXMgc2V0LlxyXG4gKi9cclxuZnVuY3Rpb24gZ2VuZXJhdGVJRCgpIHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgcmVzdWx0ID0gbmFub2lkKCk7XHJcbiAgICB9IHdoaWxlIChjYWxsUmVzcG9uc2VzLmhhcyhyZXN1bHQpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIHRoZSByZXN1bHQgb2YgYSBjYWxsIHJlcXVlc3QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBpZCBvZiB0aGUgcmVxdWVzdCB0byBoYW5kbGUgdGhlIHJlc3VsdCBmb3IuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIHJlc3VsdCBkYXRhIG9mIHRoZSByZXF1ZXN0LlxyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzSlNPTiAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXRhIGlzIEpTT04gb3Igbm90LlxyXG4gKlxyXG4gKiBAcmV0dXJuIHt1bmRlZmluZWR9IC0gVGhpcyBtZXRob2QgZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZS5cclxuICovXHJcbmZ1bmN0aW9uIHJlc3VsdEhhbmRsZXIoaWQsIGRhdGEsIGlzSlNPTikge1xyXG4gICAgY29uc3QgcHJvbWlzZUhhbmRsZXIgPSBnZXRBbmREZWxldGVSZXNwb25zZShpZCk7XHJcbiAgICBpZiAocHJvbWlzZUhhbmRsZXIpIHtcclxuICAgICAgICBwcm9taXNlSGFuZGxlci5yZXNvbHZlKGlzSlNPTiA/IEpTT04ucGFyc2UoZGF0YSkgOiBkYXRhKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIGVycm9yIGZyb20gYSBjYWxsIHJlcXVlc3QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBpZCBvZiB0aGUgcHJvbWlzZSBoYW5kbGVyLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBoYW5kbGVyIHdpdGguXHJcbiAqXHJcbiAqIEByZXR1cm4ge3ZvaWR9XHJcbiAqL1xyXG5mdW5jdGlvbiBlcnJvckhhbmRsZXIoaWQsIG1lc3NhZ2UpIHtcclxuICAgIGNvbnN0IHByb21pc2VIYW5kbGVyID0gZ2V0QW5kRGVsZXRlUmVzcG9uc2UoaWQpO1xyXG4gICAgaWYgKHByb21pc2VIYW5kbGVyKSB7XHJcbiAgICAgICAgcHJvbWlzZUhhbmRsZXIucmVqZWN0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmV0cmlldmVzIGFuZCByZW1vdmVzIHRoZSByZXNwb25zZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIElEIGZyb20gdGhlIGNhbGxSZXNwb25zZXMgbWFwLlxyXG4gKlxyXG4gKiBAcGFyYW0ge2FueX0gaWQgLSBUaGUgSUQgb2YgdGhlIHJlc3BvbnNlIHRvIGJlIHJldHJpZXZlZCBhbmQgcmVtb3ZlZC5cclxuICpcclxuICogQHJldHVybnMge2FueX0gVGhlIHJlc3BvbnNlIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIElELlxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0QW5kRGVsZXRlUmVzcG9uc2UoaWQpIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gY2FsbFJlc3BvbnNlcy5nZXQoaWQpO1xyXG4gICAgY2FsbFJlc3BvbnNlcy5kZWxldGUoaWQpO1xyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogRXhlY3V0ZXMgYSBjYWxsIHVzaW5nIHRoZSBwcm92aWRlZCB0eXBlIGFuZCBvcHRpb25zLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IHR5cGUgLSBUaGUgdHlwZSBvZiBjYWxsIHRvIGV4ZWN1dGUuXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSBjYWxsLlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgcHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgb3IgcmVqZWN0ZWQgYmFzZWQgb24gdGhlIHJlc3VsdCBvZiB0aGUgY2FsbC4gSXQgYWxzbyBoYXMgYSBjYW5jZWwgbWV0aG9kIHRvIGNhbmNlbCBhIGxvbmcgcnVubmluZyByZXF1ZXN0LlxyXG4gKi9cclxuZnVuY3Rpb24gY2FsbEJpbmRpbmcodHlwZSwgb3B0aW9ucyA9IHt9KSB7XHJcbiAgICBjb25zdCBpZCA9IGdlbmVyYXRlSUQoKTtcclxuICAgIGNvbnN0IGRvQ2FuY2VsID0gKCkgPT4geyByZXR1cm4gY2FuY2VsQ2FsbCh0eXBlLCB7XCJjYWxsLWlkXCI6IGlkfSkgfTtcclxuICAgIGxldCBxdWV1ZWRDYW5jZWwgPSBmYWxzZSwgY2FsbFJ1bm5pbmcgPSBmYWxzZTtcclxuICAgIGxldCBwID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnNbXCJjYWxsLWlkXCJdID0gaWQ7XHJcbiAgICAgICAgY2FsbFJlc3BvbnNlcy5zZXQoaWQsIHsgcmVzb2x2ZSwgcmVqZWN0IH0pO1xyXG4gICAgICAgIGNhbGwodHlwZSwgb3B0aW9ucykuXHJcbiAgICAgICAgICAgIHRoZW4oKF8pID0+IHtcclxuICAgICAgICAgICAgICAgIGNhbGxSdW5uaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGlmIChxdWV1ZWRDYW5jZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9DYW5jZWwoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkuXHJcbiAgICAgICAgICAgIGNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgIGNhbGxSZXNwb25zZXMuZGVsZXRlKGlkKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHAuY2FuY2VsID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChjYWxsUnVubmluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gZG9DYW5jZWwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWV1ZWRDYW5jZWwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDYWxsIG1ldGhvZC5cclxuICpcclxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIG1ldGhvZC5cclxuICogQHJldHVybnMge09iamVjdH0gLSBUaGUgcmVzdWx0IG9mIHRoZSBjYWxsLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENhbGwob3B0aW9ucykge1xyXG4gICAgcmV0dXJuIGNhbGxCaW5kaW5nKENhbGxCaW5kaW5nLCBvcHRpb25zKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEV4ZWN1dGVzIGEgbWV0aG9kIGJ5IG5hbWUuXHJcbiAqXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCBpbiB0aGUgZm9ybWF0ICdwYWNrYWdlLnN0cnVjdC5tZXRob2QnLlxyXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC5cclxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBuYW1lIGlzIG5vdCBhIHN0cmluZyBvciBpcyBub3QgaW4gdGhlIGNvcnJlY3QgZm9ybWF0LlxyXG4gKiBAcmV0dXJucyB7Kn0gVGhlIHJlc3VsdCBvZiB0aGUgbWV0aG9kIGV4ZWN1dGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBCeU5hbWUobWV0aG9kTmFtZSwgLi4uYXJncykge1xyXG4gICAgcmV0dXJuIGNhbGxCaW5kaW5nKENhbGxCaW5kaW5nLCB7XHJcbiAgICAgICAgbWV0aG9kTmFtZSxcclxuICAgICAgICBhcmdzXHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIGEgbWV0aG9kIGJ5IGl0cyBJRCB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge251bWJlcn0gbWV0aG9kSUQgLSBUaGUgSUQgb2YgdGhlIG1ldGhvZCB0byBjYWxsLlxyXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC5cclxuICogQHJldHVybiB7Kn0gLSBUaGUgcmVzdWx0IG9mIHRoZSBtZXRob2QgY2FsbC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBCeUlEKG1ldGhvZElELCAuLi5hcmdzKSB7XHJcbiAgICByZXR1cm4gY2FsbEJpbmRpbmcoQ2FsbEJpbmRpbmcsIHtcclxuICAgICAgICBtZXRob2RJRCxcclxuICAgICAgICBhcmdzXHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGxzIGEgbWV0aG9kIG9uIGEgcGx1Z2luLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4uXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCB0byBjYWxsLlxyXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZC5cclxuICogQHJldHVybnMgeyp9IC0gVGhlIHJlc3VsdCBvZiB0aGUgbWV0aG9kIGNhbGwuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gUGx1Z2luKHBsdWdpbk5hbWUsIG1ldGhvZE5hbWUsIC4uLmFyZ3MpIHtcclxuICAgIHJldHVybiBjYWxsQmluZGluZyhDYWxsQmluZGluZywge1xyXG4gICAgICAgIHBhY2thZ2VOYW1lOiBcIndhaWxzLXBsdWdpbnNcIixcclxuICAgICAgICBzdHJ1Y3ROYW1lOiBwbHVnaW5OYW1lLFxyXG4gICAgICAgIG1ldGhvZE5hbWUsXHJcbiAgICAgICAgYXJnc1xyXG4gICAgfSk7XHJcbn1cclxuIiwgIi8qXHJcbiBfXHQgICBfX1x0ICBfIF9fXHJcbnwgfFx0IC8gL19fXyBfKF8pIC9fX19fXHJcbnwgfCAvfCAvIC8gX18gYC8gLyAvIF9fXy9cclxufCB8LyB8LyAvIC9fLyAvIC8gKF9fICApXHJcbnxfXy98X18vXFxfXyxfL18vXy9fX19fL1xyXG5UaGUgZWxlY3Ryb24gYWx0ZXJuYXRpdmUgZm9yIEdvXHJcbihjKSBMZWEgQW50aG9ueSAyMDE5LXByZXNlbnRcclxuKi9cclxuXHJcbi8qIGpzaGludCBlc3ZlcnNpb246IDkgKi9cclxuXHJcbmltcG9ydCB7bmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXN9IGZyb20gXCIuL3J1bnRpbWVcIjtcclxuXHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLkNsaXBib2FyZCwgJycpO1xyXG5jb25zdCBDbGlwYm9hcmRTZXRUZXh0ID0gMDtcclxuY29uc3QgQ2xpcGJvYXJkVGV4dCA9IDE7XHJcblxyXG4vKipcclxuICogU2V0cyB0aGUgdGV4dCB0byB0aGUgQ2xpcGJvYXJkLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHNldCB0byB0aGUgQ2xpcGJvYXJkLlxyXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFNldFRleHQodGV4dCkge1xyXG4gICAgcmV0dXJuIGNhbGwoQ2xpcGJvYXJkU2V0VGV4dCwge3RleHR9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgQ2xpcGJvYXJkIHRleHRcclxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdGV4dCBmcm9tIHRoZSBDbGlwYm9hcmQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gVGV4dCgpIHtcclxuICAgIHJldHVybiBjYWxsKENsaXBib2FyZFRleHQpO1xyXG59XHJcbiIsICIvKlxyXG4gX1x0ICAgX19cdCAgXyBfX1xyXG58IHxcdCAvIC9fX18gXyhfKSAvX19fX1xyXG58IHwgL3wgLyAvIF9fIGAvIC8gLyBfX18vXHJcbnwgfC8gfC8gLyAvXy8gLyAvIChfXyAgKVxyXG58X18vfF9fL1xcX18sXy9fL18vX19fXy9cclxuVGhlIGVsZWN0cm9uIGFsdGVybmF0aXZlIGZvciBHb1xyXG4oYykgTGVhIEFudGhvbnkgMjAxOS1wcmVzZW50XHJcbiovXHJcblxyXG4vKiBqc2hpbnQgZXN2ZXJzaW9uOiA5ICovXHJcblxyXG4vKipcclxuICogQW55IGlzIGEgZHVtbXkgY3JlYXRpb24gZnVuY3Rpb24gZm9yIHNpbXBsZSBvciB1bmtub3duIHR5cGVzLlxyXG4gKiBAdGVtcGxhdGUgVFxyXG4gKiBAcGFyYW0ge2FueX0gc291cmNlXHJcbiAqIEByZXR1cm5zIHtUfVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEFueShzb3VyY2UpIHtcclxuICAgIHJldHVybiAvKiogQHR5cGUge1R9ICovKHNvdXJjZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCeXRlU2xpY2UgaXMgYSBjcmVhdGlvbiBmdW5jdGlvbiB0aGF0IHJlcGxhY2VzXHJcbiAqIG51bGwgc3RyaW5ncyB3aXRoIGVtcHR5IHN0cmluZ3MuXHJcbiAqIEBwYXJhbSB7YW55fSBzb3VyY2VcclxuICogQHJldHVybnMge3N0cmluZ31cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBCeXRlU2xpY2Uoc291cmNlKSB7XHJcbiAgICByZXR1cm4gLyoqIEB0eXBlIHthbnl9ICovKChzb3VyY2UgPT0gbnVsbCkgPyBcIlwiIDogc291cmNlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFycmF5IHRha2VzIGEgY3JlYXRpb24gZnVuY3Rpb24gZm9yIGFuIGFyYml0cmFyeSB0eXBlXHJcbiAqIGFuZCByZXR1cm5zIGFuIGluLXBsYWNlIGNyZWF0aW9uIGZ1bmN0aW9uIGZvciBhbiBhcnJheVxyXG4gKiB3aG9zZSBlbGVtZW50cyBhcmUgb2YgdGhhdCB0eXBlLlxyXG4gKiBAdGVtcGxhdGUgVFxyXG4gKiBAcGFyYW0geyhzb3VyY2U6IGFueSkgPT4gVH0gZWxlbWVudFxyXG4gKiBAcmV0dXJucyB7KHNvdXJjZTogYW55KSA9PiBUW119XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQXJyYXkoZWxlbWVudCkge1xyXG4gICAgaWYgKGVsZW1lbnQgPT09IEFueSkge1xyXG4gICAgICAgIHJldHVybiAoc291cmNlKSA9PiAoc291cmNlID09PSBudWxsID8gW10gOiBzb3VyY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoc291cmNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHNvdXJjZSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHNvdXJjZVtpXSA9IGVsZW1lbnQoc291cmNlW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNYXAgdGFrZXMgY3JlYXRpb24gZnVuY3Rpb25zIGZvciB0d28gYXJiaXRyYXJ5IHR5cGVzXHJcbiAqIGFuZCByZXR1cm5zIGFuIGluLXBsYWNlIGNyZWF0aW9uIGZ1bmN0aW9uIGZvciBhbiBvYmplY3RcclxuICogd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSBvZiB0aG9zZSB0eXBlcy5cclxuICogQHRlbXBsYXRlIEssIFZcclxuICogQHBhcmFtIHsoc291cmNlOiBhbnkpID0+IEt9IGtleVxyXG4gKiBAcGFyYW0geyhzb3VyY2U6IGFueSkgPT4gVn0gdmFsdWVcclxuICogQHJldHVybnMgeyhzb3VyY2U6IGFueSkgPT4geyBbXzogS106IFYgfX1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBNYXAoa2V5LCB2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlID09PSBBbnkpIHtcclxuICAgICAgICByZXR1cm4gKHNvdXJjZSkgPT4gKHNvdXJjZSA9PT0gbnVsbCA/IHt9IDogc291cmNlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKHNvdXJjZSkgPT4ge1xyXG4gICAgICAgIGlmIChzb3VyY2UgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgc291cmNlW2tleV0gPSB2YWx1ZShzb3VyY2Vba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzb3VyY2U7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogTnVsbGFibGUgdGFrZXMgYSBjcmVhdGlvbiBmdW5jdGlvbiBmb3IgYW4gYXJiaXRyYXJ5IHR5cGVcclxuICogYW5kIHJldHVybnMgYSBjcmVhdGlvbiBmdW5jdGlvbiBmb3IgYSBudWxsYWJsZSB2YWx1ZSBvZiB0aGF0IHR5cGUuXHJcbiAqIEB0ZW1wbGF0ZSBUXHJcbiAqIEBwYXJhbSB7KHNvdXJjZTogYW55KSA9PiBUfSBlbGVtZW50XHJcbiAqIEByZXR1cm5zIHsoc291cmNlOiBhbnkpID0+IChUIHwgbnVsbCl9XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gTnVsbGFibGUoZWxlbWVudCkge1xyXG4gICAgaWYgKGVsZW1lbnQgPT09IEFueSkge1xyXG4gICAgICAgIHJldHVybiBBbnk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChzb3VyY2UpID0+IChzb3VyY2UgPT09IG51bGwgPyBudWxsIDogZWxlbWVudChzb3VyY2UpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFN0cnVjdCB0YWtlcyBhbiBvYmplY3QgbWFwcGluZyBmaWVsZCBuYW1lcyB0byBjcmVhdGlvbiBmdW5jdGlvbnNcclxuICogYW5kIHJldHVybnMgYW4gaW4tcGxhY2UgY3JlYXRpb24gZnVuY3Rpb24gZm9yIGEgc3RydWN0LlxyXG4gKiBAdGVtcGxhdGUge3sgW186IHN0cmluZ106ICgoc291cmNlOiBhbnkpID0+IGFueSkgfX0gVFxyXG4gKiBAdGVtcGxhdGUge3sgW0tleSBpbiBrZXlvZiBUXT86IFJldHVyblR5cGU8VFtLZXldPiB9fSBVXHJcbiAqIEBwYXJhbSB7VH0gY3JlYXRlRmllbGRcclxuICogQHJldHVybnMgeyhzb3VyY2U6IGFueSkgPT4gVX1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBTdHJ1Y3QoY3JlYXRlRmllbGQpIHtcclxuICAgIGxldCBhbGxBbnkgPSB0cnVlO1xyXG4gICAgZm9yIChjb25zdCBuYW1lIGluIGNyZWF0ZUZpZWxkKSB7XHJcbiAgICAgICAgaWYgKGNyZWF0ZUZpZWxkW25hbWVdICE9PSBBbnkpIHtcclxuICAgICAgICAgICAgYWxsQW55ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChhbGxBbnkpIHtcclxuICAgICAgICByZXR1cm4gQW55O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoc291cmNlKSA9PiB7XHJcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNyZWF0ZUZpZWxkKSB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lIGluIHNvdXJjZSkge1xyXG4gICAgICAgICAgICAgICAgc291cmNlW25hbWVdID0gY3JlYXRlRmllbGRbbmFtZV0oc291cmNlW25hbWVdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgfTtcclxufVxyXG4iLCAiLypcclxuIF9cdCAgIF9fXHQgIF8gX19cclxufCB8XHQgLyAvX19fIF8oXykgL19fX19cclxufCB8IC98IC8gLyBfXyBgLyAvIC8gX19fL1xyXG58IHwvIHwvIC8gL18vIC8gLyAoX18gIClcclxufF9fL3xfXy9cXF9fLF8vXy9fL19fX18vXHJcblRoZSBlbGVjdHJvbiBhbHRlcm5hdGl2ZSBmb3IgR29cclxuKGMpIExlYSBBbnRob255IDIwMTktcHJlc2VudFxyXG4qL1xyXG5cclxuLyoganNoaW50IGVzdmVyc2lvbjogOSAqL1xyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpemVcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFdpZHRoIC0gVGhlIHdpZHRoLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gSGVpZ2h0IC0gVGhlIGhlaWdodC5cclxuICovXHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge09iamVjdH0gUmVjdFxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gWCAtIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIG9yaWdpbi5cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFkgLSBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBvcmlnaW4uXHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBXaWR0aCAtIFRoZSB3aWR0aCBvZiB0aGUgcmVjdGFuZ2xlLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gSGVpZ2h0IC0gVGhlIGhlaWdodCBvZiB0aGUgcmVjdGFuZ2xlLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTY3JlZW5cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IElEIC0gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBzY3JlZW4uXHJcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBOYW1lIC0gSHVtYW4gcmVhZGFibGUgbmFtZSBvZiB0aGUgc2NyZWVuLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gU2NhbGVGYWN0b3IgLSBUaGUgc2NhbGUgZmFjdG9yIG9mIHRoZSBzY3JlZW4gKERQSS85NikuIDEgPSBzdGFuZGFyZCBEUEksIDIgPSBIaURQSSAoUmV0aW5hKSwgZXRjLlxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gWCAtIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIHNjcmVlbi5cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFkgLSBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBzY3JlZW4uXHJcbiAqIEBwcm9wZXJ0eSB7U2l6ZX0gU2l6ZSAtIENvbnRhaW5zIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBzY3JlZW4uXHJcbiAqIEBwcm9wZXJ0eSB7UmVjdH0gQm91bmRzIC0gQ29udGFpbnMgdGhlIGJvdW5kcyBvZiB0aGUgc2NyZWVuIGluIHRlcm1zIG9mIFgsIFksIFdpZHRoLCBhbmQgSGVpZ2h0LlxyXG4gKiBAcHJvcGVydHkge1JlY3R9IFBoeXNpY2FsQm91bmRzIC0gQ29udGFpbnMgdGhlIHBoeXNpY2FsIGJvdW5kcyBvZiB0aGUgc2NyZWVuIGluIHRlcm1zIG9mIFgsIFksIFdpZHRoLCBhbmQgSGVpZ2h0IChiZWZvcmUgc2NhbGluZykuXHJcbiAqIEBwcm9wZXJ0eSB7UmVjdH0gV29ya0FyZWEgLSBDb250YWlucyB0aGUgYXJlYSBvZiB0aGUgc2NyZWVuIHRoYXQgaXMgYWN0dWFsbHkgdXNhYmxlIChleGNsdWRpbmcgdGFza2JhciBhbmQgb3RoZXIgc3lzdGVtIFVJKS5cclxuICogQHByb3BlcnR5IHtSZWN0fSBQaHlzaWNhbFdvcmtBcmVhIC0gQ29udGFpbnMgdGhlIHBoeXNpY2FsIFdvcmtBcmVhIG9mIHRoZSBzY3JlZW4gKGJlZm9yZSBzY2FsaW5nKS5cclxuICogQHByb3BlcnR5IHtib29sZWFufSBJc1ByaW1hcnkgLSBUcnVlIGlmIHRoaXMgaXMgdGhlIHByaW1hcnkgbW9uaXRvciBzZWxlY3RlZCBieSB0aGUgdXNlciBpbiB0aGUgb3BlcmF0aW5nIHN5c3RlbS5cclxuICogQHByb3BlcnR5IHtudW1iZXJ9IFJvdGF0aW9uIC0gVGhlIHJvdGF0aW9uIG9mIHRoZSBzY3JlZW4uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgbmV3UnVudGltZUNhbGxlcldpdGhJRCwgb2JqZWN0TmFtZXMgfSBmcm9tIFwiLi9ydW50aW1lXCI7XHJcbmNvbnN0IGNhbGwgPSBuZXdSdW50aW1lQ2FsbGVyV2l0aElEKG9iamVjdE5hbWVzLlNjcmVlbnMsIFwiXCIpO1xyXG5cclxuY29uc3QgZ2V0QWxsID0gMDtcclxuY29uc3QgZ2V0UHJpbWFyeSA9IDE7XHJcbmNvbnN0IGdldEN1cnJlbnQgPSAyO1xyXG5cclxuLyoqXHJcbiAqIEdldHMgYWxsIHNjcmVlbnMuXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNjcmVlbltdPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgU2NyZWVuIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gR2V0QWxsKCkge1xyXG4gICAgcmV0dXJuIGNhbGwoZ2V0QWxsKTtcclxufVxyXG4vKipcclxuICogR2V0cyB0aGUgcHJpbWFyeSBzY3JlZW4uXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNjcmVlbj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBwcmltYXJ5IHNjcmVlbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBHZXRQcmltYXJ5KCkge1xyXG4gICAgcmV0dXJuIGNhbGwoZ2V0UHJpbWFyeSk7XHJcbn1cclxuLyoqXHJcbiAqIEdldHMgdGhlIGN1cnJlbnQgYWN0aXZlIHNjcmVlbi5cclxuICpcclxuICogQHJldHVybnMge1Byb21pc2U8U2NyZWVuPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY3VycmVudCBhY3RpdmUgc2NyZWVuLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEdldEN1cnJlbnQoKSB7XHJcbiAgICByZXR1cm4gY2FsbChnZXRDdXJyZW50KTtcclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBO0FBQUE7QUFBQTtBQUFBOzs7QUM2QkEsSUFBSSxjQUNBO0FBRUcsSUFBSSxTQUFTLENBQUMsT0FBTyxPQUFPO0FBQy9CLE1BQUksS0FBSztBQUVULE1BQUksSUFBSSxPQUFPO0FBQ2YsU0FBTyxLQUFLO0FBRVIsVUFBTSxZQUFhLEtBQUssT0FBTyxJQUFJLEtBQU0sQ0FBQztBQUFBLEVBQzlDO0FBQ0EsU0FBTztBQUNYOzs7QUM1QkEsSUFBTSxhQUFhLE9BQU8sU0FBUyxT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Sjs7O0FDNUhBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJDQSxJQUFNQyxRQUFPLHVCQUF1QixZQUFZLFNBQVMsRUFBRTtBQUUzRCxJQUFNLFNBQVM7QUFDZixJQUFNLGFBQWE7QUFDbkIsSUFBTSxhQUFhO0FBTVosU0FBUyxTQUFTO0FBQ3JCLFNBQU9BLE1BQUssTUFBTTtBQUN0QjtBQUtPLFNBQVMsYUFBYTtBQUN6QixTQUFPQSxNQUFLLFVBQVU7QUFDMUI7QUFNTyxTQUFTLGFBQWE7QUFDekIsU0FBT0EsTUFBSyxVQUFVO0FBQzFCOzs7QW5CM0RBLE9BQU8sU0FBUyxPQUFPLFVBQVUsQ0FBQztBQWtDbEMsSUFBSSxjQUFjO0FBQ1gsU0FBUyxPQUFPO0FBQ25CLFNBQU8sT0FBTyxTQUFnQjtBQUM5QixFQUFPLE9BQU8scUJBQXFCO0FBQ25DLGdCQUFjO0FBQ2xCO0FBRUEsT0FBTyxpQkFBaUIsUUFBUSxNQUFNO0FBQ2xDLE1BQUksQ0FBQyxhQUFhO0FBQ2QsU0FBSztBQUFBLEVBQ1Q7QUFDSixDQUFDOyIsCiAgIm5hbWVzIjogWyJFcnJvciIsICJjYWxsIiwgIkVycm9yIiwgImNhbGwiLCAiZXZlbnROYW1lIiwgImNvbnRyb2xsZXIiLCAicmVzaXphYmxlIiwgImNhbGwiLCAiY2FsbCIsICJjYWxsIiwgIkhpZGVNZXRob2QiLCAiU2hvd01ldGhvZCIsICJjYWxsIiwgImdlbmVyYXRlSUQiLCAiY2FsbCIsICJNYXAiLCAiTWFwIiwgImtleSIsICJjYWxsIl0KfQo= diff --git a/v3/internal/assetserver/bundledassets/runtime.js b/v3/internal/assetserver/bundledassets/runtime.js index 7dc5f020703..85fc871ef3a 100644 --- a/v3/internal/assetserver/bundledassets/runtime.js +++ b/v3/internal/assetserver/bundledassets/runtime.js @@ -1 +1 @@ -var Me=Object.defineProperty;var w=(e,n)=>{for(var i in n)Me(e,i,{get:n[i],enumerable:!0})};var G={};w(G,{Application:()=>$,Browser:()=>P,Call:()=>ee,Clipboard:()=>ne,Create:()=>ie,Dialogs:()=>B,Events:()=>L,Flags:()=>Q,Screens:()=>oe,System:()=>X,WML:()=>j,Window:()=>E,init:()=>De});var j={};w(j,{Enable:()=>V,Reload:()=>me});var P={};w(P,{OpenURL:()=>I});var Ce="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",D=(e=21)=>{let n="",i=e|0;for(;i--;)n+=Ce[Math.random()*64|0];return n};var Se=window.location.origin+"/wails/runtime",a={Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9,CancelCall:10},xe=D();function l(e,n){return function(i,t=null){return ve(e,i,n,t)}}function ve(e,n,i,t){let r=new URL(Se);r.searchParams.append("object",e),r.searchParams.append("method",n);let s={headers:{}};return i&&(s.headers["x-wails-window-name"]=i),t&&r.searchParams.append("args",JSON.stringify(t)),s.headers["x-wails-client-id"]=xe,new Promise((c,m)=>{fetch(r,s).then(d=>{if(d.ok)return d.headers.get("Content-Type")&&d.headers.get("Content-Type").indexOf("application/json")!==-1?d.json():d.text();m(Error(d.statusText))}).then(d=>c(d)).catch(d=>m(d))})}var Ae=l(a.Browser,""),be=0;function I(e){return Ae(be,{url:e})}var B={};w(B,{Error:()=>Ne,Info:()=>ze,OpenFile:()=>Le,Question:()=>T,SaveFile:()=>He,Warning:()=>ke});window._wails=window._wails||{};window._wails.dialogErrorCallback=Be;window._wails.dialogResultCallback=Te;var Re=0,Ee=1,ye=2,Ue=3,Oe=4,Fe=5,Ie=l(a.Dialog,""),h=new Map;function Pe(){let e;do e=D();while(h.has(e));return e}function M(e,n={}){let i=Pe();return n["dialog-id"]=i,new Promise((t,r)=>{h.set(i,{resolve:t,reject:r}),Ie(e,n).catch(s=>{r(s),h.delete(i)})})}function Te(e,n,i){let t=h.get(e);t&&(i?t.resolve(JSON.parse(n)):t.resolve(n),h.delete(e))}function Be(e,n){let i=h.get(e);i&&(i.reject(n),h.delete(e))}var ze=e=>M(Re,e),ke=e=>M(Ee,e),Ne=e=>M(ye,e),T=e=>M(Ue,e),Le=e=>M(Oe,e),He=e=>M(Fe,e);var L={};w(L,{Emit:()=>N,Off:()=>Qe,OffAll:()=>Je,On:()=>Ke,OnMultiple:()=>k,Once:()=>Ye,Types:()=>Ze,WailsEvent:()=>v,setup:()=>je});var de={Windows:{SystemThemeChanged:"windows:SystemThemeChanged",APMPowerStatusChange:"windows:APMPowerStatusChange",APMSuspend:"windows:APMSuspend",APMResumeAutomatic:"windows:APMResumeAutomatic",APMResumeSuspend:"windows:APMResumeSuspend",APMPowerSettingChange:"windows:APMPowerSettingChange",ApplicationStarted:"windows:ApplicationStarted",WebViewNavigationCompleted:"windows:WebViewNavigationCompleted",WindowInactive:"windows:WindowInactive",WindowActive:"windows:WindowActive",WindowClickActive:"windows:WindowClickActive",WindowMaximise:"windows:WindowMaximise",WindowUnMaximise:"windows:WindowUnMaximise",WindowFullscreen:"windows:WindowFullscreen",WindowUnFullscreen:"windows:WindowUnFullscreen",WindowRestore:"windows:WindowRestore",WindowMinimise:"windows:WindowMinimise",WindowUnMinimise:"windows:WindowUnMinimise",WindowClosing:"windows:WindowClosing",WindowSetFocus:"windows:WindowSetFocus",WindowKillFocus:"windows:WindowKillFocus",WindowDragDrop:"windows:WindowDragDrop",WindowDragEnter:"windows:WindowDragEnter",WindowDragLeave:"windows:WindowDragLeave",WindowDragOver:"windows:WindowDragOver",WindowDidMove:"windows:WindowDidMove",WindowDidResize:"windows:WindowDidResize",WindowShow:"windows:WindowShow",WindowHide:"windows:WindowHide",WindowStartMove:"windows:WindowStartMove",WindowEndMove:"windows:WindowEndMove",WindowStartResize:"windows:WindowStartResize",WindowEndResize:"windows:WindowEndResize",WindowKeyDown:"windows:WindowKeyDown",WindowKeyUp:"windows:WindowKeyUp",WindowZOrderChanged:"windows:WindowZOrderChanged",WindowPaint:"windows:WindowPaint",WindowBackgroundErase:"windows:WindowBackgroundErase",WindowNonClientHit:"windows:WindowNonClientHit",WindowNonClientMouseDown:"windows:WindowNonClientMouseDown",WindowNonClientMouseUp:"windows:WindowNonClientMouseUp",WindowNonClientMouseMove:"windows:WindowNonClientMouseMove",WindowNonClientMouseLeave:"windows:WindowNonClientMouseLeave",WindowDPIChanged:"windows:WindowDPIChanged"},Mac:{ApplicationDidBecomeActive:"mac:ApplicationDidBecomeActive",ApplicationDidChangeBackingProperties:"mac:ApplicationDidChangeBackingProperties",ApplicationDidChangeEffectiveAppearance:"mac:ApplicationDidChangeEffectiveAppearance",ApplicationDidChangeIcon:"mac:ApplicationDidChangeIcon",ApplicationDidChangeOcclusionState:"mac:ApplicationDidChangeOcclusionState",ApplicationDidChangeScreenParameters:"mac:ApplicationDidChangeScreenParameters",ApplicationDidChangeStatusBarFrame:"mac:ApplicationDidChangeStatusBarFrame",ApplicationDidChangeStatusBarOrientation:"mac:ApplicationDidChangeStatusBarOrientation",ApplicationDidFinishLaunching:"mac:ApplicationDidFinishLaunching",ApplicationDidHide:"mac:ApplicationDidHide",ApplicationDidResignActiveNotification:"mac:ApplicationDidResignActiveNotification",ApplicationDidUnhide:"mac:ApplicationDidUnhide",ApplicationDidUpdate:"mac:ApplicationDidUpdate",ApplicationWillBecomeActive:"mac:ApplicationWillBecomeActive",ApplicationWillFinishLaunching:"mac:ApplicationWillFinishLaunching",ApplicationWillHide:"mac:ApplicationWillHide",ApplicationWillResignActive:"mac:ApplicationWillResignActive",ApplicationWillTerminate:"mac:ApplicationWillTerminate",ApplicationWillUnhide:"mac:ApplicationWillUnhide",ApplicationWillUpdate:"mac:ApplicationWillUpdate",ApplicationDidChangeTheme:"mac:ApplicationDidChangeTheme!",ApplicationShouldHandleReopen:"mac:ApplicationShouldHandleReopen!",WindowDidBecomeKey:"mac:WindowDidBecomeKey",WindowDidBecomeMain:"mac:WindowDidBecomeMain",WindowDidBeginSheet:"mac:WindowDidBeginSheet",WindowDidChangeAlpha:"mac:WindowDidChangeAlpha",WindowDidChangeBackingLocation:"mac:WindowDidChangeBackingLocation",WindowDidChangeBackingProperties:"mac:WindowDidChangeBackingProperties",WindowDidChangeCollectionBehavior:"mac:WindowDidChangeCollectionBehavior",WindowDidChangeEffectiveAppearance:"mac:WindowDidChangeEffectiveAppearance",WindowDidChangeOcclusionState:"mac:WindowDidChangeOcclusionState",WindowDidChangeOrderingMode:"mac:WindowDidChangeOrderingMode",WindowDidChangeScreen:"mac:WindowDidChangeScreen",WindowDidChangeScreenParameters:"mac:WindowDidChangeScreenParameters",WindowDidChangeScreenProfile:"mac:WindowDidChangeScreenProfile",WindowDidChangeScreenSpace:"mac:WindowDidChangeScreenSpace",WindowDidChangeScreenSpaceProperties:"mac:WindowDidChangeScreenSpaceProperties",WindowDidChangeSharingType:"mac:WindowDidChangeSharingType",WindowDidChangeSpace:"mac:WindowDidChangeSpace",WindowDidChangeSpaceOrderingMode:"mac:WindowDidChangeSpaceOrderingMode",WindowDidChangeTitle:"mac:WindowDidChangeTitle",WindowDidChangeToolbar:"mac:WindowDidChangeToolbar",WindowDidDeminiaturize:"mac:WindowDidDeminiaturize",WindowDidEndSheet:"mac:WindowDidEndSheet",WindowDidEnterFullScreen:"mac:WindowDidEnterFullScreen",WindowMaximise:"mac:WindowMaximise",WindowUnMaximise:"mac:WindowUnMaximise",WindowDidZoom:"mac:WindowDidZoom!",WindowZoomIn:"mac:WindowZoomIn!",WindowZoomOut:"mac:WindowZoomOut!",WindowZoomReset:"mac:WindowZoomReset!",WindowDidEnterVersionBrowser:"mac:WindowDidEnterVersionBrowser",WindowDidExitFullScreen:"mac:WindowDidExitFullScreen",WindowDidExitVersionBrowser:"mac:WindowDidExitVersionBrowser",WindowDidExpose:"mac:WindowDidExpose",WindowDidFocus:"mac:WindowDidFocus",WindowDidMiniaturize:"mac:WindowDidMiniaturize",WindowDidMove:"mac:WindowDidMove",WindowDidOrderOffScreen:"mac:WindowDidOrderOffScreen",WindowDidOrderOnScreen:"mac:WindowDidOrderOnScreen",WindowDidResignKey:"mac:WindowDidResignKey",WindowDidResignMain:"mac:WindowDidResignMain",WindowDidResize:"mac:WindowDidResize",WindowDidUpdate:"mac:WindowDidUpdate",WindowDidUpdateAlpha:"mac:WindowDidUpdateAlpha",WindowDidUpdateCollectionBehavior:"mac:WindowDidUpdateCollectionBehavior",WindowDidUpdateCollectionProperties:"mac:WindowDidUpdateCollectionProperties",WindowDidUpdateShadow:"mac:WindowDidUpdateShadow",WindowDidUpdateTitle:"mac:WindowDidUpdateTitle",WindowDidUpdateToolbar:"mac:WindowDidUpdateToolbar",WindowShouldClose:"mac:WindowShouldClose!",WindowWillBecomeKey:"mac:WindowWillBecomeKey",WindowWillBecomeMain:"mac:WindowWillBecomeMain",WindowWillBeginSheet:"mac:WindowWillBeginSheet",WindowWillChangeOrderingMode:"mac:WindowWillChangeOrderingMode",WindowWillClose:"mac:WindowWillClose",WindowWillDeminiaturize:"mac:WindowWillDeminiaturize",WindowWillEnterFullScreen:"mac:WindowWillEnterFullScreen",WindowWillEnterVersionBrowser:"mac:WindowWillEnterVersionBrowser",WindowWillExitFullScreen:"mac:WindowWillExitFullScreen",WindowWillExitVersionBrowser:"mac:WindowWillExitVersionBrowser",WindowWillFocus:"mac:WindowWillFocus",WindowWillMiniaturize:"mac:WindowWillMiniaturize",WindowWillMove:"mac:WindowWillMove",WindowWillOrderOffScreen:"mac:WindowWillOrderOffScreen",WindowWillOrderOnScreen:"mac:WindowWillOrderOnScreen",WindowWillResignMain:"mac:WindowWillResignMain",WindowWillResize:"mac:WindowWillResize",WindowWillUnfocus:"mac:WindowWillUnfocus",WindowWillUpdate:"mac:WindowWillUpdate",WindowWillUpdateAlpha:"mac:WindowWillUpdateAlpha",WindowWillUpdateCollectionBehavior:"mac:WindowWillUpdateCollectionBehavior",WindowWillUpdateCollectionProperties:"mac:WindowWillUpdateCollectionProperties",WindowWillUpdateShadow:"mac:WindowWillUpdateShadow",WindowWillUpdateTitle:"mac:WindowWillUpdateTitle",WindowWillUpdateToolbar:"mac:WindowWillUpdateToolbar",WindowWillUpdateVisibility:"mac:WindowWillUpdateVisibility",WindowWillUseStandardFrame:"mac:WindowWillUseStandardFrame",MenuWillOpen:"mac:MenuWillOpen",MenuDidOpen:"mac:MenuDidOpen",MenuDidClose:"mac:MenuDidClose",MenuWillSendAction:"mac:MenuWillSendAction",MenuDidSendAction:"mac:MenuDidSendAction",MenuWillHighlightItem:"mac:MenuWillHighlightItem",MenuDidHighlightItem:"mac:MenuDidHighlightItem",MenuWillDisplayItem:"mac:MenuWillDisplayItem",MenuDidDisplayItem:"mac:MenuDidDisplayItem",MenuWillAddItem:"mac:MenuWillAddItem",MenuDidAddItem:"mac:MenuDidAddItem",MenuWillRemoveItem:"mac:MenuWillRemoveItem",MenuDidRemoveItem:"mac:MenuDidRemoveItem",MenuWillBeginTracking:"mac:MenuWillBeginTracking",MenuDidBeginTracking:"mac:MenuDidBeginTracking",MenuWillEndTracking:"mac:MenuWillEndTracking",MenuDidEndTracking:"mac:MenuDidEndTracking",MenuWillUpdate:"mac:MenuWillUpdate",MenuDidUpdate:"mac:MenuDidUpdate",MenuWillPopUp:"mac:MenuWillPopUp",MenuDidPopUp:"mac:MenuDidPopUp",MenuWillSendActionToItem:"mac:MenuWillSendActionToItem",MenuDidSendActionToItem:"mac:MenuDidSendActionToItem",WebViewDidStartProvisionalNavigation:"mac:WebViewDidStartProvisionalNavigation",WebViewDidReceiveServerRedirectForProvisionalNavigation:"mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",WebViewDidFinishNavigation:"mac:WebViewDidFinishNavigation",WebViewDidCommitNavigation:"mac:WebViewDidCommitNavigation",WindowFileDraggingEntered:"mac:WindowFileDraggingEntered",WindowFileDraggingPerformed:"mac:WindowFileDraggingPerformed",WindowFileDraggingExited:"mac:WindowFileDraggingExited",WindowShow:"mac:WindowShow",WindowHide:"mac:WindowHide"},Linux:{SystemThemeChanged:"linux:SystemThemeChanged",WindowLoadChanged:"linux:WindowLoadChanged",WindowDeleteEvent:"linux:WindowDeleteEvent",WindowDidMove:"linux:WindowDidMove",WindowDidResize:"linux:WindowDidResize",WindowFocusIn:"linux:WindowFocusIn",WindowFocusOut:"linux:WindowFocusOut",ApplicationStartup:"linux:ApplicationStartup"},Common:{ApplicationStarted:"common:ApplicationStarted",WindowMaximise:"common:WindowMaximise",WindowUnMaximise:"common:WindowUnMaximise",WindowFullscreen:"common:WindowFullscreen",WindowUnFullscreen:"common:WindowUnFullscreen",WindowRestore:"common:WindowRestore",WindowMinimise:"common:WindowMinimise",WindowUnMinimise:"common:WindowUnMinimise",WindowClosing:"common:WindowClosing",WindowZoom:"common:WindowZoom",WindowZoomIn:"common:WindowZoomIn",WindowZoomOut:"common:WindowZoomOut",WindowZoomReset:"common:WindowZoomReset",WindowFocus:"common:WindowFocus",WindowLostFocus:"common:WindowLostFocus",WindowShow:"common:WindowShow",WindowHide:"common:WindowHide",WindowDPIChanged:"common:WindowDPIChanged",WindowFilesDropped:"common:WindowFilesDropped",WindowRuntimeReady:"common:WindowRuntimeReady",ThemeChanged:"common:ThemeChanged",WindowDidMove:"common:WindowDidMove",WindowDidResize:"common:WindowDidResize",ApplicationOpenedWithFile:"common:ApplicationOpenedWithFile"}};var Ze=de;window._wails=window._wails||{};window._wails.dispatchWailsEvent=Ge;var _e=l(a.Events,""),Ve=0,u=new Map,z=class{constructor(n,i,t){this.eventName=n,this.maxCallbacks=t||-1,this.Callback=r=>(i(r),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},v=class{constructor(n,i=null){this.name=n,this.data=i}};function je(){}function Ge(e){let n=u.get(e.name);if(n){let i=n.filter(t=>{if(t.Callback(e))return!0});i.length>0&&(n=n.filter(t=>!i.includes(t)),n.length===0?u.delete(e.name):u.set(e.name,n))}}function k(e,n,i){let t=u.get(e)||[],r=new z(e,n,i);return t.push(r),u.set(e,t),()=>Xe(r)}function Ke(e,n){return k(e,n,-1)}function Ye(e,n){return k(e,n,1)}function Xe(e){let n=e.eventName,i=u.get(n).filter(t=>t!==e);i.length===0?u.delete(n):u.set(n,i)}function Qe(e,...n){[e,...n].forEach(t=>u.delete(t))}function Je(){u.clear()}function N(e){return _e(Ve,e)}function ae(){if(!EventTarget||!AbortSignal||!AbortController)return!1;let e=!0,n=new EventTarget,i=new AbortController;return n.addEventListener("test",()=>{e=!1},{signal:i.signal}),i.abort(),n.dispatchEvent(new CustomEvent("test")),e}var le=!1;document.addEventListener("DOMContentLoaded",()=>le=!0);function se(e){le||document.readyState==="complete"?e():document.addEventListener("DOMContentLoaded",e)}var qe=0,$e=1,en=2,nn=3,tn=4,on=5,rn=6,dn=7,an=8,ln=9,sn=10,cn=11,wn=12,mn=13,un=14,pn=15,Wn=16,hn=17,gn=18,fn=19,Dn=20,Mn=21,Cn=22,Sn=23,xn=24,vn=25,An=26,bn=27,Rn=28,En=29,yn=30,Un=31,On=32,Fn=33,In=34,Pn=35,Tn=36,Bn=37,zn=38,kn=39,Nn=40,Ln=41,Hn=42,Zn=43,_n=44,Vn=45,jn=46,Gn=47,o=Symbol(),H=class e{constructor(n=""){this[o]=l(a.Window,n);for(let i of Object.getOwnPropertyNames(e.prototype))i!=="constructor"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this))}Get(n){return new e(n)}Position(){return this[o](qe)}Center(){return this[o]($e)}Close(){return this[o](en)}DisableSizeConstraints(){return this[o](nn)}EnableSizeConstraints(){return this[o](tn)}Focus(){return this[o](on)}ForceReload(){return this[o](rn)}Fullscreen(){return this[o](dn)}GetScreen(){return this[o](an)}GetZoom(){return this[o](ln)}Height(){return this[o](sn)}Hide(){return this[o](cn)}IsFocused(){return this[o](wn)}IsFullscreen(){return this[o](mn)}IsMaximised(){return this[o](un)}IsMinimised(){return this[o](pn)}Maximise(){return this[o](Wn)}Minimise(){return this[o](hn)}Name(){return this[o](gn)}OpenDevTools(){return this[o](fn)}RelativePosition(){return this[o](Dn)}Reload(){return this[o](Mn)}Resizable(){return this[o](Cn)}Restore(){return this[o](Sn)}SetPosition(n,i){return this[o](xn,{x:n,y:i})}SetAlwaysOnTop(n){return this[o](vn,{alwaysOnTop:n})}SetBackgroundColour(n,i,t,r){return this[o](An,{r:n,g:i,b:t,a:r})}SetFrameless(n){return this[o](bn,{frameless:n})}SetFullscreenButtonEnabled(n){return this[o](Rn,{enabled:n})}SetMaxSize(n,i){return this[o](En,{width:n,height:i})}SetMinSize(n,i){return this[o](yn,{width:n,height:i})}SetRelativePosition(n,i){return this[o](Un,{x:n,y:i})}SetResizable(n){return this[o](On,{resizable:n})}SetSize(n,i){return this[o](Fn,{width:n,height:i})}SetTitle(n){return this[o](In,{title:n})}SetZoom(n){return this[o](Pn,{zoom:n})}Show(){return this[o](Tn)}Size(){return this[o](Bn)}ToggleFullscreen(){return this[o](zn)}ToggleMaximise(){return this[o](kn)}UnFullscreen(){return this[o](Nn)}UnMaximise(){return this[o](Ln)}UnMinimise(){return this[o](Hn)}Width(){return this[o](Zn)}Zoom(){return this[o](_n)}ZoomIn(){return this[o](Vn)}ZoomOut(){return this[o](jn)}ZoomReset(){return this[o](Gn)}},Kn=new H(""),E=Kn;function Yn(e,n=null){N(new v(e,n))}function Xn(e,n){let i=E.Get(e),t=i[n];if(typeof t=="function")try{t.call(i)}catch{}}function ce(e){let n=e.currentTarget;function i(r="Yes"){if(r!=="Yes")return;let s=n.getAttribute("wml-event"),c=n.getAttribute("wml-target-window")||"",m=n.getAttribute("wml-window"),d=n.getAttribute("wml-openurl");s!==null&&Yn(s),m!==null&&Xn(c,m),d!==null&&I(d)}let t=n.getAttribute("wml-confirm");t?T({Title:"Confirm",Message:t,Detached:!1,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(i):i()}var y=Symbol(),Z=class{constructor(){this[y]=new AbortController}set(n,i){return{signal:this[y].signal}}reset(){this[y].abort(),this[y]=new AbortController}},A=Symbol(),C=Symbol(),_=class{constructor(){this[A]=new WeakMap,this[C]=0}set(n,i){return this[C]+=!this[A].has(n),this[A].set(n,i),{}}reset(){if(!(this[C]<=0)){for(let n of document.body.querySelectorAll("*")){if(this[C]<=0)break;let i=this[A].get(n);this[C]-=typeof i<"u";for(let t of i||[])n.removeEventListener(t,ce)}this[A]=new WeakMap,this[C]=0}}},we=ae()?new Z:new _;function Qn(e){let n=/\S+/g,i=e.getAttribute("wml-trigger")||"click",t=[],r;for(;(r=n.exec(i))!==null;)t.push(r[0]);let s=we.set(e,t);for(let c of t)e.addEventListener(c,ce,s)}function V(){se(me)}function me(){we.reset(),document.body.querySelectorAll("[wml-event], [wml-window], [wml-openurl]").forEach(Qn)}window.wails=G;V();var X={};w(X,{Capabilities:()=>ei,Environment:()=>ni,IsAMD64:()=>oi,IsARM:()=>ri,IsARM64:()=>di,IsDarkMode:()=>$n,IsDebug:()=>Y,IsLinux:()=>ii,IsMac:()=>ti,IsWindows:()=>K,invoke:()=>g});var pe=l(a.System,""),Jn=0,qn=1,ue=(()=>{try{if(window?.chrome?.webview)return e=>window.chrome.webview.postMessage(e);if(window?.webkit?.messageHandlers?.external)return e=>window.webkit.messageHandlers.external.postMessage(e)}catch{}return null})();function g(e){if(ue)return ue(e)}function $n(){return pe(Jn)}function ei(){return fetch("/wails/capabilities").json()}function ni(){return pe(qn)}function K(){return window._wails.environment.OS==="windows"}function ii(){return window._wails.environment.OS==="linux"}function ti(){return window._wails.environment.OS==="darwin"}function oi(){return window._wails.environment.Arch==="amd64"}function ri(){return window._wails.environment.Arch==="arm"}function di(){return window._wails.environment.Arch==="arm64"}function Y(){return window._wails.environment.Debug===!0}window.addEventListener("contextmenu",ci);var ai=l(a.ContextMenu,""),li=0;function si(e,n,i,t){ai(li,{id:e,x:n,y:i,data:t})}function ci(e){let n=e.target,i=window.getComputedStyle(n).getPropertyValue("--custom-contextmenu");if(i=i?i.trim():"",i){e.preventDefault();let t=window.getComputedStyle(n).getPropertyValue("--custom-contextmenu-data");si(i,e.clientX,e.clientY,t);return}wi(e)}function wi(e){if(Y())return;let n=e.target;switch(window.getComputedStyle(n).getPropertyValue("--default-contextmenu").trim()){case"show":return;case"hide":e.preventDefault();return;default:if(n.isContentEditable)return;let r=window.getSelection(),s=r.toString().length>0;if(s)for(let c=0;cb});function b(e){try{return window._wails.flags[e]}catch(n){throw new Error("Unable to retrieve flag '"+e+"': "+n)}}var S=!1,We=!1,U=null,J="auto";window._wails=window._wails||{};window._wails.setResizable=function(e){We=e};window._wails.endDrag=function(){document.body.style.cursor="default",S=!1};window.addEventListener("mousedown",ui);window.addEventListener("mousemove",Wi);window.addEventListener("mouseup",pi);function mi(e){let n=window.getComputedStyle(e.target).getPropertyValue("--wails-draggable"),i=e.buttons!==void 0?e.buttons:e.which;return!n||n===""||n.trim()!=="drag"||i===0?!1:e.detail===1}function ui(e){if(U){g("wails:resize:"+U),e.preventDefault();return}if(mi(e)){if(e.offsetX>e.target.clientWidth||e.offsetY>e.target.clientHeight)return;S=!0}else S=!1}function pi(){S=!1}function W(e){document.documentElement.style.cursor=e||J,U=e}function Wi(e){if(S&&(S=!1,(e.buttons!==void 0?e.buttons:e.which)>0)){g("wails:drag");return}if(!We||!K())return;J==null&&(J=document.documentElement.style.cursor);let n=b("system.resizeHandleHeight")||5,i=b("system.resizeHandleWidth")||5,t=b("resizeCornerExtra")||10,r=window.outerWidth-e.clientXDi,Quit:()=>Ci,Show:()=>Mi});var q=l(a.Application,""),hi=0,gi=1,fi=2;function Di(){return q(hi)}function Mi(){return q(gi)}function Ci(){return q(fi)}var ee={};w(ee,{ByID:()=>yi,ByName:()=>Ei,Call:()=>Ri,Plugin:()=>Ui});window._wails=window._wails||{};window._wails.callResultHandler=Ai;window._wails.callErrorHandler=bi;var O=0,Si=l(a.Call,""),xi=l(a.CancelCall,""),R=new Map;function vi(){let e;do e=D();while(R.has(e));return e}function Ai(e,n,i){let t=he(e);t&&t.resolve(i?JSON.parse(n):n)}function bi(e,n){let i=he(e);i&&i.reject(n)}function he(e){let n=R.get(e);return R.delete(e),n}function F(e,n={}){let i=vi(),t=()=>xi(e,{"call-id":i}),r=!1,s=!1,c=new Promise((m,d)=>{n["call-id"]=i,R.set(i,{resolve:m,reject:d}),Si(e,n).then(p=>{if(s=!0,r)return t()}).catch(p=>{d(p),R.delete(i)})});return c.cancel=()=>{if(s)return t();r=!0},c}function Ri(e){return F(O,e)}function Ei(e,...n){return F(O,{methodName:e,args:n})}function yi(e,...n){return F(O,{methodID:e,args:n})}function Ui(e,n,...i){return F(O,{packageName:"wails-plugins",structName:e,methodName:n,args:i})}var ne={};w(ne,{SetText:()=>Ii,Text:()=>Pi});var ge=l(a.Clipboard,""),Oi=0,Fi=1;function Ii(e){return ge(Oi,{text:e})}function Pi(){return ge(Fi)}var ie={};w(ie,{Any:()=>f,Array:()=>Bi,ByteSlice:()=>Ti,Map:()=>zi,Nullable:()=>ki,Struct:()=>Ni});function f(e){return e}function Ti(e){return e??""}function Bi(e){return e===f?n=>n===null?[]:n:n=>{if(n===null)return[];for(let i=0;ii===null?{}:i:i=>{if(i===null)return{};for(let t in i)i[t]=n(i[t]);return i}}function ki(e){return e===f?f:n=>n===null?null:e(n)}function Ni(e){let n=!0;for(let i in e)if(e[i]!==f){n=!1;break}return n?f:i=>{for(let t in e)t in i&&(i[t]=e[t](i[t]));return i}}var oe={};w(oe,{GetAll:()=>_i,GetCurrent:()=>ji,GetPrimary:()=>Vi});var te=l(a.Screens,""),Li=0,Hi=1,Zi=2;function _i(){return te(Li)}function Vi(){return te(Hi)}function ji(){return te(Zi)}window._wails=window._wails||{};var fe=!1;function De(){window._wails.invoke=g,g("wails:runtime:ready"),fe=!0}window.addEventListener("load",()=>{fe||De()});export{$ as Application,P as Browser,ee as Call,ne as Clipboard,ie as Create,B as Dialogs,L as Events,Q as Flags,oe as Screens,X as System,j as WML,E as Window,De as init}; +var Me=Object.defineProperty;var w=(e,n)=>{for(var i in n)Me(e,i,{get:n[i],enumerable:!0})};var G={};w(G,{Application:()=>$,Browser:()=>P,Call:()=>ee,Clipboard:()=>ne,Create:()=>ie,Dialogs:()=>B,Events:()=>N,Flags:()=>Q,Screens:()=>oe,System:()=>X,WML:()=>j,Window:()=>E,init:()=>De});var j={};w(j,{Enable:()=>V,Reload:()=>me});var P={};w(P,{OpenURL:()=>I});var Ce="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",D=(e=21)=>{let n="",i=e|0;for(;i--;)n+=Ce[Math.random()*64|0];return n};var Se=window.location.origin+"/wails/runtime",a={Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9,CancelCall:10},xe=D();function l(e,n){return function(i,t=null){return ve(e,i,n,t)}}function ve(e,n,i,t){let r=new URL(Se);r.searchParams.append("object",e),r.searchParams.append("method",n);let s={headers:{}};return i&&(s.headers["x-wails-window-name"]=i),t&&r.searchParams.append("args",JSON.stringify(t)),s.headers["x-wails-client-id"]=xe,new Promise((c,m)=>{fetch(r,s).then(d=>{if(d.ok)return d.headers.get("Content-Type")&&d.headers.get("Content-Type").indexOf("application/json")!==-1?d.json():d.text();m(Error(d.statusText))}).then(d=>c(d)).catch(d=>m(d))})}var Ae=l(a.Browser,""),be=0;function I(e){return Ae(be,{url:e})}var B={};w(B,{Error:()=>Le,Info:()=>ze,OpenFile:()=>Ne,Question:()=>T,SaveFile:()=>He,Warning:()=>ke});window._wails=window._wails||{};window._wails.dialogErrorCallback=Be;window._wails.dialogResultCallback=Te;var Re=0,Ee=1,ye=2,Ue=3,Oe=4,Fe=5,Ie=l(a.Dialog,""),h=new Map;function Pe(){let e;do e=D();while(h.has(e));return e}function M(e,n={}){let i=Pe();return n["dialog-id"]=i,new Promise((t,r)=>{h.set(i,{resolve:t,reject:r}),Ie(e,n).catch(s=>{r(s),h.delete(i)})})}function Te(e,n,i){let t=h.get(e);t&&(i?t.resolve(JSON.parse(n)):t.resolve(n),h.delete(e))}function Be(e,n){let i=h.get(e);i&&(i.reject(n),h.delete(e))}var ze=e=>M(Re,e),ke=e=>M(Ee,e),Le=e=>M(ye,e),T=e=>M(Ue,e),Ne=e=>M(Oe,e),He=e=>M(Fe,e);var N={};w(N,{Emit:()=>L,Off:()=>Qe,OffAll:()=>Je,On:()=>Ke,OnMultiple:()=>k,Once:()=>Ye,Types:()=>Ze,WailsEvent:()=>v,setup:()=>je});var de={Windows:{SystemThemeChanged:"windows:SystemThemeChanged",APMPowerStatusChange:"windows:APMPowerStatusChange",APMSuspend:"windows:APMSuspend",APMResumeAutomatic:"windows:APMResumeAutomatic",APMResumeSuspend:"windows:APMResumeSuspend",APMPowerSettingChange:"windows:APMPowerSettingChange",ApplicationStarted:"windows:ApplicationStarted",WebViewNavigationCompleted:"windows:WebViewNavigationCompleted",WindowInactive:"windows:WindowInactive",WindowActive:"windows:WindowActive",WindowClickActive:"windows:WindowClickActive",WindowMaximise:"windows:WindowMaximise",WindowUnMaximise:"windows:WindowUnMaximise",WindowFullscreen:"windows:WindowFullscreen",WindowUnFullscreen:"windows:WindowUnFullscreen",WindowRestore:"windows:WindowRestore",WindowMinimise:"windows:WindowMinimise",WindowUnMinimise:"windows:WindowUnMinimise",WindowClosing:"windows:WindowClosing",WindowSetFocus:"windows:WindowSetFocus",WindowKillFocus:"windows:WindowKillFocus",WindowDragDrop:"windows:WindowDragDrop",WindowDragEnter:"windows:WindowDragEnter",WindowDragLeave:"windows:WindowDragLeave",WindowDragOver:"windows:WindowDragOver",WindowDidMove:"windows:WindowDidMove",WindowDidResize:"windows:WindowDidResize",WindowShow:"windows:WindowShow",WindowHide:"windows:WindowHide",WindowStartMove:"windows:WindowStartMove",WindowEndMove:"windows:WindowEndMove",WindowStartResize:"windows:WindowStartResize",WindowEndResize:"windows:WindowEndResize",WindowKeyDown:"windows:WindowKeyDown",WindowKeyUp:"windows:WindowKeyUp",WindowZOrderChanged:"windows:WindowZOrderChanged",WindowPaint:"windows:WindowPaint",WindowBackgroundErase:"windows:WindowBackgroundErase",WindowNonClientHit:"windows:WindowNonClientHit",WindowNonClientMouseDown:"windows:WindowNonClientMouseDown",WindowNonClientMouseUp:"windows:WindowNonClientMouseUp",WindowNonClientMouseMove:"windows:WindowNonClientMouseMove",WindowNonClientMouseLeave:"windows:WindowNonClientMouseLeave",WindowDPIChanged:"windows:WindowDPIChanged"},Mac:{ApplicationDidBecomeActive:"mac:ApplicationDidBecomeActive",ApplicationDidChangeBackingProperties:"mac:ApplicationDidChangeBackingProperties",ApplicationDidChangeEffectiveAppearance:"mac:ApplicationDidChangeEffectiveAppearance",ApplicationDidChangeIcon:"mac:ApplicationDidChangeIcon",ApplicationDidChangeOcclusionState:"mac:ApplicationDidChangeOcclusionState",ApplicationDidChangeScreenParameters:"mac:ApplicationDidChangeScreenParameters",ApplicationDidChangeStatusBarFrame:"mac:ApplicationDidChangeStatusBarFrame",ApplicationDidChangeStatusBarOrientation:"mac:ApplicationDidChangeStatusBarOrientation",ApplicationDidFinishLaunching:"mac:ApplicationDidFinishLaunching",ApplicationDidHide:"mac:ApplicationDidHide",ApplicationDidResignActiveNotification:"mac:ApplicationDidResignActiveNotification",ApplicationDidUnhide:"mac:ApplicationDidUnhide",ApplicationDidUpdate:"mac:ApplicationDidUpdate",ApplicationWillBecomeActive:"mac:ApplicationWillBecomeActive",ApplicationWillFinishLaunching:"mac:ApplicationWillFinishLaunching",ApplicationWillHide:"mac:ApplicationWillHide",ApplicationWillResignActive:"mac:ApplicationWillResignActive",ApplicationWillTerminate:"mac:ApplicationWillTerminate",ApplicationWillUnhide:"mac:ApplicationWillUnhide",ApplicationWillUpdate:"mac:ApplicationWillUpdate",ApplicationDidChangeTheme:"mac:ApplicationDidChangeTheme!",ApplicationShouldHandleReopen:"mac:ApplicationShouldHandleReopen!",WindowDidBecomeKey:"mac:WindowDidBecomeKey",WindowDidBecomeMain:"mac:WindowDidBecomeMain",WindowDidBeginSheet:"mac:WindowDidBeginSheet",WindowDidChangeAlpha:"mac:WindowDidChangeAlpha",WindowDidChangeBackingLocation:"mac:WindowDidChangeBackingLocation",WindowDidChangeBackingProperties:"mac:WindowDidChangeBackingProperties",WindowDidChangeCollectionBehavior:"mac:WindowDidChangeCollectionBehavior",WindowDidChangeEffectiveAppearance:"mac:WindowDidChangeEffectiveAppearance",WindowDidChangeOcclusionState:"mac:WindowDidChangeOcclusionState",WindowDidChangeOrderingMode:"mac:WindowDidChangeOrderingMode",WindowDidChangeScreen:"mac:WindowDidChangeScreen",WindowDidChangeScreenParameters:"mac:WindowDidChangeScreenParameters",WindowDidChangeScreenProfile:"mac:WindowDidChangeScreenProfile",WindowDidChangeScreenSpace:"mac:WindowDidChangeScreenSpace",WindowDidChangeScreenSpaceProperties:"mac:WindowDidChangeScreenSpaceProperties",WindowDidChangeSharingType:"mac:WindowDidChangeSharingType",WindowDidChangeSpace:"mac:WindowDidChangeSpace",WindowDidChangeSpaceOrderingMode:"mac:WindowDidChangeSpaceOrderingMode",WindowDidChangeTitle:"mac:WindowDidChangeTitle",WindowDidChangeToolbar:"mac:WindowDidChangeToolbar",WindowDidDeminiaturize:"mac:WindowDidDeminiaturize",WindowDidEndSheet:"mac:WindowDidEndSheet",WindowDidEnterFullScreen:"mac:WindowDidEnterFullScreen",WindowMaximise:"mac:WindowMaximise",WindowUnMaximise:"mac:WindowUnMaximise",WindowDidZoom:"mac:WindowDidZoom!",WindowZoomIn:"mac:WindowZoomIn!",WindowZoomOut:"mac:WindowZoomOut!",WindowZoomReset:"mac:WindowZoomReset!",WindowDidEnterVersionBrowser:"mac:WindowDidEnterVersionBrowser",WindowDidExitFullScreen:"mac:WindowDidExitFullScreen",WindowDidExitVersionBrowser:"mac:WindowDidExitVersionBrowser",WindowDidExpose:"mac:WindowDidExpose",WindowDidFocus:"mac:WindowDidFocus",WindowDidMiniaturize:"mac:WindowDidMiniaturize",WindowDidMove:"mac:WindowDidMove",WindowDidOrderOffScreen:"mac:WindowDidOrderOffScreen",WindowDidOrderOnScreen:"mac:WindowDidOrderOnScreen",WindowDidResignKey:"mac:WindowDidResignKey",WindowDidResignMain:"mac:WindowDidResignMain",WindowDidResize:"mac:WindowDidResize",WindowDidUpdate:"mac:WindowDidUpdate",WindowDidUpdateAlpha:"mac:WindowDidUpdateAlpha",WindowDidUpdateCollectionBehavior:"mac:WindowDidUpdateCollectionBehavior",WindowDidUpdateCollectionProperties:"mac:WindowDidUpdateCollectionProperties",WindowDidUpdateShadow:"mac:WindowDidUpdateShadow",WindowDidUpdateTitle:"mac:WindowDidUpdateTitle",WindowDidUpdateToolbar:"mac:WindowDidUpdateToolbar",WindowShouldClose:"mac:WindowShouldClose!",WindowWillBecomeKey:"mac:WindowWillBecomeKey",WindowWillBecomeMain:"mac:WindowWillBecomeMain",WindowWillBeginSheet:"mac:WindowWillBeginSheet",WindowWillChangeOrderingMode:"mac:WindowWillChangeOrderingMode",WindowWillClose:"mac:WindowWillClose",WindowWillDeminiaturize:"mac:WindowWillDeminiaturize",WindowWillEnterFullScreen:"mac:WindowWillEnterFullScreen",WindowWillEnterVersionBrowser:"mac:WindowWillEnterVersionBrowser",WindowWillExitFullScreen:"mac:WindowWillExitFullScreen",WindowWillExitVersionBrowser:"mac:WindowWillExitVersionBrowser",WindowWillFocus:"mac:WindowWillFocus",WindowWillMiniaturize:"mac:WindowWillMiniaturize",WindowWillMove:"mac:WindowWillMove",WindowWillOrderOffScreen:"mac:WindowWillOrderOffScreen",WindowWillOrderOnScreen:"mac:WindowWillOrderOnScreen",WindowWillResignMain:"mac:WindowWillResignMain",WindowWillResize:"mac:WindowWillResize",WindowWillUnfocus:"mac:WindowWillUnfocus",WindowWillUpdate:"mac:WindowWillUpdate",WindowWillUpdateAlpha:"mac:WindowWillUpdateAlpha",WindowWillUpdateCollectionBehavior:"mac:WindowWillUpdateCollectionBehavior",WindowWillUpdateCollectionProperties:"mac:WindowWillUpdateCollectionProperties",WindowWillUpdateShadow:"mac:WindowWillUpdateShadow",WindowWillUpdateTitle:"mac:WindowWillUpdateTitle",WindowWillUpdateToolbar:"mac:WindowWillUpdateToolbar",WindowWillUpdateVisibility:"mac:WindowWillUpdateVisibility",WindowWillUseStandardFrame:"mac:WindowWillUseStandardFrame",MenuWillOpen:"mac:MenuWillOpen",MenuDidOpen:"mac:MenuDidOpen",MenuDidClose:"mac:MenuDidClose",MenuWillSendAction:"mac:MenuWillSendAction",MenuDidSendAction:"mac:MenuDidSendAction",MenuWillHighlightItem:"mac:MenuWillHighlightItem",MenuDidHighlightItem:"mac:MenuDidHighlightItem",MenuWillDisplayItem:"mac:MenuWillDisplayItem",MenuDidDisplayItem:"mac:MenuDidDisplayItem",MenuWillAddItem:"mac:MenuWillAddItem",MenuDidAddItem:"mac:MenuDidAddItem",MenuWillRemoveItem:"mac:MenuWillRemoveItem",MenuDidRemoveItem:"mac:MenuDidRemoveItem",MenuWillBeginTracking:"mac:MenuWillBeginTracking",MenuDidBeginTracking:"mac:MenuDidBeginTracking",MenuWillEndTracking:"mac:MenuWillEndTracking",MenuDidEndTracking:"mac:MenuDidEndTracking",MenuWillUpdate:"mac:MenuWillUpdate",MenuDidUpdate:"mac:MenuDidUpdate",MenuWillPopUp:"mac:MenuWillPopUp",MenuDidPopUp:"mac:MenuDidPopUp",MenuWillSendActionToItem:"mac:MenuWillSendActionToItem",MenuDidSendActionToItem:"mac:MenuDidSendActionToItem",WebViewDidStartProvisionalNavigation:"mac:WebViewDidStartProvisionalNavigation",WebViewDidReceiveServerRedirectForProvisionalNavigation:"mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",WebViewDidFinishNavigation:"mac:WebViewDidFinishNavigation",WebViewDidCommitNavigation:"mac:WebViewDidCommitNavigation",WindowFileDraggingEntered:"mac:WindowFileDraggingEntered",WindowFileDraggingPerformed:"mac:WindowFileDraggingPerformed",WindowFileDraggingExited:"mac:WindowFileDraggingExited",WindowShow:"mac:WindowShow",WindowHide:"mac:WindowHide"},Linux:{SystemThemeChanged:"linux:SystemThemeChanged",WindowLoadChanged:"linux:WindowLoadChanged",WindowDeleteEvent:"linux:WindowDeleteEvent",WindowDidMove:"linux:WindowDidMove",WindowDidResize:"linux:WindowDidResize",WindowFocusIn:"linux:WindowFocusIn",WindowFocusOut:"linux:WindowFocusOut",ApplicationStartup:"linux:ApplicationStartup"},Common:{ApplicationStarted:"common:ApplicationStarted",WindowMaximise:"common:WindowMaximise",WindowUnMaximise:"common:WindowUnMaximise",WindowFullscreen:"common:WindowFullscreen",WindowUnFullscreen:"common:WindowUnFullscreen",WindowRestore:"common:WindowRestore",WindowMinimise:"common:WindowMinimise",WindowUnMinimise:"common:WindowUnMinimise",WindowClosing:"common:WindowClosing",WindowZoom:"common:WindowZoom",WindowZoomIn:"common:WindowZoomIn",WindowZoomOut:"common:WindowZoomOut",WindowZoomReset:"common:WindowZoomReset",WindowFocus:"common:WindowFocus",WindowLostFocus:"common:WindowLostFocus",WindowShow:"common:WindowShow",WindowHide:"common:WindowHide",WindowDPIChanged:"common:WindowDPIChanged",WindowFilesDropped:"common:WindowFilesDropped",WindowRuntimeReady:"common:WindowRuntimeReady",ThemeChanged:"common:ThemeChanged",WindowDidMove:"common:WindowDidMove",WindowDidResize:"common:WindowDidResize",ApplicationOpenedWithFile:"common:ApplicationOpenedWithFile"}};var Ze=de;window._wails=window._wails||{};window._wails.dispatchWailsEvent=Ge;var _e=l(a.Events,""),Ve=0,u=new Map,z=class{constructor(n,i,t){this.eventName=n,this.maxCallbacks=t||-1,this.Callback=r=>(i(r),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},v=class{constructor(n,i=null){this.name=n,this.data=i}};function je(){}function Ge(e){let n=u.get(e.name);if(n){let i=n.filter(t=>{if(t.Callback(e))return!0});i.length>0&&(n=n.filter(t=>!i.includes(t)),n.length===0?u.delete(e.name):u.set(e.name,n))}}function k(e,n,i){let t=u.get(e)||[],r=new z(e,n,i);return t.push(r),u.set(e,t),()=>Xe(r)}function Ke(e,n){return k(e,n,-1)}function Ye(e,n){return k(e,n,1)}function Xe(e){let n=e.eventName,i=u.get(n).filter(t=>t!==e);i.length===0?u.delete(n):u.set(n,i)}function Qe(e,...n){[e,...n].forEach(t=>u.delete(t))}function Je(){u.clear()}function L(e){return _e(Ve,e)}function ae(){if(!EventTarget||!AbortSignal||!AbortController)return!1;let e=!0,n=new EventTarget,i=new AbortController;return n.addEventListener("test",()=>{e=!1},{signal:i.signal}),i.abort(),n.dispatchEvent(new CustomEvent("test")),e}var le=!1;document.addEventListener("DOMContentLoaded",()=>le=!0);function se(e){le||document.readyState==="complete"?e():document.addEventListener("DOMContentLoaded",e)}var qe=0,$e=1,en=2,nn=3,tn=4,on=5,rn=6,dn=7,an=8,ln=9,sn=10,cn=11,wn=12,mn=13,un=14,pn=15,Wn=16,hn=17,gn=18,fn=19,Dn=20,Mn=21,Cn=22,Sn=23,xn=24,vn=25,An=26,bn=27,Rn=28,En=29,yn=30,Un=31,On=32,Fn=33,In=34,Pn=35,Tn=36,Bn=37,zn=38,kn=39,Ln=40,Nn=41,Hn=42,Zn=43,_n=44,Vn=45,jn=46,Gn=47,o=Symbol(),H=class e{constructor(n=""){this[o]=l(a.Window,n);for(let i of Object.getOwnPropertyNames(e.prototype))i!=="constructor"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this))}Get(n){return new e(n)}Position(){return this[o](qe)}Center(){return this[o]($e)}Close(){return this[o](en)}DisableSizeConstraints(){return this[o](nn)}EnableSizeConstraints(){return this[o](tn)}Focus(){return this[o](on)}ForceReload(){return this[o](rn)}Fullscreen(){return this[o](dn)}GetScreen(){return this[o](an)}GetZoom(){return this[o](ln)}Height(){return this[o](sn)}Hide(){return this[o](cn)}IsFocused(){return this[o](wn)}IsFullscreen(){return this[o](mn)}IsMaximised(){return this[o](un)}IsMinimised(){return this[o](pn)}Maximise(){return this[o](Wn)}Minimise(){return this[o](hn)}Name(){return this[o](gn)}OpenDevTools(){return this[o](fn)}RelativePosition(){return this[o](Dn)}Reload(){return this[o](Mn)}Resizable(){return this[o](Cn)}Restore(){return this[o](Sn)}SetPosition(n,i){return this[o](xn,{x:n,y:i})}SetAlwaysOnTop(n){return this[o](vn,{alwaysOnTop:n})}SetBackgroundColour(n,i,t,r){return this[o](An,{r:n,g:i,b:t,a:r})}SetFrameless(n){return this[o](bn,{frameless:n})}SetFullscreenButtonEnabled(n){return this[o](Rn,{enabled:n})}SetMaxSize(n,i){return this[o](En,{width:n,height:i})}SetMinSize(n,i){return this[o](yn,{width:n,height:i})}SetRelativePosition(n,i){return this[o](Un,{x:n,y:i})}SetResizable(n){return this[o](On,{resizable:n})}SetSize(n,i){return this[o](Fn,{width:n,height:i})}SetTitle(n){return this[o](In,{title:n})}SetZoom(n){return this[o](Pn,{zoom:n})}Show(){return this[o](Tn)}Size(){return this[o](Bn)}ToggleFullscreen(){return this[o](zn)}ToggleMaximise(){return this[o](kn)}UnFullscreen(){return this[o](Ln)}UnMaximise(){return this[o](Nn)}UnMinimise(){return this[o](Hn)}Width(){return this[o](Zn)}Zoom(){return this[o](_n)}ZoomIn(){return this[o](Vn)}ZoomOut(){return this[o](jn)}ZoomReset(){return this[o](Gn)}},Kn=new H(""),E=Kn;function Yn(e,n=null){L(new v(e,n))}function Xn(e,n){let i=E.Get(e),t=i[n];if(typeof t=="function")try{t.call(i)}catch{}}function ce(e){let n=e.currentTarget;function i(r="Yes"){if(r!=="Yes")return;let s=n.getAttribute("data-wml-event"),c=n.getAttribute("data-wml-target-window")||"",m=n.getAttribute("data-wml-window"),d=n.getAttribute("data-wml-openURL");s!==null&&Yn(s),m!==null&&Xn(c,m),d!==null&&I(d)}let t=n.getAttribute("data-wml-confirm");t?T({Title:"Confirm",Message:t,Detached:!1,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(i):i()}var y=Symbol(),Z=class{constructor(){this[y]=new AbortController}set(n,i){return{signal:this[y].signal}}reset(){this[y].abort(),this[y]=new AbortController}},A=Symbol(),C=Symbol(),_=class{constructor(){this[A]=new WeakMap,this[C]=0}set(n,i){return this[C]+=!this[A].has(n),this[A].set(n,i),{}}reset(){if(!(this[C]<=0)){for(let n of document.body.querySelectorAll("*")){if(this[C]<=0)break;let i=this[A].get(n);this[C]-=typeof i<"u";for(let t of i||[])n.removeEventListener(t,ce)}this[A]=new WeakMap,this[C]=0}}},we=ae()?new Z:new _;function Qn(e){let n=/\S+/g,i=e.getAttribute("data-wml-trigger")||"click",t=[],r;for(;(r=n.exec(i))!==null;)t.push(r[0]);let s=we.set(e,t);for(let c of t)e.addEventListener(c,ce,s)}function V(){se(me)}function me(){we.reset(),document.body.querySelectorAll("[data-wml-event], [data-wml-window], [data-wml-openURL]").forEach(Qn)}window.wails=G;V();var X={};w(X,{Capabilities:()=>ei,Environment:()=>ni,IsAMD64:()=>oi,IsARM:()=>ri,IsARM64:()=>di,IsDarkMode:()=>$n,IsDebug:()=>Y,IsLinux:()=>ii,IsMac:()=>ti,IsWindows:()=>K,invoke:()=>g});var pe=l(a.System,""),Jn=0,qn=1,ue=(()=>{try{if(window?.chrome?.webview)return e=>window.chrome.webview.postMessage(e);if(window?.webkit?.messageHandlers?.external)return e=>window.webkit.messageHandlers.external.postMessage(e)}catch{}return null})();function g(e){if(ue)return ue(e)}function $n(){return pe(Jn)}function ei(){return fetch("/wails/capabilities").json()}function ni(){return pe(qn)}function K(){return window._wails.environment.OS==="windows"}function ii(){return window._wails.environment.OS==="linux"}function ti(){return window._wails.environment.OS==="darwin"}function oi(){return window._wails.environment.Arch==="amd64"}function ri(){return window._wails.environment.Arch==="arm"}function di(){return window._wails.environment.Arch==="arm64"}function Y(){return window._wails.environment.Debug===!0}window.addEventListener("contextmenu",ci);var ai=l(a.ContextMenu,""),li=0;function si(e,n,i,t){ai(li,{id:e,x:n,y:i,data:t})}function ci(e){let n=e.target,i=window.getComputedStyle(n).getPropertyValue("--custom-contextmenu");if(i=i?i.trim():"",i){e.preventDefault();let t=window.getComputedStyle(n).getPropertyValue("--custom-contextmenu-data");si(i,e.clientX,e.clientY,t);return}wi(e)}function wi(e){if(Y())return;let n=e.target;switch(window.getComputedStyle(n).getPropertyValue("--default-contextmenu").trim()){case"show":return;case"hide":e.preventDefault();return;default:if(n.isContentEditable)return;let r=window.getSelection(),s=r.toString().length>0;if(s)for(let c=0;cb});function b(e){try{return window._wails.flags[e]}catch(n){throw new Error("Unable to retrieve flag '"+e+"': "+n)}}var S=!1,We=!1,U=null,J="auto";window._wails=window._wails||{};window._wails.setResizable=function(e){We=e};window._wails.endDrag=function(){document.body.style.cursor="default",S=!1};window.addEventListener("mousedown",ui);window.addEventListener("mousemove",Wi);window.addEventListener("mouseup",pi);function mi(e){let n=window.getComputedStyle(e.target).getPropertyValue("--wails-draggable"),i=e.buttons!==void 0?e.buttons:e.which;return!n||n===""||n.trim()!=="drag"||i===0?!1:e.detail===1}function ui(e){if(U){g("wails:resize:"+U),e.preventDefault();return}if(mi(e)){if(e.offsetX>e.target.clientWidth||e.offsetY>e.target.clientHeight)return;S=!0}else S=!1}function pi(){S=!1}function W(e){document.documentElement.style.cursor=e||J,U=e}function Wi(e){if(S&&(S=!1,(e.buttons!==void 0?e.buttons:e.which)>0)){g("wails:drag");return}if(!We||!K())return;J==null&&(J=document.documentElement.style.cursor);let n=b("system.resizeHandleHeight")||5,i=b("system.resizeHandleWidth")||5,t=b("resizeCornerExtra")||10,r=window.outerWidth-e.clientXDi,Quit:()=>Ci,Show:()=>Mi});var q=l(a.Application,""),hi=0,gi=1,fi=2;function Di(){return q(hi)}function Mi(){return q(gi)}function Ci(){return q(fi)}var ee={};w(ee,{ByID:()=>yi,ByName:()=>Ei,Call:()=>Ri,Plugin:()=>Ui});window._wails=window._wails||{};window._wails.callResultHandler=Ai;window._wails.callErrorHandler=bi;var O=0,Si=l(a.Call,""),xi=l(a.CancelCall,""),R=new Map;function vi(){let e;do e=D();while(R.has(e));return e}function Ai(e,n,i){let t=he(e);t&&t.resolve(i?JSON.parse(n):n)}function bi(e,n){let i=he(e);i&&i.reject(n)}function he(e){let n=R.get(e);return R.delete(e),n}function F(e,n={}){let i=vi(),t=()=>xi(e,{"call-id":i}),r=!1,s=!1,c=new Promise((m,d)=>{n["call-id"]=i,R.set(i,{resolve:m,reject:d}),Si(e,n).then(p=>{if(s=!0,r)return t()}).catch(p=>{d(p),R.delete(i)})});return c.cancel=()=>{if(s)return t();r=!0},c}function Ri(e){return F(O,e)}function Ei(e,...n){return F(O,{methodName:e,args:n})}function yi(e,...n){return F(O,{methodID:e,args:n})}function Ui(e,n,...i){return F(O,{packageName:"wails-plugins",structName:e,methodName:n,args:i})}var ne={};w(ne,{SetText:()=>Ii,Text:()=>Pi});var ge=l(a.Clipboard,""),Oi=0,Fi=1;function Ii(e){return ge(Oi,{text:e})}function Pi(){return ge(Fi)}var ie={};w(ie,{Any:()=>f,Array:()=>Bi,ByteSlice:()=>Ti,Map:()=>zi,Nullable:()=>ki,Struct:()=>Li});function f(e){return e}function Ti(e){return e??""}function Bi(e){return e===f?n=>n===null?[]:n:n=>{if(n===null)return[];for(let i=0;ii===null?{}:i:i=>{if(i===null)return{};for(let t in i)i[t]=n(i[t]);return i}}function ki(e){return e===f?f:n=>n===null?null:e(n)}function Li(e){let n=!0;for(let i in e)if(e[i]!==f){n=!1;break}return n?f:i=>{for(let t in e)t in i&&(i[t]=e[t](i[t]));return i}}var oe={};w(oe,{GetAll:()=>_i,GetCurrent:()=>ji,GetPrimary:()=>Vi});var te=l(a.Screens,""),Ni=0,Hi=1,Zi=2;function _i(){return te(Ni)}function Vi(){return te(Hi)}function ji(){return te(Zi)}window._wails=window._wails||{};var fe=!1;function De(){window._wails.invoke=g,g("wails:runtime:ready"),fe=!0}window.addEventListener("load",()=>{fe||De()});export{$ as Application,P as Browser,ee as Call,ne as Clipboard,ie as Create,B as Dialogs,N as Events,Q as Flags,oe as Screens,X as System,j as WML,E as Window,De as init}; diff --git a/v3/internal/runtime/desktop/@wailsio/runtime/package.json b/v3/internal/runtime/desktop/@wailsio/runtime/package.json index b16b51a86ac..a4f40ecfddf 100644 --- a/v3/internal/runtime/desktop/@wailsio/runtime/package.json +++ b/v3/internal/runtime/desktop/@wailsio/runtime/package.json @@ -1,7 +1,7 @@ { "name": "@wailsio/runtime", "type": "module", - "version": "3.0.0-alpha.39", + "version": "3.0.0-alpha.40", "description": "Wails Runtime", "types": "types/index.d.ts", "exports": { diff --git a/v3/internal/runtime/desktop/@wailsio/runtime/src/wml.js b/v3/internal/runtime/desktop/@wailsio/runtime/src/wml.js index 162be49a7a7..81975851431 100644 --- a/v3/internal/runtime/desktop/@wailsio/runtime/src/wml.js +++ b/v3/internal/runtime/desktop/@wailsio/runtime/src/wml.js @@ -60,10 +60,10 @@ function onWMLTriggered(ev) { if (choice !== "Yes") return; - const eventType = element.getAttribute('wml-event'); - const targetWindow = element.getAttribute('wml-target-window') || ""; - const windowMethod = element.getAttribute('wml-window'); - const url = element.getAttribute('wml-openurl'); + const eventType = element.getAttribute('data-wml-event'); + const targetWindow = element.getAttribute('data-wml-target-window') || ""; + const windowMethod = element.getAttribute('data-wml-window'); + const url = element.getAttribute('data-wml-openURL'); if (eventType !== null) sendEvent(eventType); @@ -73,7 +73,7 @@ function onWMLTriggered(ev) { void OpenURL(url); } - const confirm = element.getAttribute('wml-confirm'); + const confirm = element.getAttribute('data-wml-confirm'); if (confirm) { Question({ @@ -218,7 +218,7 @@ const triggerRegistry = canAbortListeners() ? new AbortControllerRegistry() : ne */ function addWMLListeners(element) { const triggerRegExp = /\S+/g; - const triggerAttr = (element.getAttribute('wml-trigger') || "click"); + const triggerAttr = (element.getAttribute('data-wml-trigger') || "click"); const triggers = []; let match; @@ -246,5 +246,5 @@ export function Enable() { */ export function Reload() { triggerRegistry.reset(); - document.body.querySelectorAll('[wml-event], [wml-window], [wml-openurl]').forEach(addWMLListeners); + document.body.querySelectorAll('[data-wml-event], [data-wml-window], [data-wml-openURL]').forEach(addWMLListeners); } diff --git a/v3/internal/templates/base/frontend/index.html b/v3/internal/templates/base/frontend/index.html index 78ae28f3abf..b81d9729f83 100644 --- a/v3/internal/templates/base/frontend/index.html +++ b/v3/internal/templates/base/frontend/index.html @@ -10,10 +10,10 @@
diff --git a/v3/internal/templates/lit-ts/frontend/src/my-element.ts b/v3/internal/templates/lit-ts/frontend/src/my-element.ts index d4a83d32559..de6c56c5d5b 100644 --- a/v3/internal/templates/lit-ts/frontend/src/my-element.ts +++ b/v3/internal/templates/lit-ts/frontend/src/my-element.ts @@ -45,10 +45,10 @@ export class MyElement extends LitElement { return html`
diff --git a/v3/internal/templates/lit/frontend/src/my-element.js b/v3/internal/templates/lit/frontend/src/my-element.js index c5ad7508fb3..c1dc7e31bf4 100644 --- a/v3/internal/templates/lit/frontend/src/my-element.js +++ b/v3/internal/templates/lit/frontend/src/my-element.js @@ -35,10 +35,10 @@ export class MyElement extends LitElement { return html`
diff --git a/v3/internal/templates/preact-ts/frontend/src/app.tsx b/v3/internal/templates/preact-ts/frontend/src/app.tsx index 1f192b6c2e8..93fab58d331 100644 --- a/v3/internal/templates/preact-ts/frontend/src/app.tsx +++ b/v3/internal/templates/preact-ts/frontend/src/app.tsx @@ -29,10 +29,10 @@ export function App() { <>
diff --git a/v3/internal/templates/preact/frontend/src/app.jsx b/v3/internal/templates/preact/frontend/src/app.jsx index b6960540723..c8c71f63835 100644 --- a/v3/internal/templates/preact/frontend/src/app.jsx +++ b/v3/internal/templates/preact/frontend/src/app.jsx @@ -28,10 +28,10 @@ export function App() { return (
diff --git a/v3/internal/templates/qwik-ts/frontend/src/app.tsx b/v3/internal/templates/qwik-ts/frontend/src/app.tsx index e255ee0d55a..3315315c281 100644 --- a/v3/internal/templates/qwik-ts/frontend/src/app.tsx +++ b/v3/internal/templates/qwik-ts/frontend/src/app.tsx @@ -30,10 +30,10 @@ export const App = component$(() => { return (
diff --git a/v3/internal/templates/qwik/frontend/src/app.jsx b/v3/internal/templates/qwik/frontend/src/app.jsx index f135d386e06..52dcda7b3c5 100644 --- a/v3/internal/templates/qwik/frontend/src/app.jsx +++ b/v3/internal/templates/qwik/frontend/src/app.jsx @@ -30,10 +30,10 @@ export const App = component$(() => { return (
diff --git a/v3/internal/templates/react-swc-ts/frontend/src/App.tsx b/v3/internal/templates/react-swc-ts/frontend/src/App.tsx index d7c370dc84c..5706ca1c41c 100644 --- a/v3/internal/templates/react-swc-ts/frontend/src/App.tsx +++ b/v3/internal/templates/react-swc-ts/frontend/src/App.tsx @@ -30,10 +30,10 @@ function App() { return (
diff --git a/v3/internal/templates/react-swc/frontend/src/App.jsx b/v3/internal/templates/react-swc/frontend/src/App.jsx index 9f669ec03d1..52db245625b 100644 --- a/v3/internal/templates/react-swc/frontend/src/App.jsx +++ b/v3/internal/templates/react-swc/frontend/src/App.jsx @@ -30,10 +30,10 @@ function App() { return (
diff --git a/v3/internal/templates/react-ts/frontend/src/App.tsx b/v3/internal/templates/react-ts/frontend/src/App.tsx index e4f3130f87b..edc81f820a7 100644 --- a/v3/internal/templates/react-ts/frontend/src/App.tsx +++ b/v3/internal/templates/react-ts/frontend/src/App.tsx @@ -30,10 +30,10 @@ function App() { return (
diff --git a/v3/internal/templates/react/frontend/src/App.jsx b/v3/internal/templates/react/frontend/src/App.jsx index 9f669ec03d1..52db245625b 100644 --- a/v3/internal/templates/react/frontend/src/App.jsx +++ b/v3/internal/templates/react/frontend/src/App.jsx @@ -30,10 +30,10 @@ function App() { return (
diff --git a/v3/internal/templates/solid-ts/frontend/src/App.tsx b/v3/internal/templates/solid-ts/frontend/src/App.tsx index dd60e92ffeb..5027e8c1d1d 100644 --- a/v3/internal/templates/solid-ts/frontend/src/App.tsx +++ b/v3/internal/templates/solid-ts/frontend/src/App.tsx @@ -28,10 +28,10 @@ function App() { return (
diff --git a/v3/internal/templates/solid/frontend/src/App.jsx b/v3/internal/templates/solid/frontend/src/App.jsx index e38a1b10217..49a6589282c 100644 --- a/v3/internal/templates/solid/frontend/src/App.jsx +++ b/v3/internal/templates/solid/frontend/src/App.jsx @@ -28,10 +28,10 @@ function App() { return (
diff --git a/v3/internal/templates/svelte-ts/frontend/src/App.svelte b/v3/internal/templates/svelte-ts/frontend/src/App.svelte index 497f3204f0b..2a73938b012 100644 --- a/v3/internal/templates/svelte-ts/frontend/src/App.svelte +++ b/v3/internal/templates/svelte-ts/frontend/src/App.svelte @@ -25,10 +25,10 @@
- + - +
diff --git a/v3/internal/templates/svelte/frontend/src/App.svelte b/v3/internal/templates/svelte/frontend/src/App.svelte index 1b9f0e104b8..309cc79d5e9 100644 --- a/v3/internal/templates/svelte/frontend/src/App.svelte +++ b/v3/internal/templates/svelte/frontend/src/App.svelte @@ -25,10 +25,10 @@ Events.On('time', (timeValue) => {
- + - +
diff --git a/v3/internal/templates/sveltekit-ts/frontend/src/routes/+page.svelte b/v3/internal/templates/sveltekit-ts/frontend/src/routes/+page.svelte index 8638ade9649..0227a4e8994 100644 --- a/v3/internal/templates/sveltekit-ts/frontend/src/routes/+page.svelte +++ b/v3/internal/templates/sveltekit-ts/frontend/src/routes/+page.svelte @@ -25,10 +25,10 @@ Events.On('time', (timeValue) => {
- + - +
diff --git a/v3/internal/templates/sveltekit/frontend/src/routes/+page.svelte b/v3/internal/templates/sveltekit/frontend/src/routes/+page.svelte index 8638ade9649..0227a4e8994 100644 --- a/v3/internal/templates/sveltekit/frontend/src/routes/+page.svelte +++ b/v3/internal/templates/sveltekit/frontend/src/routes/+page.svelte @@ -25,10 +25,10 @@ Events.On('time', (timeValue) => {
- + - +
diff --git a/v3/internal/templates/vanilla-ts/frontend/index.html b/v3/internal/templates/vanilla-ts/frontend/index.html index 3a3b53e4f82..dc457040825 100644 --- a/v3/internal/templates/vanilla-ts/frontend/index.html +++ b/v3/internal/templates/vanilla-ts/frontend/index.html @@ -10,10 +10,10 @@
diff --git a/v3/internal/templates/vanilla/frontend/index.html b/v3/internal/templates/vanilla/frontend/index.html index 78ae28f3abf..b81d9729f83 100644 --- a/v3/internal/templates/vanilla/frontend/index.html +++ b/v3/internal/templates/vanilla/frontend/index.html @@ -10,10 +10,10 @@
diff --git a/v3/internal/templates/vue-ts/frontend/src/App.vue b/v3/internal/templates/vue-ts/frontend/src/App.vue index dda3019daa0..8f62a7e44e0 100644 --- a/v3/internal/templates/vue-ts/frontend/src/App.vue +++ b/v3/internal/templates/vue-ts/frontend/src/App.vue @@ -5,10 +5,10 @@ import HelloWorld from './components/HelloWorld.vue'