@lingshugroup/web-plus 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/lib/index.css +1 -1
- package/lib/index.css.br +0 -0
- package/lib/index.css.gz +0 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.8.69/node_modules/pdfjs-dist/build/pdf.worker.min/index.cjs +1 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.8.69/node_modules/pdfjs-dist/build/pdf.worker.min/index.js +4 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.8.69/node_modules/pdfjs-dist/build/pdf.worker.min/index.js.br +0 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.8.69/node_modules/pdfjs-dist/build/pdf.worker.min/index.js.gz +0 -0
- package/lib/packages/ls-components/components/form/FormItem.vue/index.cjs +1 -1
- package/lib/packages/ls-components/components/form/FormItem.vue/index.js +1 -1
- package/lib/packages/ls-components/components/form/FormItem.vue/index2.cjs +1 -1
- package/lib/packages/ls-components/components/form/FormItem.vue/index2.js +220 -195
- package/lib/packages/ls-components/components/form/FormItem.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/form/FormItem.vue/index2.js.gz +0 -0
- package/lib/packages/ls-components/components/preview/Index.vue/index.cjs +1 -1
- package/lib/packages/ls-components/components/preview/Index.vue/index.js +2 -2
- package/lib/packages/ls-components/components/preview/Index.vue/index2.cjs +1 -1
- package/lib/packages/ls-components/components/preview/Index.vue/index2.js +58 -52
- package/lib/packages/ls-components/components/preview/Index.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/preview/Index.vue/index2.js.gz +0 -0
- package/lib/packages/ls-components/components/preview/composable/index.cjs +1 -1
- package/lib/packages/ls-components/components/preview/composable/index.js +1 -1
- package/lib/packages/ls-components/components/preview/composable/index.js.br +0 -0
- package/lib/packages/ls-components/components/preview/composable/index.js.gz +0 -0
- package/lib/packages/ls-components/components/upload/Index.vue/index.cjs +1 -1
- package/lib/packages/ls-components/components/upload/Index.vue/index.js +1 -1
- package/lib/packages/ls-components/components/upload/Index.vue/index2.cjs +1 -1
- package/lib/packages/ls-components/components/upload/Index.vue/index2.js +277 -241
- package/lib/packages/ls-components/components/upload/Index.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/upload/Index.vue/index2.js.gz +0 -0
- package/package.json +1 -1
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.cjs +0 -1
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.js +0 -4
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.js.br +0 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.js.gz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l="data:text/javascript;base64,LyoqCiAqIEBsaWNzdGFydCBUaGUgZm9sbG93aW5nIGlzIHRoZSBlbnRpcmUgbGljZW5zZSBub3RpY2UgZm9yIHRoZQogKiBKYXZhU2NyaXB0IGNvZGUgaW4gdGhpcyBwYWdlCiAqCiAqIENvcHlyaWdodCAyMDI0IE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBAbGljZW5kIFRoZSBhYm92ZSBpcyB0aGUgZW50aXJlIGxpY2Vuc2Ugbm90aWNlIGZvciB0aGUKICogSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgcGFnZQogKi92YXIgZT17ZDoodCxpKT0+e2Zvcih2YXIgYSBpbiBpKWUubyhpLGEpJiYhZS5vKHQsYSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2VudW1lcmFibGU6ITAsZ2V0OmlbYV19KX0sbzooZSx0KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LF9fd2VicGFja19leHBvcnRzX18gPSBnbG9iYWxUaGlzLnBkZmpzV29ya2VyID0ge307ZS5kKF9fd2VicGFja19leHBvcnRzX18se1dvcmtlck1lc3NhZ2VIYW5kbGVyOigpPT5Xb3JrZXJNZXNzYWdlSGFuZGxlcn0pO2NvbnN0IHQ9ISgib2JqZWN0IiE9dHlwZW9mIHByb2Nlc3N8fHByb2Nlc3MrIiIhPSJbb2JqZWN0IHByb2Nlc3NdInx8cHJvY2Vzcy52ZXJzaW9ucy5ud3x8cHJvY2Vzcy52ZXJzaW9ucy5lbGVjdHJvbiYmcHJvY2Vzcy50eXBlJiYiYnJvd3NlciIhPT1wcm9jZXNzLnR5cGUpLGk9WzEsMCwwLDEsMCwwXSxhPVsuMDAxLDAsMCwuMDAxLDAsMF0scz0xLjM1LHI9LjM1LG49LjI1OTI1OTI1OTI1OTI1OTI0LGc9MSxvPTIsYz00LEM9OCxoPTE2LGw9NjQsUT0xMjgsRT0yNTYsdT0icGRmanNfaW50ZXJuYWxfZWRpdG9yXyIsZD0zLGY9OSxwPTEzLG09MTUseT17UFJJTlQ6NCxNT0RJRllfQ09OVEVOVFM6OCxDT1BZOjE2LE1PRElGWV9BTk5PVEFUSU9OUzozMixGSUxMX0lOVEVSQUNUSVZFX0ZPUk1TOjI1NixDT1BZX0ZPUl9BQ0NFU1NJQklMSVRZOjUxMixBU1NFTUJMRToxMDI0LFBSSU5UX0hJR0hfUVVBTElUWToyMDQ4fSx3PTAsRD00LGI9MSxGPTIsUz0zLGs9MSxSPTIsTj0zLEc9NCx4PTUsVT02LE09NyxMPTgsSD05LEo9MTAsWT0xMSx2PTEyLEs9MTMsVD0xNCxxPTE1LE89MTYsVz0xNyxqPTIwLFg9Ikdyb3VwIixaPSJSIixWPTEsej0yLF89NCwkPTE2LEFBPTMyLGVBPTEyOCx0QT01MTIsaUE9MSxhQT0yLHNBPTQwOTYsckE9ODE5MixuQT0zMjc2OCxnQT02NTUzNixvQT0xMzEwNzIsSUE9MTA0ODU3NixjQT0yMDk3MTUyLENBPTgzODg2MDgsaEE9MTY3NzcyMTYsbEE9MSxCQT0yLFFBPTMsRUE9NCx1QT01LGRBPXtFOiJNb3VzZSBFbnRlciIsWDoiTW91c2UgRXhpdCIsRDoiTW91c2UgRG93biIsVToiTW91c2UgVXAiLEZvOiJGb2N1cyIsQmw6IkJsdXIiLFBPOiJQYWdlT3BlbiIsUEM6IlBhZ2VDbG9zZSIsUFY6IlBhZ2VWaXNpYmxlIixQSToiUGFnZUludmlzaWJsZSIsSzoiS2V5c3Ryb2tlIixGOiJGb3JtYXQiLFY6IlZhbGlkYXRlIixDOiJDYWxjdWxhdGUifSxmQT17V0M6IldpbGxDbG9zZSIsV1M6IldpbGxTYXZlIixEUzoiRGlkU2F2ZSIsV1A6IldpbGxQcmludCIsRFA6IkRpZFByaW50In0scEE9e086IlBhZ2VPcGVuIixDOiJQYWdlQ2xvc2UifSxtQT17RVJST1JTOjAsV0FSTklOR1M6MSxJTkZPUzo1fSx5QT0xLHdBPTIsREE9MyxiQT00LEZBPTUsU0E9NixrQT03LFJBPTgsTkE9OSxHQT0xMCx4QT0xMSxVQT0xMixNQT0xMyxMQT0xNCxIQT0xNSxKQT0xNixZQT0xNyx2QT0xOCxLQT0xOSxUQT0yMCxxQT0yMSxPQT0yMixQQT0yMyxXQT0yNCxqQT0yNSxYQT0yNixaQT0yNyxWQT0yOCx6QT0yOSxfQT0zMCwkQT0zMSxBZT0zMixlZT0zMyx0ZT0zNCxpZT0zNSxhZT0zNixzZT0zNyxyZT0zOCxuZT0zOSxnZT00MCxvZT00MSxJZT00MixjZT00MyxDZT00NCxoZT00NSxsZT00NixCZT00NyxRZT00OCxFZT00OSx1ZT01MCxkZT01MSxmZT01MixwZT01MyxtZT01NCx5ZT01NSx3ZT01NixEZT01NyxiZT01OCxGZT01OSxTZT02MCxrZT02MSxSZT02MixOZT02MyxHZT02NCx4ZT02NSxVZT02NixNZT02NyxMZT02OCxIZT02OSxKZT03MCxZZT03MSx2ZT03MixLZT03MyxUZT03NCxxZT03NSxPZT03NixQZT03NyxXZT04MCxqZT04MSxYZT04MyxaZT04NCxWZT04NSx6ZT04NixfZT04NywkZT04OCxBdD04OSxldD05MCx0dD05MSxpdD05MixhdD05MyxzdD0xLHJ0PTI7bGV0IG50PW1BLldBUk5JTkdTO2Z1bmN0aW9uIGdldFZlcmJvc2l0eUxldmVsKCl7cmV0dXJuIG50fWZ1bmN0aW9uIGluZm8oZSl7bnQ+PW1BLklORk9TJiZjb25zb2xlLmxvZyhgSW5mbzogJHtlfWApfWZ1bmN0aW9uIHdhcm4oZSl7bnQ+PW1BLldBUk5JTkdTJiZjb25zb2xlLmxvZyhgV2FybmluZzogJHtlfWApfWZ1bmN0aW9uIHVucmVhY2hhYmxlKGUpe3Rocm93IG5ldyBFcnJvcihlKX1mdW5jdGlvbiBhc3NlcnQoZSx0KXtlfHx1bnJlYWNoYWJsZSh0KX1mdW5jdGlvbiBjcmVhdGVWYWxpZEFic29sdXRlVXJsKGUsdD1udWxsLGk9bnVsbCl7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2lmKGkmJiJzdHJpbmciPT10eXBlb2YgZSl7aWYoaS5hZGREZWZhdWx0UHJvdG9jb2wmJmUuc3RhcnRzV2l0aCgid3d3LiIpKXtjb25zdCB0PWUubWF0Y2goL1wuL2cpO3Q/Lmxlbmd0aD49MiYmKGU9YGh0dHA6Ly8ke2V9YCl9aWYoaS50cnlDb252ZXJ0RW5jb2RpbmcpdHJ5e2U9c3RyaW5nVG9VVEY4U3RyaW5nKGUpfWNhdGNoe319Y29uc3QgYT10P25ldyBVUkwoZSx0KTpuZXcgVVJMKGUpO2lmKGZ1bmN0aW9uIF9pc1ZhbGlkUHJvdG9jb2woZSl7c3dpdGNoKGU/LnByb3RvY29sKXtjYXNlImh0dHA6IjpjYXNlImh0dHBzOiI6Y2FzZSJmdHA6IjpjYXNlIm1haWx0bzoiOmNhc2UidGVsOiI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19KGEpKXJldHVybiBhfWNhdGNoe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBzaGFkb3coZSx0LGksYT0hMSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiFhLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMX0pO3JldHVybiBpfWNvbnN0IGd0PWZ1bmN0aW9uIEJhc2VFeGNlcHRpb25DbG9zdXJlKCl7ZnVuY3Rpb24gQmFzZUV4Y2VwdGlvbihlLHQpe3RoaXMubWVzc2FnZT1lO3RoaXMubmFtZT10fUJhc2VFeGNlcHRpb24ucHJvdG90eXBlPW5ldyBFcnJvcjtCYXNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yPUJhc2VFeGNlcHRpb247cmV0dXJuIEJhc2VFeGNlcHRpb259KCk7Y2xhc3MgUGFzc3dvcmRFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsIlBhc3N3b3JkRXhjZXB0aW9uIik7dGhpcy5jb2RlPXR9fWNsYXNzIFVua25vd25FcnJvckV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5rbm93bkVycm9yRXhjZXB0aW9uIik7dGhpcy5kZXRhaWxzPXR9fWNsYXNzIEludmFsaWRQREZFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJJbnZhbGlkUERGRXhjZXB0aW9uIil9fWNsYXNzIE1pc3NpbmdQREZFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJNaXNzaW5nUERGRXhjZXB0aW9uIil9fWNsYXNzIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uIik7dGhpcy5zdGF0dXM9dH19Y2xhc3MgRm9ybWF0RXJyb3IgZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJGb3JtYXRFcnJvciIpfX1jbGFzcyBBYm9ydEV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkFib3J0RXhjZXB0aW9uIil9fWZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoZSl7Im9iamVjdCI9PXR5cGVvZiBlJiZ2b2lkIDAhPT1lPy5sZW5ndGh8fHVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBieXRlc1RvU3RyaW5nIik7Y29uc3QgdD1lLmxlbmd0aCxpPTgxOTI7aWYodDxpKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZSk7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPHQ7cys9aSl7Y29uc3Qgcj1NYXRoLm1pbihzK2ksdCksbj1lLnN1YmFycmF5KHMscik7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKSl9cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhlKXsic3RyaW5nIiE9dHlwZW9mIGUmJnVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzIik7Y29uc3QgdD1lLmxlbmd0aCxpPW5ldyBVaW50OEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDsrK2EpaVthXT0yNTUmZS5jaGFyQ29kZUF0KGEpO3JldHVybiBpfWZ1bmN0aW9uIHN0cmluZzMyKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIG9iamVjdFNpemUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aH1jbGFzcyBGZWF0dXJlVGVzdHtzdGF0aWMgZ2V0IGlzTGl0dGxlRW5kaWFuKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0xpdHRsZUVuZGlhbiIsZnVuY3Rpb24gaXNMaXR0bGVFbmRpYW4oKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KDQpO2VbMF09MTtyZXR1cm4gMT09PW5ldyBVaW50MzJBcnJheShlLmJ1ZmZlciwwLDEpWzBdfSgpKX1zdGF0aWMgZ2V0IGlzRXZhbFN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNFdmFsU3VwcG9ydGVkIixmdW5jdGlvbiBpc0V2YWxTdXBwb3J0ZWQoKXt0cnl7bmV3IEZ1bmN0aW9uKCIiKTtyZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19KCkpfXN0YXRpYyBnZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoKXtyZXR1cm4gc2hhZG93KHRoaXMsImlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkIiwidW5kZWZpbmVkIiE9dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyl9c3RhdGljIGdldCBwbGF0Zm9ybSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYic3RyaW5nIj09dHlwZW9mIG5hdmlnYXRvcj8ucGxhdGZvcm0/c2hhZG93KHRoaXMsInBsYXRmb3JtIix7aXNNYWM6bmF2aWdhdG9yLnBsYXRmb3JtLmluY2x1ZGVzKCJNYWMiKSxpc1dpbmRvd3M6bmF2aWdhdG9yLnBsYXRmb3JtLmluY2x1ZGVzKCJXaW4iKSxpc0ZpcmVmb3g6InN0cmluZyI9PXR5cGVvZiBuYXZpZ2F0b3I/LnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcygiRmlyZWZveCIpfSk6c2hhZG93KHRoaXMsInBsYXRmb3JtIix7aXNNYWM6ITEsaXNXaW5kb3dzOiExLGlzRmlyZWZveDohMX0pfXN0YXRpYyBnZXQgaXNDU1NSb3VuZFN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNDU1NSb3VuZFN1cHBvcnRlZCIsZ2xvYmFsVGhpcy5DU1M/LnN1cHBvcnRzPy4oIndpZHRoOiByb3VuZCgxLjVweCwgMXB4KSIpKX19Y29uc3Qgb3Q9QXJyYXkuZnJvbShBcnJheSgyNTYpLmtleXMoKSwoZT0+ZS50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKSk7Y2xhc3MgVXRpbHtzdGF0aWMgbWFrZUhleENvbG9yKGUsdCxpKXtyZXR1cm5gIyR7b3RbZV19JHtvdFt0XX0ke290W2ldfWB9c3RhdGljIHNjYWxlTWluTWF4KGUsdCl7bGV0IGk7aWYoZVswXSl7aWYoZVswXTwwKXtpPXRbMF07dFswXT10WzJdO3RbMl09aX10WzBdKj1lWzBdO3RbMl0qPWVbMF07aWYoZVszXTwwKXtpPXRbMV07dFsxXT10WzNdO3RbM109aX10WzFdKj1lWzNdO3RbM10qPWVbM119ZWxzZXtpPXRbMF07dFswXT10WzFdO3RbMV09aTtpPXRbMl07dFsyXT10WzNdO3RbM109aTtpZihlWzFdPDApe2k9dFsxXTt0WzFdPXRbM107dFszXT1pfXRbMV0qPWVbMV07dFszXSo9ZVsxXTtpZihlWzJdPDApe2k9dFswXTt0WzBdPXRbMl07dFsyXT1pfXRbMF0qPWVbMl07dFsyXSo9ZVsyXX10WzBdKz1lWzRdO3RbMV0rPWVbNV07dFsyXSs9ZVs0XTt0WzNdKz1lWzVdfXN0YXRpYyB0cmFuc2Zvcm0oZSx0KXtyZXR1cm5bZVswXSp0WzBdK2VbMl0qdFsxXSxlWzFdKnRbMF0rZVszXSp0WzFdLGVbMF0qdFsyXStlWzJdKnRbM10sZVsxXSp0WzJdK2VbM10qdFszXSxlWzBdKnRbNF0rZVsyXSp0WzVdK2VbNF0sZVsxXSp0WzRdK2VbM10qdFs1XStlWzVdXX1zdGF0aWMgYXBwbHlUcmFuc2Zvcm0oZSx0KXtyZXR1cm5bZVswXSp0WzBdK2VbMV0qdFsyXSt0WzRdLGVbMF0qdFsxXStlWzFdKnRbM10rdFs1XV19c3RhdGljIGFwcGx5SW52ZXJzZVRyYW5zZm9ybShlLHQpe2NvbnN0IGk9dFswXSp0WzNdLXRbMV0qdFsyXTtyZXR1cm5bKGVbMF0qdFszXS1lWzFdKnRbMl0rdFsyXSp0WzVdLXRbNF0qdFszXSkvaSwoLWVbMF0qdFsxXStlWzFdKnRbMF0rdFs0XSp0WzFdLXRbNV0qdFswXSkvaV19c3RhdGljIGdldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KGUsdCl7Y29uc3QgaT10aGlzLmFwcGx5VHJhbnNmb3JtKGUsdCksYT10aGlzLmFwcGx5VHJhbnNmb3JtKGUuc2xpY2UoMiw0KSx0KSxzPXRoaXMuYXBwbHlUcmFuc2Zvcm0oW2VbMF0sZVszXV0sdCkscj10aGlzLmFwcGx5VHJhbnNmb3JtKFtlWzJdLGVbMV1dLHQpO3JldHVybltNYXRoLm1pbihpWzBdLGFbMF0sc1swXSxyWzBdKSxNYXRoLm1pbihpWzFdLGFbMV0sc1sxXSxyWzFdKSxNYXRoLm1heChpWzBdLGFbMF0sc1swXSxyWzBdKSxNYXRoLm1heChpWzFdLGFbMV0sc1sxXSxyWzFdKV19c3RhdGljIGludmVyc2VUcmFuc2Zvcm0oZSl7Y29uc3QgdD1lWzBdKmVbM10tZVsxXSplWzJdO3JldHVybltlWzNdL3QsLWVbMV0vdCwtZVsyXS90LGVbMF0vdCwoZVsyXSplWzVdLWVbNF0qZVszXSkvdCwoZVs0XSplWzFdLWVbNV0qZVswXSkvdF19c3RhdGljIHNpbmd1bGFyVmFsdWVEZWNvbXBvc2UyZFNjYWxlKGUpe2NvbnN0IHQ9W2VbMF0sZVsyXSxlWzFdLGVbM11dLGk9ZVswXSp0WzBdK2VbMV0qdFsyXSxhPWVbMF0qdFsxXStlWzFdKnRbM10scz1lWzJdKnRbMF0rZVszXSp0WzJdLHI9ZVsyXSp0WzFdK2VbM10qdFszXSxuPShpK3IpLzIsZz1NYXRoLnNxcnQoKGkrcikqKjItNCooaSpyLXMqYSkpLzIsbz1uK2d8fDEsYz1uLWd8fDE7cmV0dXJuW01hdGguc3FydChvKSxNYXRoLnNxcnQoYyldfXN0YXRpYyBub3JtYWxpemVSZWN0KGUpe2NvbnN0IHQ9ZS5zbGljZSgwKTtpZihlWzBdPmVbMl0pe3RbMF09ZVsyXTt0WzJdPWVbMF19aWYoZVsxXT5lWzNdKXt0WzFdPWVbM107dFszXT1lWzFdfXJldHVybiB0fXN0YXRpYyBpbnRlcnNlY3QoZSx0KXtjb25zdCBpPU1hdGgubWF4KE1hdGgubWluKGVbMF0sZVsyXSksTWF0aC5taW4odFswXSx0WzJdKSksYT1NYXRoLm1pbihNYXRoLm1heChlWzBdLGVbMl0pLE1hdGgubWF4KHRbMF0sdFsyXSkpO2lmKGk+YSlyZXR1cm4gbnVsbDtjb25zdCBzPU1hdGgubWF4KE1hdGgubWluKGVbMV0sZVszXSksTWF0aC5taW4odFsxXSx0WzNdKSkscj1NYXRoLm1pbihNYXRoLm1heChlWzFdLGVbM10pLE1hdGgubWF4KHRbMV0sdFszXSkpO3JldHVybiBzPnI/bnVsbDpbaSxzLGEscl19c3RhdGljI0EoZSx0LGksYSxzLHIsbixnLG8sYyl7aWYobzw9MHx8bz49MSlyZXR1cm47Y29uc3QgQz0xLW8saD1vKm8sbD1oKm8sUT1DKihDKihDKmUrMypvKnQpKzMqaCppKStsKmEsRT1DKihDKihDKnMrMypvKnIpKzMqaCpuKStsKmc7Y1swXT1NYXRoLm1pbihjWzBdLFEpO2NbMV09TWF0aC5taW4oY1sxXSxFKTtjWzJdPU1hdGgubWF4KGNbMl0sUSk7Y1szXT1NYXRoLm1heChjWzNdLEUpfXN0YXRpYyNlKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoKXtpZihNYXRoLmFicyhvKTwxZS0xMil7TWF0aC5hYnMoYyk+PTFlLTEyJiZ0aGlzLiNBKGUsdCxpLGEscyxyLG4sZywtQy9jLGgpO3JldHVybn1jb25zdCBsPWMqKjItNCpDKm87aWYobDwwKXJldHVybjtjb25zdCBRPU1hdGguc3FydChsKSxFPTIqbzt0aGlzLiNBKGUsdCxpLGEscyxyLG4sZywoLWMrUSkvRSxoKTt0aGlzLiNBKGUsdCxpLGEscyxyLG4sZywoLWMtUSkvRSxoKX1zdGF0aWMgYmV6aWVyQm91bmRpbmdCb3goZSx0LGksYSxzLHIsbixnLG8pe2lmKG8pe29bMF09TWF0aC5taW4ob1swXSxlLG4pO29bMV09TWF0aC5taW4ob1sxXSx0LGcpO29bMl09TWF0aC5tYXgob1syXSxlLG4pO29bM109TWF0aC5tYXgob1szXSx0LGcpfWVsc2Ugbz1bTWF0aC5taW4oZSxuKSxNYXRoLm1pbih0LGcpLE1hdGgubWF4KGUsbiksTWF0aC5tYXgodCxnKV07dGhpcy4jZShlLGkscyxuLHQsYSxyLGcsMyooMyooaS1zKS1lK24pLDYqKGUtMippK3MpLDMqKGktZSksbyk7dGhpcy4jZShlLGkscyxuLHQsYSxyLGcsMyooMyooYS1yKS10K2cpLDYqKHQtMiphK3IpLDMqKGEtdCksbyk7cmV0dXJuIG99fWNvbnN0IEl0PVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3MjgsNzExLDcxMCw3MjksNzMzLDczMSw3MzAsNzMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgyMjYsODIyNCw4MjI1LDgyMzAsODIxMiw4MjExLDQwMiw4MjYwLDgyNDksODI1MCw4NzIyLDgyNDAsODIyMiw4MjIwLDgyMjEsODIxNiw4MjE3LDgyMTgsODQ4Miw2NDI1Nyw2NDI1OCwzMjEsMzM4LDM1MiwzNzYsMzgxLDMwNSwzMjIsMzM5LDM1MywzODIsMCw4MzY0XTtmdW5jdGlvbiBzdHJpbmdUb1BERlN0cmluZyhlKXtpZihlWzBdPj0iw68iKXtsZXQgdDtpZigiw74iPT09ZVswXSYmIsO/Ij09PWVbMV0pe3Q9InV0Zi0xNmJlIjtlLmxlbmd0aCUyPT0xJiYoZT1lLnNsaWNlKDAsLTEpKX1lbHNlIGlmKCLDvyI9PT1lWzBdJiYiw74iPT09ZVsxXSl7dD0idXRmLTE2bGUiO2UubGVuZ3RoJTI9PTEmJihlPWUuc2xpY2UoMCwtMSkpfWVsc2Uiw68iPT09ZVswXSYmIsK7Ij09PWVbMV0mJiLCvyI9PT1lWzJdJiYodD0idXRmLTgiKTtpZih0KXRyeXtjb25zdCBpPW5ldyBUZXh0RGVjb2Rlcih0LHtmYXRhbDohMH0pLGE9c3RyaW5nVG9CeXRlcyhlKSxzPWkuZGVjb2RlKGEpO3JldHVybiBzLmluY2x1ZGVzKCIbIik/cy5yZXBsYWNlQWxsKC9ceDFiW15ceDFiXSooPzpceDFifCQpL2csIiIpOnN9Y2F0Y2goZSl7d2Fybihgc3RyaW5nVG9QREZTdHJpbmc6ICIke2V9Ii5gKX19Y29uc3QgdD1bXTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspe2NvbnN0IHM9ZS5jaGFyQ29kZUF0KGkpO2lmKDI3PT09cyl7Zm9yKDsrK2k8YSYmMjchPT1lLmNoYXJDb2RlQXQoaSk7KTtjb250aW51ZX1jb25zdCByPUl0W3NdO3QucHVzaChyP1N0cmluZy5mcm9tQ2hhckNvZGUocik6ZS5jaGFyQXQoaSkpfXJldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIHN0cmluZ1RvVVRGOFN0cmluZyhlKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShlKSl9ZnVuY3Rpb24gdXRmOFN0cmluZ1RvU3RyaW5nKGUpe3JldHVybiB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZSkpfWZ1bmN0aW9uIGlzQXJyYXlFcXVhbChlLHQpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKWlmKGVbaV0hPT10W2ldKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGdldE1vZGlmaWNhdGlvbkRhdGUoZT1uZXcgRGF0ZSl7cmV0dXJuW2UuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpLChlLmdldFVUQ01vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENEYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLGUuZ2V0VVRDTWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLGUuZ2V0VVRDU2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpXS5qb2luKCIiKX1sZXQgY3Q9bnVsbCxDdD1udWxsO2NvbnN0IGh0PTAsbHQ9MSxCdD0yLFF0PTMsRXQ9NCx1dD01LGR0PTYsZnQ9NyxwdD04O2Z1bmN0aW9uIHRvSGV4VXRpbChlKXtyZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUudG9IZXg/ZS50b0hleCgpOkFycmF5LmZyb20oZSwoZT0+b3RbZV0pKS5qb2luKCIiKX1jb25zdCBtdD1TeW1ib2woIkNJUkNVTEFSX1JFRiIpLHl0PVN5bWJvbCgiRU9GIik7bGV0IHd0PU9iamVjdC5jcmVhdGUobnVsbCksRHQ9T2JqZWN0LmNyZWF0ZShudWxsKSxidD1PYmplY3QuY3JlYXRlKG51bGwpO2NsYXNzIE5hbWV7Y29uc3RydWN0b3IoZSl7dGhpcy5uYW1lPWV9c3RhdGljIGdldChlKXtyZXR1cm4gRHRbZV18fD1uZXcgTmFtZShlKX19Y2xhc3MgQ21ke2NvbnN0cnVjdG9yKGUpe3RoaXMuY21kPWV9c3RhdGljIGdldChlKXtyZXR1cm4gd3RbZV18fD1uZXcgQ21kKGUpfX1jb25zdCBGdD1mdW5jdGlvbiBub25TZXJpYWxpemFibGVDbG9zdXJlKCl7cmV0dXJuIEZ0fTtjbGFzcyBEaWN0e2NvbnN0cnVjdG9yKGU9bnVsbCl7dGhpcy5fbWFwPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy54cmVmPWU7dGhpcy5vYmpJZD1udWxsO3RoaXMuc3VwcHJlc3NFbmNyeXB0aW9uPSExO3RoaXMuX19ub25TZXJpYWxpemFibGVfXz1GdH1hc3NpZ25YcmVmKGUpe3RoaXMueHJlZj1lfWdldCBzaXplKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX21hcCkubGVuZ3RofWdldChlLHQsaSl7bGV0IGE9dGhpcy5fbWFwW2VdO2lmKHZvaWQgMD09PWEmJnZvaWQgMCE9PXQpe2E9dGhpcy5fbWFwW3RdO3ZvaWQgMD09PWEmJnZvaWQgMCE9PWkmJihhPXRoaXMuX21hcFtpXSl9cmV0dXJuIGEgaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZj90aGlzLnhyZWYuZmV0Y2goYSx0aGlzLnN1cHByZXNzRW5jcnlwdGlvbik6YX1hc3luYyBnZXRBc3luYyhlLHQsaSl7bGV0IGE9dGhpcy5fbWFwW2VdO2lmKHZvaWQgMD09PWEmJnZvaWQgMCE9PXQpe2E9dGhpcy5fbWFwW3RdO3ZvaWQgMD09PWEmJnZvaWQgMCE9PWkmJihhPXRoaXMuX21hcFtpXSl9cmV0dXJuIGEgaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZj90aGlzLnhyZWYuZmV0Y2hBc3luYyhhLHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKTphfWdldEFycmF5KGUsdCxpKXtsZXQgYT10aGlzLl9tYXBbZV07aWYodm9pZCAwPT09YSYmdm9pZCAwIT09dCl7YT10aGlzLl9tYXBbdF07dm9pZCAwPT09YSYmdm9pZCAwIT09aSYmKGE9dGhpcy5fbWFwW2ldKX1hIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWYmJihhPXRoaXMueHJlZi5mZXRjaChhLHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKSk7aWYoQXJyYXkuaXNBcnJheShhKSl7YT1hLnNsaWNlKCk7Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSsrKWFbZV1pbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmJiYoYVtlXT10aGlzLnhyZWYuZmV0Y2goYVtlXSx0aGlzLnN1cHByZXNzRW5jcnlwdGlvbikpfXJldHVybiBhfWdldFJhdyhlKXtyZXR1cm4gdGhpcy5fbWFwW2VdfWdldEtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fbWFwKX1nZXRSYXdWYWx1ZXMoKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLl9tYXApfXNldChlLHQpe3RoaXMuX21hcFtlXT10fWhhcyhlKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fbWFwW2VdfWZvckVhY2goZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fbWFwKWUodCx0aGlzLmdldCh0KSl9c3RhdGljIGdldCBlbXB0eSgpe2NvbnN0IGU9bmV3IERpY3QobnVsbCk7ZS5zZXQ9KGUsdCk9Pnt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGBzZXRgIG9uIHRoZSBlbXB0eSBkaWN0aW9uYXJ5LiIpfTtyZXR1cm4gc2hhZG93KHRoaXMsImVtcHR5IixlKX1zdGF0aWMgbWVyZ2Uoe3hyZWY6ZSxkaWN0QXJyYXk6dCxtZXJnZVN1YkRpY3RzOmk9ITF9KXtjb25zdCBhPW5ldyBEaWN0KGUpLHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiB0KWlmKGUgaW5zdGFuY2VvZiBEaWN0KWZvcihjb25zdFt0LGFdb2YgT2JqZWN0LmVudHJpZXMoZS5fbWFwKSl7bGV0IGU9cy5nZXQodCk7aWYodm9pZCAwPT09ZSl7ZT1bXTtzLnNldCh0LGUpfWVsc2UgaWYoIShpJiZhIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7ZS5wdXNoKGEpfWZvcihjb25zdFt0LGldb2Ygcyl7aWYoMT09PWkubGVuZ3RofHwhKGlbMF1pbnN0YW5jZW9mIERpY3QpKXthLl9tYXBbdF09aVswXTtjb250aW51ZX1jb25zdCBzPW5ldyBEaWN0KGUpO2Zvcihjb25zdCBlIG9mIGkpZm9yKGNvbnN0W3QsaV1vZiBPYmplY3QuZW50cmllcyhlLl9tYXApKXZvaWQgMD09PXMuX21hcFt0XSYmKHMuX21hcFt0XT1pKTtzLnNpemU+MCYmKGEuX21hcFt0XT1zKX1zLmNsZWFyKCk7cmV0dXJuIGEuc2l6ZT4wP2E6RGljdC5lbXB0eX1jbG9uZSgpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKTtmb3IoY29uc3QgdCBvZiB0aGlzLmdldEtleXMoKSllLnNldCh0LHRoaXMuZ2V0UmF3KHQpKTtyZXR1cm4gZX1kZWxldGUoZSl7ZGVsZXRlIHRoaXMuX21hcFtlXX19Y2xhc3MgUmVme2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5udW09ZTt0aGlzLmdlbj10fXRvU3RyaW5nKCl7cmV0dXJuIDA9PT10aGlzLmdlbj9gJHt0aGlzLm51bX1SYDpgJHt0aGlzLm51bX1SJHt0aGlzLmdlbn1gfXN0YXRpYyBmcm9tU3RyaW5nKGUpe2NvbnN0IHQ9YnRbZV07aWYodClyZXR1cm4gdDtjb25zdCBpPS9eKFxkKylSKFxkKikkLy5leGVjKGUpO3JldHVybiBpJiYiMCIhPT1pWzFdP2J0W2VdPW5ldyBSZWYocGFyc2VJbnQoaVsxXSksaVsyXT9wYXJzZUludChpWzJdKTowKTpudWxsfXN0YXRpYyBnZXQoZSx0KXtjb25zdCBpPTA9PT10P2Ake2V9UmA6YCR7ZX1SJHt0fWA7cmV0dXJuIGJ0W2ldfHw9bmV3IFJlZihlLHQpfX1jbGFzcyBSZWZTZXR7Y29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9zZXQ9bmV3IFNldChlPy5fc2V0KX1oYXMoZSl7cmV0dXJuIHRoaXMuX3NldC5oYXMoZS50b1N0cmluZygpKX1wdXQoZSl7dGhpcy5fc2V0LmFkZChlLnRvU3RyaW5nKCkpfXJlbW92ZShlKXt0aGlzLl9zZXQuZGVsZXRlKGUudG9TdHJpbmcoKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5fc2V0LnZhbHVlcygpfWNsZWFyKCl7dGhpcy5fc2V0LmNsZWFyKCl9fWNsYXNzIFJlZlNldENhY2hle2NvbnN0cnVjdG9yKCl7dGhpcy5fbWFwPW5ldyBNYXB9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fbWFwLnNpemV9Z2V0KGUpe3JldHVybiB0aGlzLl9tYXAuZ2V0KGUudG9TdHJpbmcoKSl9aGFzKGUpe3JldHVybiB0aGlzLl9tYXAuaGFzKGUudG9TdHJpbmcoKSl9cHV0KGUsdCl7dGhpcy5fbWFwLnNldChlLnRvU3RyaW5nKCksdCl9cHV0QWxpYXMoZSx0KXt0aGlzLl9tYXAuc2V0KGUudG9TdHJpbmcoKSx0aGlzLmdldCh0KSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5fbWFwLnZhbHVlcygpfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCl9Kml0ZW1zKCl7Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9tYXApeWllbGRbUmVmLmZyb21TdHJpbmcoZSksdF19fWZ1bmN0aW9uIGlzTmFtZShlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgTmFtZSYmKHZvaWQgMD09PXR8fGUubmFtZT09PXQpfWZ1bmN0aW9uIGlzQ21kKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBDbWQmJih2b2lkIDA9PT10fHxlLmNtZD09PXQpfWZ1bmN0aW9uIGlzRGljdChlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgRGljdCYmKHZvaWQgMD09PXR8fGlzTmFtZShlLmdldCgiVHlwZSIpLHQpKX1mdW5jdGlvbiBpc1JlZnNFcXVhbChlLHQpe3JldHVybiBlLm51bT09PXQubnVtJiZlLmdlbj09PXQuZ2VufWNsYXNzIEJhc2VTdHJlYW17Z2V0IGxlbmd0aCgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBnZXR0ZXIgYGxlbmd0aGAgYWNjZXNzZWQiKX1nZXQgaXNFbXB0eSgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBnZXR0ZXIgYGlzRW1wdHlgIGFjY2Vzc2VkIil9Z2V0IGlzRGF0YUxvYWRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNEYXRhTG9hZGVkIiwhMCl9Z2V0Qnl0ZSgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVgIGNhbGxlZCIpfWdldEJ5dGVzKGUpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVzYCBjYWxsZWQiKX1hc3luYyBnZXRJbWFnZURhdGEoZSx0KXtyZXR1cm4gdGhpcy5nZXRCeXRlcyhlLHQpfWFzeW5jIGFzeW5jR2V0Qnl0ZXMoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBhc3luY0dldEJ5dGVzYCBjYWxsZWQiKX1nZXQgaXNBc3luYygpe3JldHVybiExfWdldCBjYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcigpe3JldHVybiExfWFzeW5jIGdldFRyYW5zZmVyYWJsZUltYWdlKCl7cmV0dXJuIG51bGx9cGVla0J5dGUoKXtjb25zdCBlPXRoaXMuZ2V0Qnl0ZSgpOy0xIT09ZSYmdGhpcy5wb3MtLTtyZXR1cm4gZX1wZWVrQnl0ZXMoZSl7Y29uc3QgdD10aGlzLmdldEJ5dGVzKGUpO3RoaXMucG9zLT10Lmxlbmd0aDtyZXR1cm4gdH1nZXRVaW50MTYoKXtjb25zdCBlPXRoaXMuZ2V0Qnl0ZSgpLHQ9dGhpcy5nZXRCeXRlKCk7cmV0dXJuLTE9PT1lfHwtMT09PXQ/LTE6KGU8PDgpK3R9Z2V0SW50MzIoKXtyZXR1cm4odGhpcy5nZXRCeXRlKCk8PDI0KSsodGhpcy5nZXRCeXRlKCk8PDE2KSsodGhpcy5nZXRCeXRlKCk8PDgpK3RoaXMuZ2V0Qnl0ZSgpfWdldEJ5dGVSYW5nZShlLHQpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVSYW5nZWAgY2FsbGVkIil9Z2V0U3RyaW5nKGUpe3JldHVybiBieXRlc1RvU3RyaW5nKHRoaXMuZ2V0Qnl0ZXMoZSkpfXNraXAoZSl7dGhpcy5wb3MrPWV8fDF9cmVzZXQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXNldGAgY2FsbGVkIil9bW92ZVN0YXJ0KCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgbW92ZVN0YXJ0YCBjYWxsZWQiKX1tYWtlU3ViU3RyZWFtKGUsdCxpPW51bGwpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYG1ha2VTdWJTdHJlYW1gIGNhbGxlZCIpfWdldEJhc2VTdHJlYW1zKCl7cmV0dXJuIG51bGx9fWNvbnN0IFN0PS9eWzEtOV1cLlxkJC87ZnVuY3Rpb24gZ2V0TG9va3VwVGFibGVGYWN0b3J5KGUpe2xldCB0O3JldHVybiBmdW5jdGlvbigpe2lmKGUpe3Q9T2JqZWN0LmNyZWF0ZShudWxsKTtlKHQpO2U9bnVsbH1yZXR1cm4gdH19Y2xhc3MgTWlzc2luZ0RhdGFFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGBNaXNzaW5nIGRhdGEgWyR7ZX0sICR7dH0pYCwiTWlzc2luZ0RhdGFFeGNlcHRpb24iKTt0aGlzLmJlZ2luPWU7dGhpcy5lbmQ9dH19Y2xhc3MgUGFyc2VyRU9GRXhjZXB0aW9uIGV4dGVuZHMgZ3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiUGFyc2VyRU9GRXhjZXB0aW9uIil9fWNsYXNzIFhSZWZFbnRyeUV4Y2VwdGlvbiBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIlhSZWZFbnRyeUV4Y2VwdGlvbiIpfX1jbGFzcyBYUmVmUGFyc2VFeGNlcHRpb24gZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJYUmVmUGFyc2VFeGNlcHRpb24iKX19ZnVuY3Rpb24gYXJyYXlCdWZmZXJzVG9CeXRlcyhlKXtjb25zdCB0PWUubGVuZ3RoO2lmKDA9PT10KXJldHVybiBuZXcgVWludDhBcnJheSgwKTtpZigxPT09dClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZVswXSk7bGV0IGk9MDtmb3IobGV0IGE9MDthPHQ7YSsrKWkrPWVbYV0uYnl0ZUxlbmd0aDtjb25zdCBhPW5ldyBVaW50OEFycmF5KGkpO2xldCBzPTA7Zm9yKGxldCBpPTA7aTx0O2krKyl7Y29uc3QgdD1uZXcgVWludDhBcnJheShlW2ldKTthLnNldCh0LHMpO3MrPXQuYnl0ZUxlbmd0aH1yZXR1cm4gYX1mdW5jdGlvbiBnZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OmUsa2V5OnQsZ2V0QXJyYXk6aT0hMSxzdG9wV2hlbkZvdW5kOmE9ITB9KXtsZXQgcztjb25zdCByPW5ldyBSZWZTZXQ7Zm9yKDtlIGluc3RhbmNlb2YgRGljdCYmKCFlLm9iaklkfHwhci5oYXMoZS5vYmpJZCkpOyl7ZS5vYmpJZCYmci5wdXQoZS5vYmpJZCk7Y29uc3Qgbj1pP2UuZ2V0QXJyYXkodCk6ZS5nZXQodCk7aWYodm9pZCAwIT09bil7aWYoYSlyZXR1cm4gbjsoc3x8PVtdKS5wdXNoKG4pfWU9ZS5nZXQoIlBhcmVudCIpfXJldHVybiBzfWNvbnN0IGt0PVsiIiwiQyIsIkNDIiwiQ0NDIiwiQ0QiLCJEIiwiREMiLCJEQ0MiLCJEQ0NDIiwiQ00iLCIiLCJYIiwiWFgiLCJYWFgiLCJYTCIsIkwiLCJMWCIsIkxYWCIsIkxYWFgiLCJYQyIsIiIsIkkiLCJJSSIsIklJSSIsIklWIiwiViIsIlZJIiwiVklJIiwiVklJSSIsIklYIl07ZnVuY3Rpb24gdG9Sb21hbk51bWVyYWxzKGUsdD0hMSl7YXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZSkmJmU+MCwiVGhlIG51bWJlciBzaG91bGQgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLiIpO2NvbnN0IGk9W107bGV0IGE7Zm9yKDtlPj0xZTM7KXtlLT0xZTM7aS5wdXNoKCJNIil9YT1lLzEwMHwwO2UlPTEwMDtpLnB1c2goa3RbYV0pO2E9ZS8xMHwwO2UlPTEwO2kucHVzaChrdFsxMCthXSk7aS5wdXNoKGt0WzIwK2VdKTtjb25zdCBzPWkuam9pbigiIik7cmV0dXJuIHQ/cy50b0xvd2VyQ2FzZSgpOnN9ZnVuY3Rpb24gbG9nMihlKXtyZXR1cm4gZTw9MD8wOk1hdGguY2VpbChNYXRoLmxvZzIoZSkpfWZ1bmN0aW9uIHJlYWRJbnQ4KGUsdCl7cmV0dXJuIGVbdF08PDI0Pj4yNH1mdW5jdGlvbiByZWFkVWludDE2KGUsdCl7cmV0dXJuIGVbdF08PDh8ZVt0KzFdfWZ1bmN0aW9uIHJlYWRVaW50MzIoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gaXNXaGl0ZVNwYWNlKGUpe3JldHVybiAzMj09PWV8fDk9PT1lfHwxMz09PWV8fDEwPT09ZX1mdW5jdGlvbiBpc051bWJlckFycmF5KGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/KG51bGw9PT10fHxlLmxlbmd0aD09PXQpJiZlLmV2ZXJ5KChlPT4ibnVtYmVyIj09dHlwZW9mIGUpKTpBcnJheUJ1ZmZlci5pc1ZpZXcoZSkmJigwPT09ZS5sZW5ndGh8fCJudW1iZXIiPT10eXBlb2YgZVswXSkmJihudWxsPT09dHx8ZS5sZW5ndGg9PT10KX1mdW5jdGlvbiBsb29rdXBNYXRyaXgoZSx0KXtyZXR1cm4gaXNOdW1iZXJBcnJheShlLDYpP2U6dH1mdW5jdGlvbiBsb29rdXBSZWN0KGUsdCl7cmV0dXJuIGlzTnVtYmVyQXJyYXkoZSw0KT9lOnR9ZnVuY3Rpb24gbG9va3VwTm9ybWFsUmVjdChlLHQpe3JldHVybiBpc051bWJlckFycmF5KGUsNCk/VXRpbC5ub3JtYWxpemVSZWN0KGUpOnR9ZnVuY3Rpb24gcGFyc2VYRkFQYXRoKGUpe2NvbnN0IHQ9LyguKylcWyhcZCspXF0kLztyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcCgoZT0+e2NvbnN0IGk9ZS5tYXRjaCh0KTtyZXR1cm4gaT97bmFtZTppWzFdLHBvczpwYXJzZUludChpWzJdLDEwKX06e25hbWU6ZSxwb3M6MH19KSl9ZnVuY3Rpb24gZXNjYXBlUERGTmFtZShlKXtjb25zdCB0PVtdO2xldCBpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKXtjb25zdCBzPWUuY2hhckNvZGVBdChhKTtpZihzPDMzfHxzPjEyNnx8MzU9PT1zfHw0MD09PXN8fDQxPT09c3x8NjA9PT1zfHw2Mj09PXN8fDkxPT09c3x8OTM9PT1zfHwxMjM9PT1zfHwxMjU9PT1zfHw0Nz09PXN8fDM3PT09cyl7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKGAjJHtzLnRvU3RyaW5nKDE2KX1gKTtpPWErMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2k8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhpLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gZXNjYXBlU3RyaW5nKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoLyhbKClcXFxuXHJdKS9nLChlPT4iXG4iPT09ZT8iXFxuIjoiXHIiPT09ZT8iXFxyIjpgXFwke2V9YCkpfWZ1bmN0aW9uIF9jb2xsZWN0SlMoZSx0LGksYSl7aWYoIWUpcmV0dXJuO2xldCBzPW51bGw7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoYS5oYXMoZSkpcmV0dXJuO3M9ZTthLnB1dChzKTtlPXQuZmV0Y2goZSl9aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgcyBvZiBlKV9jb2xsZWN0SlMocyx0LGksYSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgRGljdCl7aWYoaXNOYW1lKGUuZ2V0KCJTIiksIkphdmFTY3JpcHQiKSl7Y29uc3QgdD1lLmdldCgiSlMiKTtsZXQgYTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9hPXQuZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiB0JiYoYT10KTthJiY9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiZpLnB1c2goYSl9X2NvbGxlY3RKUyhlLmdldFJhdygiTmV4dCIpLHQsaSxhKX1zJiZhLnJlbW92ZShzKX1mdW5jdGlvbiBjb2xsZWN0QWN0aW9ucyhlLHQsaSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpLHM9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiQUEiLHN0b3BXaGVuRm91bmQ6ITF9KTtpZihzKWZvcihsZXQgdD1zLmxlbmd0aC0xO3Q+PTA7dC0tKXtjb25zdCByPXNbdF07aWYociBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0IHQgb2Ygci5nZXRLZXlzKCkpe2NvbnN0IHM9aVt0XTtpZighcyljb250aW51ZTtjb25zdCBuPVtdO19jb2xsZWN0SlMoci5nZXRSYXcodCksZSxuLG5ldyBSZWZTZXQpO24ubGVuZ3RoPjAmJihhW3NdPW4pfX1pZih0LmhhcygiQSIpKXtjb25zdCBpPVtdO19jb2xsZWN0SlModC5nZXQoIkEiKSxlLGksbmV3IFJlZlNldCk7aS5sZW5ndGg+MCYmKGEuQWN0aW9uPWkpfXJldHVybiBvYmplY3RTaXplKGEpPjA/YTpudWxsfWNvbnN0IFJ0PXs2MDoiJmx0OyIsNjI6IiZndDsiLDM4OiImYW1wOyIsMzQ6IiZxdW90OyIsMzk6IiZhcG9zOyJ9O2Z1bmN0aW9uKmNvZGVQb2ludEl0ZXIoZSl7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtjb25zdCBpPWUuY29kZVBvaW50QXQodCk7aT41NTI5NSYmKGk8NTczNDR8fGk+NjU1MzMpJiZ0Kys7eWllbGQgaX19ZnVuY3Rpb24gZW5jb2RlVG9YbWxTdHJpbmcoZSl7Y29uc3QgdD1bXTtsZXQgaT0wO2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErKyl7Y29uc3Qgcz1lLmNvZGVQb2ludEF0KGEpO2lmKDMyPD1zJiZzPD0xMjYpe2NvbnN0IHI9UnRbc107aWYocil7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKHIpO2k9YSsxfX1lbHNle2k8YSYmdC5wdXNoKGUuc3Vic3RyaW5nKGksYSkpO3QucHVzaChgJiN4JHtzLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfTtgKTtzPjU1Mjk1JiYoczw1NzM0NHx8cz42NTUzMykmJmErKztpPWErMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2k8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhpLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gdmFsaWRhdGVGb250TmFtZShlLHQ9ITEpe2NvbnN0IGk9L14oInwnKS4qKCJ8JykkLy5leGVjKGUpO2lmKGkmJmlbMV09PT1pWzJdKXtpZihuZXcgUmVnRXhwKGBbXlxcXFxdJHtpWzFdfWApLnRlc3QoZS5zbGljZSgxLC0xKSkpe3QmJndhcm4oYEZvbnRGYW1pbHkgY29udGFpbnMgdW5lc2NhcGVkICR7aVsxXX06ICR7ZX0uYCk7cmV0dXJuITF9fWVsc2UgZm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgvWyBcdF0rLykpaWYoL14oXGR8KC0oXGR8LSkpKS8udGVzdChpKXx8IS9eW1x3LVxcXSskLy50ZXN0KGkpKXt0JiZ3YXJuKGBGb250RmFtaWx5IGNvbnRhaW5zIGludmFsaWQgPGN1c3RvbS1pZGVudD46ICR7ZX0uYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gdmFsaWRhdGVDU1NGb250KGUpe2NvbnN0IHQ9bmV3IFNldChbIjEwMCIsIjIwMCIsIjMwMCIsIjQwMCIsIjUwMCIsIjYwMCIsIjcwMCIsIjgwMCIsIjkwMCIsIjEwMDAiLCJub3JtYWwiLCJib2xkIiwiYm9sZGVyIiwibGlnaHRlciJdKSx7Zm9udEZhbWlseTppLGZvbnRXZWlnaHQ6YSxpdGFsaWNBbmdsZTpzfT1lO2lmKCF2YWxpZGF0ZUZvbnROYW1lKGksITApKXJldHVybiExO2NvbnN0IHI9YT9hLnRvU3RyaW5nKCk6IiI7ZS5mb250V2VpZ2h0PXQuaGFzKHIpP3I6IjQwMCI7Y29uc3Qgbj1wYXJzZUZsb2F0KHMpO2UuaXRhbGljQW5nbGU9aXNOYU4obil8fG48LTkwfHxuPjkwPyIxNCI6cy50b1N0cmluZygpO3JldHVybiEwfWZ1bmN0aW9uIHJlY292ZXJKc1VSTChlKXtjb25zdCB0PW5ldyBSZWdFeHAoIl5cXHMqKCIrWyJhcHAubGF1bmNoVVJMIiwid2luZG93Lm9wZW4iLCJ4ZmEuaG9zdC5nb3RvVVJMIl0uam9pbigifCIpLnJlcGxhY2VBbGwoIi4iLCJcXC4iKSsiKVxcKCg/Oid8XCIpKFteJ1wiXSopKD86J3xcIikoPzosXFxzKihcXHcrKVxcKXxcXCkpIiwiaSIpLmV4ZWMoZSk7aWYodD8uWzJdKXtjb25zdCBlPXRbMl07bGV0IGk9ITE7InRydWUiPT09dFszXSYmImFwcC5sYXVuY2hVUkwiPT09dFsxXSYmKGk9ITApO3JldHVybnt1cmw6ZSxuZXdXaW5kb3c6aX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gbnVtYmVyVG9TdHJpbmcoZSl7aWYoTnVtYmVyLmlzSW50ZWdlcihlKSlyZXR1cm4gZS50b1N0cmluZygpO2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSk7cmV0dXJuIHQlMTAwPT0wPyh0LzEwMCkudG9TdHJpbmcoKTp0JTEwPT0wP2UudG9GaXhlZCgxKTplLnRvRml4ZWQoMil9ZnVuY3Rpb24gZ2V0TmV3QW5ub3RhdGlvbnNNYXAoZSl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1uZXcgTWFwO2Zvcihjb25zdFtpLGFdb2YgZSl7aWYoIWkuc3RhcnRzV2l0aCh1KSljb250aW51ZTtsZXQgZT10LmdldChhLnBhZ2VJbmRleCk7aWYoIWUpe2U9W107dC5zZXQoYS5wYWdlSW5kZXgsZSl9ZS5wdXNoKGEpfXJldHVybiB0LnNpemU+MD90Om51bGx9ZnVuY3Rpb24gc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShlKXtyZXR1cm4gZnVuY3Rpb24gaXNBc2NpaShlKXtyZXR1cm4vXltceDAwLVx4N0ZdKiQvLnRlc3QoZSl9KGUpP2U6c3RyaW5nVG9VVEYxNlN0cmluZyhlLCEwKX1mdW5jdGlvbiBzdHJpbmdUb1VURjE2SGV4U3RyaW5nKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPWUuY2hhckNvZGVBdChpKTt0LnB1c2gob3RbYT4+OCYyNTVdLG90WzI1NSZhXSl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9VVEYxNlN0cmluZyhlLHQ9ITEpe2NvbnN0IGk9W107dCYmaS5wdXNoKCLDvsO/Iik7Zm9yKGxldCB0PTAsYT1lLmxlbmd0aDt0PGE7dCsrKXtjb25zdCBhPWUuY2hhckNvZGVBdCh0KTtpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhPj44JjI1NSksU3RyaW5nLmZyb21DaGFyQ29kZSgyNTUmYSkpfXJldHVybiBpLmpvaW4oIiIpfWZ1bmN0aW9uIGdldFJvdGF0aW9uTWF0cml4KGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSA5MDpyZXR1cm5bMCwxLC0xLDAsdCwwXTtjYXNlIDE4MDpyZXR1cm5bLTEsMCwwLC0xLHQsaV07Y2FzZSAyNzA6cmV0dXJuWzAsLTEsMSwwLDAsaV07ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm90YXRpb24iKX19ZnVuY3Rpb24gZ2V0U2l6ZUluQnl0ZXMoZSl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmNlaWwoTWF0aC5sb2cyKDErZSkpLzgpfWNsYXNzIFN0cmVhbSBleHRlbmRzIEJhc2VTdHJlYW17Y29uc3RydWN0b3IoZSx0LGksYSl7c3VwZXIoKTt0aGlzLmJ5dGVzPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6bmV3IFVpbnQ4QXJyYXkoZSk7dGhpcy5zdGFydD10fHwwO3RoaXMucG9zPXRoaXMuc3RhcnQ7dGhpcy5lbmQ9dCtpfHx0aGlzLmJ5dGVzLmxlbmd0aDt0aGlzLmRpY3Q9YX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZW5kLXRoaXMuc3RhcnR9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMubGVuZ3RofWdldEJ5dGUoKXtyZXR1cm4gdGhpcy5wb3M+PXRoaXMuZW5kPy0xOnRoaXMuYnl0ZXNbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSl7Y29uc3QgdD10aGlzLmJ5dGVzLGk9dGhpcy5wb3MsYT10aGlzLmVuZDtpZighZSlyZXR1cm4gdC5zdWJhcnJheShpLGEpO2xldCBzPWkrZTtzPmEmJihzPWEpO3RoaXMucG9zPXM7cmV0dXJuIHQuc3ViYXJyYXkoaSxzKX1nZXRCeXRlUmFuZ2UoZSx0KXtlPDAmJihlPTApO3Q+dGhpcy5lbmQmJih0PXRoaXMuZW5kKTtyZXR1cm4gdGhpcy5ieXRlcy5zdWJhcnJheShlLHQpfXJlc2V0KCl7dGhpcy5wb3M9dGhpcy5zdGFydH1tb3ZlU3RhcnQoKXt0aGlzLnN0YXJ0PXRoaXMucG9zfW1ha2VTdWJTdHJlYW0oZSx0LGk9bnVsbCl7cmV0dXJuIG5ldyBTdHJlYW0odGhpcy5ieXRlcy5idWZmZXIsZSx0LGkpfX1jbGFzcyBTdHJpbmdTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSl7c3VwZXIoc3RyaW5nVG9CeXRlcyhlKSl9fWNsYXNzIE51bGxTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgVWludDhBcnJheSgwKSl9fWNsYXNzIENodW5rZWRTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG5ldyBVaW50OEFycmF5KGUpLDAsZSxudWxsKTt0aGlzLmNodW5rU2l6ZT10O3RoaXMuX2xvYWRlZENodW5rcz1uZXcgU2V0O3RoaXMubnVtQ2h1bmtzPU1hdGguY2VpbChlL3QpO3RoaXMubWFuYWdlcj1pO3RoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoPTA7dGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuaz0tMX1nZXRNaXNzaW5nQ2h1bmtzKCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MCxpPXRoaXMubnVtQ2h1bmtzO3Q8aTsrK3QpdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KXx8ZS5wdXNoKHQpO3JldHVybiBlfWdldCBudW1DaHVua3NMb2FkZWQoKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLnNpemV9Z2V0IGlzRGF0YUxvYWRlZCgpe3JldHVybiB0aGlzLm51bUNodW5rc0xvYWRlZD09PXRoaXMubnVtQ2h1bmtzfW9uUmVjZWl2ZURhdGEoZSx0KXtjb25zdCBpPXRoaXMuY2h1bmtTaXplO2lmKGUlaSE9MCl0aHJvdyBuZXcgRXJyb3IoYEJhZCBiZWdpbiBvZmZzZXQ6ICR7ZX1gKTtjb25zdCBhPWUrdC5ieXRlTGVuZ3RoO2lmKGElaSE9MCYmYSE9PXRoaXMuYnl0ZXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgQmFkIGVuZCBvZmZzZXQ6ICR7YX1gKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheSh0KSxlKTtjb25zdCBzPU1hdGguZmxvb3IoZS9pKSxyPU1hdGguZmxvb3IoKGEtMSkvaSkrMTtmb3IobGV0IGU9cztlPHI7KytlKXRoaXMuX2xvYWRlZENodW5rcy5hZGQoZSl9b25SZWNlaXZlUHJvZ3Jlc3NpdmVEYXRhKGUpe2xldCB0PXRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoO2NvbnN0IGk9TWF0aC5mbG9vcih0L3RoaXMuY2h1bmtTaXplKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheShlKSx0KTt0Kz1lLmJ5dGVMZW5ndGg7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9dDtjb25zdCBhPXQ+PXRoaXMuZW5kP3RoaXMubnVtQ2h1bmtzOk1hdGguZmxvb3IodC90aGlzLmNodW5rU2l6ZSk7Zm9yKGxldCBlPWk7ZTxhOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuYWRkKGUpfWVuc3VyZUJ5dGUoZSl7aWYoZTx0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgdD1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKCEodD50aGlzLm51bUNodW5rcykmJnQhPT10aGlzLmxhc3RTdWNjZXNzZnVsRW5zdXJlQnl0ZUNodW5rKXtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSxlKzEpO3RoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bms9dH19ZW5zdXJlUmFuZ2UoZSx0KXtpZihlPj10KXJldHVybjtpZih0PD10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgaT1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKGk+dGhpcy5udW1DaHVua3MpcmV0dXJuO2NvbnN0IGE9TWF0aC5taW4oTWF0aC5mbG9vcigodC0xKS90aGlzLmNodW5rU2l6ZSkrMSx0aGlzLm51bUNodW5rcyk7Zm9yKGxldCBzPWk7czxhOysrcylpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhzKSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSx0KX1uZXh0RW1wdHlDaHVuayhlKXtjb25zdCB0PXRoaXMubnVtQ2h1bmtzO2ZvcihsZXQgaT0wO2k8dDsrK2kpe2NvbnN0IGE9KGUraSkldDtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhhKSlyZXR1cm4gYX1yZXR1cm4gbnVsbH1oYXNDaHVuayhlKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhlKX1nZXRCeXRlKCl7Y29uc3QgZT10aGlzLnBvcztpZihlPj10aGlzLmVuZClyZXR1cm4tMTtlPj10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVCeXRlKGUpO3JldHVybiB0aGlzLmJ5dGVzW3RoaXMucG9zKytdfWdldEJ5dGVzKGUpe2NvbnN0IHQ9dGhpcy5ieXRlcyxpPXRoaXMucG9zLGE9dGhpcy5lbmQ7aWYoIWUpe2E+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoaSxhKTtyZXR1cm4gdC5zdWJhcnJheShpLGEpfWxldCBzPWkrZTtzPmEmJihzPWEpO3M+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoaSxzKTt0aGlzLnBvcz1zO3JldHVybiB0LnN1YmFycmF5KGkscyl9Z2V0Qnl0ZVJhbmdlKGUsdCl7ZTwwJiYoZT0wKTt0PnRoaXMuZW5kJiYodD10aGlzLmVuZCk7dD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLHQpO3JldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGUsdCl9bWFrZVN1YlN0cmVhbShlLHQsaT1udWxsKXt0P2UrdD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLGUrdCk6ZT49dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlQnl0ZShlKTtmdW5jdGlvbiBDaHVua2VkU3RyZWFtU3Vic3RyZWFtKCl7fUNodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodGhpcyk7Q2h1bmtlZFN0cmVhbVN1YnN0cmVhbS5wcm90b3R5cGUuZ2V0TWlzc2luZ0NodW5rcz1mdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5jaHVua1NpemUsdD1NYXRoLmZsb29yKHRoaXMuc3RhcnQvZSksaT1NYXRoLmZsb29yKCh0aGlzLmVuZC0xKS9lKSsxLGE9W107Zm9yKGxldCBlPXQ7ZTxpOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuaGFzKGUpfHxhLnB1c2goZSk7cmV0dXJuIGF9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZSwiaXNEYXRhTG9hZGVkIix7Z2V0KCl7cmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkPT09dGhpcy5udW1DaHVua3N8fDA9PT10aGlzLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGh9LGNvbmZpZ3VyYWJsZTohMH0pO2NvbnN0IGE9bmV3IENodW5rZWRTdHJlYW1TdWJzdHJlYW07YS5wb3M9YS5zdGFydD1lO2EuZW5kPWUrdHx8dGhpcy5lbmQ7YS5kaWN0PWk7cmV0dXJuIGF9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm5bdGhpc119fWNsYXNzIENodW5rZWRTdHJlYW1NYW5hZ2Vye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5sZW5ndGg9dC5sZW5ndGg7dGhpcy5jaHVua1NpemU9dC5yYW5nZUNodW5rU2l6ZTt0aGlzLnN0cmVhbT1uZXcgQ2h1bmtlZFN0cmVhbSh0aGlzLmxlbmd0aCx0aGlzLmNodW5rU2l6ZSx0aGlzKTt0aGlzLnBkZk5ldHdvcmtTdHJlYW09ZTt0aGlzLmRpc2FibGVBdXRvRmV0Y2g9dC5kaXNhYmxlQXV0b0ZldGNoO3RoaXMubXNnSGFuZGxlcj10Lm1zZ0hhbmRsZXI7dGhpcy5jdXJyUmVxdWVzdElkPTA7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0PW5ldyBNYXA7dGhpcy5fcmVxdWVzdHNCeUNodW5rPW5ldyBNYXA7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Q9bmV3IE1hcDt0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aD0wO3RoaXMuYWJvcnRlZD0hMTt0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfXNlbmRSZXF1ZXN0KGUsdCl7Y29uc3QgaT10aGlzLnBkZk5ldHdvcmtTdHJlYW0uZ2V0UmFuZ2VSZWFkZXIoZSx0KTtpLmlzU3RyZWFtaW5nU3VwcG9ydGVkfHwoaS5vblByb2dyZXNzPXRoaXMub25Qcm9ncmVzcy5iaW5kKHRoaXMpKTtsZXQgYT1bXSxzPTA7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHJlYWRDaHVuaz0oe3ZhbHVlOnIsZG9uZTpufSk9Pnt0cnl7aWYobil7Y29uc3QgdD1hcnJheUJ1ZmZlcnNUb0J5dGVzKGEpO2E9bnVsbDtlKHQpO3JldHVybn1zKz1yLmJ5dGVMZW5ndGg7aS5pc1N0cmVhbWluZ1N1cHBvcnRlZCYmdGhpcy5vblByb2dyZXNzKHtsb2FkZWQ6c30pO2EucHVzaChyKTtpLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX1jYXRjaChlKXt0KGUpfX07aS5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9KSkudGhlbigodD0+e3RoaXMuYWJvcnRlZHx8dGhpcy5vblJlY2VpdmVEYXRhKHtjaHVuazp0LGJlZ2luOmV9KX0pKX1yZXF1ZXN0QWxsQ2h1bmtzKGU9ITEpe2lmKCFlKXtjb25zdCBlPXRoaXMuc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKTt0aGlzLl9yZXF1ZXN0Q2h1bmtzKGUpfXJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2V9X3JlcXVlc3RDaHVua3MoZSl7Y29uc3QgdD10aGlzLmN1cnJSZXF1ZXN0SWQrKyxpPW5ldyBTZXQ7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0LnNldCh0LGkpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fGkuYWRkKHQpO2lmKDA9PT1pLnNpemUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGE9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Quc2V0KHQsYSk7Y29uc3Qgcz1bXTtmb3IoY29uc3QgZSBvZiBpKXtsZXQgaT10aGlzLl9yZXF1ZXN0c0J5Q2h1bmsuZ2V0KGUpO2lmKCFpKXtpPVtdO3RoaXMuX3JlcXVlc3RzQnlDaHVuay5zZXQoZSxpKTtzLnB1c2goZSl9aS5wdXNoKHQpfWlmKHMubGVuZ3RoPjApe2NvbnN0IGU9dGhpcy5ncm91cENodW5rcyhzKTtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPXQuYmVnaW5DaHVuayp0aGlzLmNodW5rU2l6ZSxpPU1hdGgubWluKHQuZW5kQ2h1bmsqdGhpcy5jaHVua1NpemUsdGhpcy5sZW5ndGgpO3RoaXMuc2VuZFJlcXVlc3QoZSxpKS5jYXRjaChhLnJlamVjdCl9fXJldHVybiBhLnByb21pc2UuY2F0Y2goKGU9PntpZighdGhpcy5hYm9ydGVkKXRocm93IGV9KSl9Z2V0U3RyZWFtKCl7cmV0dXJuIHRoaXMuc3RyZWFtfXJlcXVlc3RSYW5nZShlLHQpe3Q9TWF0aC5taW4odCx0aGlzLmxlbmd0aCk7Y29uc3QgaT10aGlzLmdldEJlZ2luQ2h1bmsoZSksYT10aGlzLmdldEVuZENodW5rKHQpLHM9W107Zm9yKGxldCBlPWk7ZTxhOysrZSlzLnB1c2goZSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3Mocyl9cmVxdWVzdFJhbmdlcyhlPVtdKXtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9dGhpcy5nZXRCZWdpbkNodW5rKGkuYmVnaW4pLGE9dGhpcy5nZXRFbmRDaHVuayhpLmVuZCk7Zm9yKGxldCBpPWU7aTxhOysraSl0LmluY2x1ZGVzKGkpfHx0LnB1c2goaSl9dC5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLXR9KSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3ModCl9Z3JvdXBDaHVua3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0tMSxhPS0xO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyOysrcyl7Y29uc3Qgcj1lW3NdO2k8MCYmKGk9cik7aWYoYT49MCYmYSsxIT09cil7dC5wdXNoKHtiZWdpbkNodW5rOmksZW5kQ2h1bms6YSsxfSk7aT1yfXMrMT09PWUubGVuZ3RoJiZ0LnB1c2goe2JlZ2luQ2h1bms6aSxlbmRDaHVuazpyKzF9KTthPXJ9cmV0dXJuIHR9b25Qcm9ncmVzcyhlKXt0aGlzLm1zZ0hhbmRsZXIuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6dGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkKnRoaXMuY2h1bmtTaXplK2UubG9hZGVkLHRvdGFsOnRoaXMubGVuZ3RofSl9b25SZWNlaXZlRGF0YShlKXtjb25zdCB0PWUuY2h1bmssaT12b2lkIDA9PT1lLmJlZ2luLGE9aT90aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aDplLmJlZ2luLHM9YSt0LmJ5dGVMZW5ndGgscj1NYXRoLmZsb29yKGEvdGhpcy5jaHVua1NpemUpLG49czx0aGlzLmxlbmd0aD9NYXRoLmZsb29yKHMvdGhpcy5jaHVua1NpemUpOk1hdGguY2VpbChzL3RoaXMuY2h1bmtTaXplKTtpZihpKXt0aGlzLnN0cmVhbS5vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEodCk7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9c31lbHNlIHRoaXMuc3RyZWFtLm9uUmVjZWl2ZURhdGEoYSx0KTt0aGlzLnN0cmVhbS5pc0RhdGFMb2FkZWQmJnRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVzb2x2ZSh0aGlzLnN0cmVhbSk7Y29uc3QgZz1bXTtmb3IobGV0IGU9cjtlPG47KytlKXtjb25zdCB0PXRoaXMuX3JlcXVlc3RzQnlDaHVuay5nZXQoZSk7aWYodCl7dGhpcy5fcmVxdWVzdHNCeUNodW5rLmRlbGV0ZShlKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2NodW5rc05lZWRlZEJ5UmVxdWVzdC5nZXQoaSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpO3Quc2l6ZT4wfHxnLnB1c2goaSl9fX1pZighdGhpcy5kaXNhYmxlQXV0b0ZldGNoJiYwPT09dGhpcy5fcmVxdWVzdHNCeUNodW5rLnNpemUpe2xldCBlO2lmKDE9PT10aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQpe2NvbnN0IHQ9dGhpcy5zdHJlYW0ubnVtQ2h1bmtzLTE7dGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fChlPXQpfWVsc2UgZT10aGlzLnN0cmVhbS5uZXh0RW1wdHlDaHVuayhuKTtOdW1iZXIuaXNJbnRlZ2VyKGUpJiZ0aGlzLl9yZXF1ZXN0Q2h1bmtzKFtlXSl9Zm9yKGNvbnN0IGUgb2YgZyl7Y29uc3QgdD10aGlzLl9wcm9taXNlc0J5UmVxdWVzdC5nZXQoZSk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QuZGVsZXRlKGUpO3QucmVzb2x2ZSgpfXRoaXMubXNnSGFuZGxlci5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDp0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQqdGhpcy5jaHVua1NpemUsdG90YWw6dGhpcy5sZW5ndGh9KX1vbkVycm9yKGUpe3RoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVqZWN0KGUpfWdldEJlZ2luQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoZS90aGlzLmNodW5rU2l6ZSl9Z2V0RW5kQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoKGUtMSkvdGhpcy5jaHVua1NpemUpKzF9YWJvcnQoZSl7dGhpcy5hYm9ydGVkPSEwO3RoaXMucGRmTmV0d29ya1N0cmVhbT8uY2FuY2VsQWxsUmVxdWVzdHMoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QudmFsdWVzKCkpdC5yZWplY3QoZSl9fWNsYXNzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5hbWU9ZTt0aGlzLm51bUNvbXBzPXR9Z2V0UmdiKGUsdCl7Y29uc3QgaT1uZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7dGhpcy5nZXRSZ2JJdGVtKGUsdCxpLDApO3JldHVybiBpfWdldFJnYkl0ZW0oZSx0LGksYSl7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldFJnYkl0ZW0iKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldFJnYkJ1ZmZlciIpfWdldE91dHB1dExlbmd0aChlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRPdXRwdXRMZW5ndGgiKX1pc1Bhc3N0aHJvdWdoKGUpe3JldHVybiExfWlzRGVmYXVsdERlY29kZShlLHQpe3JldHVybiBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZShlLHRoaXMubnVtQ29tcHMpfWZpbGxSZ2IoZSx0LGksYSxzLHIsbixnLG8pe2NvbnN0IGM9dCppO2xldCBDPW51bGw7Y29uc3QgaD0xPDxuLGw9aSE9PXN8fHQhPT1hO2lmKHRoaXMuaXNQYXNzdGhyb3VnaChuKSlDPWc7ZWxzZSBpZigxPT09dGhpcy5udW1Db21wcyYmYz5oJiYiRGV2aWNlR3JheSIhPT10aGlzLm5hbWUmJiJEZXZpY2VSR0IiIT09dGhpcy5uYW1lKXtjb25zdCB0PW48PTg/bmV3IFVpbnQ4QXJyYXkoaCk6bmV3IFVpbnQxNkFycmF5KGgpO2ZvcihsZXQgZT0wO2U8aDtlKyspdFtlXT1lO2NvbnN0IGk9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqaCk7dGhpcy5nZXRSZ2JCdWZmZXIodCwwLGgsaSwwLG4sMCk7aWYobCl7Qz1uZXcgVWludDhBcnJheSgzKmMpO2xldCBlPTA7Zm9yKGxldCB0PTA7dDxjOysrdCl7Y29uc3QgYT0zKmdbdF07Q1tlKytdPWlbYV07Q1tlKytdPWlbYSsxXTtDW2UrK109aVthKzJdfX1lbHNle2xldCB0PTA7Zm9yKGxldCBhPTA7YTxjOysrYSl7Y29uc3Qgcz0zKmdbYV07ZVt0KytdPWlbc107ZVt0KytdPWlbcysxXTtlW3QrK109aVtzKzJdO3QrPW99fX1lbHNlIGlmKGwpe0M9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqYyk7dGhpcy5nZXRSZ2JCdWZmZXIoZywwLGMsQywwLG4sMCl9ZWxzZSB0aGlzLmdldFJnYkJ1ZmZlcihnLDAsYSpyLGUsMCxuLG8pO2lmKEMpaWYobCkhZnVuY3Rpb24gcmVzaXplUmdiSW1hZ2UoZSx0LGksYSxzLHIsbil7bj0xIT09bj8wOm47Y29uc3QgZz1pL3Msbz1hL3I7bGV0IGMsQz0wO2NvbnN0IGg9bmV3IFVpbnQxNkFycmF5KHMpLGw9MyppO2ZvcihsZXQgZT0wO2U8cztlKyspaFtlXT0zKk1hdGguZmxvb3IoZSpnKTtmb3IobGV0IGk9MDtpPHI7aSsrKXtjb25zdCBhPU1hdGguZmxvb3IoaSpvKSpsO2ZvcihsZXQgaT0wO2k8cztpKyspe2M9YStoW2ldO3RbQysrXT1lW2MrK107dFtDKytdPWVbYysrXTt0W0MrK109ZVtjKytdO0MrPW59fX0oQyxlLHQsaSxhLHMsbyk7ZWxzZXtsZXQgdD0wLGk9MDtmb3IobGV0IHM9MCxuPWEqcjtzPG47cysrKXtlW3QrK109Q1tpKytdO2VbdCsrXT1DW2krK107ZVt0KytdPUNbaSsrXTt0Kz1vfX19Z2V0IHVzZXNaZXJvVG9PbmVSYW5nZSgpe3JldHVybiBzaGFkb3codGhpcywidXNlc1plcm9Ub09uZVJhbmdlIiwhMCl9c3RhdGljIF9jYWNoZShlLHQsaSxhKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuX2NhY2hlIC0gZXhwZWN0ZWQgImxvY2FsQ29sb3JTcGFjZUNhY2hlIiBhcmd1bWVudC4nKTtpZighYSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuX2NhY2hlIC0gZXhwZWN0ZWQgInBhcnNlZENvbG9yU3BhY2UiIGFyZ3VtZW50LicpO2xldCBzLHI7aWYoZSBpbnN0YW5jZW9mIFJlZil7cj1lO2U9dC5mZXRjaChlKX1lIGluc3RhbmNlb2YgTmFtZSYmKHM9ZS5uYW1lKTsoc3x8cikmJmkuc2V0KHMscixhKX1zdGF0aWMgZ2V0Q2FjaGVkKGUsdCxpKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuZ2V0Q2FjaGVkIC0gZXhwZWN0ZWQgImxvY2FsQ29sb3JTcGFjZUNhY2hlIiBhcmd1bWVudC4nKTtpZihlIGluc3RhbmNlb2YgUmVmKXtjb25zdCBhPWkuZ2V0QnlSZWYoZSk7aWYoYSlyZXR1cm4gYTt0cnl7ZT10LmZldGNoKGUpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlfX1pZihlIGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgdD1pLmdldEJ5TmFtZShlLm5hbWUpO2lmKHQpcmV0dXJuIHR9cmV0dXJuIG51bGx9c3RhdGljIGFzeW5jIHBhcnNlQXN5bmMoe2NzOmUseHJlZjp0LHJlc291cmNlczppPW51bGwscGRmRnVuY3Rpb25GYWN0b3J5OmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pe2NvbnN0IHI9dGhpcy5fcGFyc2UoZSx0LGksYSk7dGhpcy5fY2FjaGUoZSx0LHMscik7cmV0dXJuIHJ9c3RhdGljIHBhcnNlKHtjczplLHhyZWY6dCxyZXNvdXJjZXM6aT1udWxsLHBkZkZ1bmN0aW9uRmFjdG9yeTphLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KXtjb25zdCByPXRoaXMuZ2V0Q2FjaGVkKGUsdCxzKTtpZihyKXJldHVybiByO2NvbnN0IG49dGhpcy5fcGFyc2UoZSx0LGksYSk7dGhpcy5fY2FjaGUoZSx0LHMsbik7cmV0dXJuIG59c3RhdGljIF9wYXJzZShlLHQsaT1udWxsLGEpe2lmKChlPXQuZmV0Y2hJZlJlZihlKSlpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJHIjpjYXNlIkRldmljZUdyYXkiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiO2Nhc2UiRGV2aWNlUkdCQSI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2JhO2Nhc2UiQ01ZSyI6Y2FzZSJEZXZpY2VDTVlLIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7Y2FzZSJQYXR0ZXJuIjpyZXR1cm4gbmV3IFBhdHRlcm5DUyhudWxsKTtkZWZhdWx0OmlmKGkgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBzPWkuZ2V0KCJDb2xvclNwYWNlIik7aWYocyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHI9cy5nZXQoZS5uYW1lKTtpZihyKXtpZihyIGluc3RhbmNlb2YgTmFtZSlyZXR1cm4gdGhpcy5fcGFyc2Uocix0LGksYSk7ZT1yO2JyZWFrfX19d2FybihgVW5yZWNvZ25pemVkIENvbG9yU3BhY2U6ICR7ZS5uYW1lfWApO3JldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheX1pZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPXQuZmV0Y2hJZlJlZihlWzBdKS5uYW1lO2xldCByLG4sZyxvLGMsQztzd2l0Y2gocyl7Y2FzZSJHIjpjYXNlIkRldmljZUdyYXkiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiO2Nhc2UiQ01ZSyI6Y2FzZSJEZXZpY2VDTVlLIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7Y2FzZSJDYWxHcmF5IjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtDPXIuZ2V0KCJHYW1tYSIpO3JldHVybiBuZXcgQ2FsR3JheUNTKG8sYyxDKTtjYXNlIkNhbFJHQiI6cj10LmZldGNoSWZSZWYoZVsxXSk7bz1yLmdldEFycmF5KCJXaGl0ZVBvaW50Iik7Yz1yLmdldEFycmF5KCJCbGFja1BvaW50Iik7Qz1yLmdldEFycmF5KCJHYW1tYSIpO2NvbnN0IGg9ci5nZXRBcnJheSgiTWF0cml4Iik7cmV0dXJuIG5ldyBDYWxSR0JDUyhvLGMsQyxoKTtjYXNlIklDQ0Jhc2VkIjpjb25zdCBsPXQuZmV0Y2hJZlJlZihlWzFdKS5kaWN0O249bC5nZXQoIk4iKTtjb25zdCBRPWwuZ2V0KCJBbHRlcm5hdGUiKTtpZihRKXtjb25zdCBlPXRoaXMuX3BhcnNlKFEsdCxpLGEpO2lmKGUubnVtQ29tcHM9PT1uKXJldHVybiBlO3dhcm4oIklDQ0Jhc2VkIGNvbG9yIHNwYWNlOiBJZ25vcmluZyBpbmNvcnJlY3QgL0FsdGVybmF0ZSBlbnRyeS4iKX1pZigxPT09bilyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXk7aWYoMz09PW4pcmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2I7aWYoND09PW4pcmV0dXJuIHRoaXMuc2luZ2xldG9ucy5jbXlrO2JyZWFrO2Nhc2UiUGF0dGVybiI6Zz1lWzFdfHxudWxsO2cmJihnPXRoaXMuX3BhcnNlKGcsdCxpLGEpKTtyZXR1cm4gbmV3IFBhdHRlcm5DUyhnKTtjYXNlIkkiOmNhc2UiSW5kZXhlZCI6Zz10aGlzLl9wYXJzZShlWzFdLHQsaSxhKTtjb25zdCBFPU1hdGgubWF4KDAsTWF0aC5taW4odC5mZXRjaElmUmVmKGVbMl0pLDI1NSkpLHU9dC5mZXRjaElmUmVmKGVbM10pO3JldHVybiBuZXcgSW5kZXhlZENTKGcsRSx1KTtjYXNlIlNlcGFyYXRpb24iOmNhc2UiRGV2aWNlTiI6Y29uc3QgZD10LmZldGNoSWZSZWYoZVsxXSk7bj1BcnJheS5pc0FycmF5KGQpP2QubGVuZ3RoOjE7Zz10aGlzLl9wYXJzZShlWzJdLHQsaSxhKTtjb25zdCBmPWEuY3JlYXRlKGVbM10pO3JldHVybiBuZXcgQWx0ZXJuYXRlQ1MobixnLGYpO2Nhc2UiTGFiIjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtjb25zdCBwPXIuZ2V0QXJyYXkoIlJhbmdlIik7cmV0dXJuIG5ldyBMYWJDUyhvLGMscCk7ZGVmYXVsdDp3YXJuKGBVbmltcGxlbWVudGVkIENvbG9yU3BhY2Ugb2JqZWN0OiAke3N9YCk7cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5ncmF5fX13YXJuKGBVbnJlY29nbml6ZWQgQ29sb3JTcGFjZSBvYmplY3Q6ICR7ZX1gKTtyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXl9c3RhdGljIGlzRGVmYXVsdERlY29kZShlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiEwO2lmKDIqdCE9PWUubGVuZ3RoKXt3YXJuKCJUaGUgZGVjb2RlIG1hcCBpcyBub3QgdGhlIGNvcnJlY3QgbGVuZ3RoIik7cmV0dXJuITB9Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCs9MilpZigwIT09ZVt0XXx8MSE9PWVbdCsxXSlyZXR1cm4hMTtyZXR1cm4hMH1zdGF0aWMgZ2V0IHNpbmdsZXRvbnMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInNpbmdsZXRvbnMiLHtnZXQgZ3JheSgpe3JldHVybiBzaGFkb3codGhpcywiZ3JheSIsbmV3IERldmljZUdyYXlDUyl9LGdldCByZ2IoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJnYiIsbmV3IERldmljZVJnYkNTKX0sZ2V0IHJnYmEoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJnYmEiLG5ldyBEZXZpY2VSZ2JhQ1MpfSxnZXQgY215aygpe3JldHVybiBzaGFkb3codGhpcywiY215ayIsbmV3IERldmljZUNteWtDUyl9fSl9fWNsYXNzIEFsdGVybmF0ZUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoIkFsdGVybmF0ZSIsZSk7dGhpcy5iYXNlPXQ7dGhpcy50aW50Rm49aTt0aGlzLnRtcEJ1Zj1uZXcgRmxvYXQzMkFycmF5KHQubnVtQ29tcHMpfWdldFJnYkl0ZW0oZSx0LGksYSl7Y29uc3Qgcz10aGlzLnRtcEJ1Zjt0aGlzLnRpbnRGbihlLHQscywwKTt0aGlzLmJhc2UuZ2V0UmdiSXRlbShzLDAsaSxhKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz10aGlzLnRpbnRGbixvPXRoaXMuYmFzZSxjPTEvKCgxPDxyKS0xKSxDPW8ubnVtQ29tcHMsaD1vLnVzZXNaZXJvVG9PbmVSYW5nZSxsPShvLmlzUGFzc3Rocm91Z2goOCl8fCFoKSYmMD09PW47bGV0IFE9bD9zOjA7Y29uc3QgRT1sP2E6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEMqaSksdT10aGlzLm51bUNvbXBzLGQ9bmV3IEZsb2F0MzJBcnJheSh1KSxmPW5ldyBGbG9hdDMyQXJyYXkoQyk7bGV0IHAsbTtmb3IocD0wO3A8aTtwKyspe2ZvcihtPTA7bTx1O20rKylkW21dPWVbdCsrXSpjO2coZCwwLGYsMCk7aWYoaClmb3IobT0wO208QzttKyspRVtRKytdPTI1NSpmW21dO2Vsc2V7by5nZXRSZ2JJdGVtKGYsMCxFLFEpO1ErPUN9fWx8fG8uZ2V0UmdiQnVmZmVyKEUsMCxpLGEscyw4LG4pfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGUqdGhpcy5iYXNlLm51bUNvbXBzL3RoaXMubnVtQ29tcHMsdCl9fWNsYXNzIFBhdHRlcm5DUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoIlBhdHRlcm4iLG51bGwpO3RoaXMuYmFzZT1lfWlzRGVmYXVsdERlY29kZShlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgUGF0dGVybkNTLmlzRGVmYXVsdERlY29kZSIpfX1jbGFzcyBJbmRleGVkQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiSW5kZXhlZCIsMSk7dGhpcy5iYXNlPWU7Y29uc3QgYT1lLm51bUNvbXBzKih0KzEpO3RoaXMubG9va3VwPW5ldyBVaW50OEFycmF5KGEpO2lmKGkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBlPWkuZ2V0Qnl0ZXMoYSk7dGhpcy5sb29rdXAuc2V0KGUpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW5kZXhlZENTIC0gdW5yZWNvZ25pemVkIGxvb2t1cCB0YWJsZTogJHtpfWApO2ZvcihsZXQgZT0wO2U8YTsrK2UpdGhpcy5sb29rdXBbZV09MjU1JmkuY2hhckNvZGVBdChlKX19Z2V0UmdiSXRlbShlLHQsaSxhKXtjb25zdCBzPXRoaXMuYmFzZS5udW1Db21wcyxyPWVbdF0qczt0aGlzLmJhc2UuZ2V0UmdiQnVmZmVyKHRoaXMubG9va3VwLHIsMSxpLGEsOCwwKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz10aGlzLmJhc2Usbz1nLm51bUNvbXBzLGM9Zy5nZXRPdXRwdXRMZW5ndGgobyxuKSxDPXRoaXMubG9va3VwO2ZvcihsZXQgcj0wO3I8aTsrK3Ipe2NvbnN0IGk9ZVt0KytdKm87Zy5nZXRSZ2JCdWZmZXIoQyxpLDEsYSxzLDgsbik7cys9Y319Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIHRoaXMuYmFzZS5nZXRPdXRwdXRMZW5ndGgoZSp0aGlzLmJhc2UubnVtQ29tcHMsdCl9aXNEZWZhdWx0RGVjb2RlKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuITA7aWYoMiE9PWUubGVuZ3RoKXt3YXJuKCJEZWNvZGUgbWFwIGxlbmd0aCBpcyBub3QgY29ycmVjdCIpO3JldHVybiEwfWlmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpfHx0PDEpe3dhcm4oIkJpdHMgcGVyIGNvbXBvbmVudCBpcyBub3QgY29ycmVjdCIpO3JldHVybiEwfXJldHVybiAwPT09ZVswXSYmZVsxXT09PSgxPDx0KS0xfX1jbGFzcyBEZXZpY2VHcmF5Q1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZUdyYXkiLDEpfWdldFJnYkl0ZW0oZSx0LGksYSl7Y29uc3Qgcz0yNTUqZVt0XTtpW2FdPWlbYSsxXT1pW2ErMl09c31nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0yNTUvKCgxPDxyKS0xKTtsZXQgbz10LGM9cztmb3IobGV0IHQ9MDt0PGk7Kyt0KXtjb25zdCB0PWcqZVtvKytdO2FbYysrXT10O2FbYysrXT10O2FbYysrXT10O2MrPW59fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpfX1jbGFzcyBEZXZpY2VSZ2JDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlUkdCIiwzKX1nZXRSZ2JJdGVtKGUsdCxpLGEpe2lbYV09MjU1KmVbdF07aVthKzFdPTI1NSplW3QrMV07aVthKzJdPTI1NSplW3QrMl19Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2lmKDg9PT1yJiYwPT09bil7YS5zZXQoZS5zdWJhcnJheSh0LHQrMyppKSxzKTtyZXR1cm59Y29uc3QgZz0yNTUvKCgxPDxyKS0xKTtsZXQgbz10LGM9cztmb3IobGV0IHQ9MDt0PGk7Kyt0KXthW2MrK109ZyplW28rK107YVtjKytdPWcqZVtvKytdO2FbYysrXT1nKmVbbysrXTtjKz1ufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KS8zfDB9aXNQYXNzdGhyb3VnaChlKXtyZXR1cm4gOD09PWV9fWNsYXNzIERldmljZVJnYmFDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlUkdCQSIsNCl9Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIDQqZX1pc1Bhc3N0aHJvdWdoKGUpe3JldHVybiA4PT09ZX1maWxsUmdiKGUsdCxpLGEscyxyLG4sZyxvKXtpIT09c3x8dCE9PWE/ZnVuY3Rpb24gcmVzaXplUmdiYUltYWdlKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9aS9zLG89YS9yO2xldCBjPTA7Y29uc3QgQz1uZXcgVWludDE2QXJyYXkocyk7aWYoMT09PW4pe2ZvcihsZXQgZT0wO2U8cztlKyspQ1tlXT1NYXRoLmZsb29yKGUqZyk7Y29uc3QgYT1uZXcgVWludDMyQXJyYXkoZS5idWZmZXIpLG49bmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyKSxoPUZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzE2Nzc3MjE1OjQyOTQ5NjcwNDA7Zm9yKGxldCBlPTA7ZTxyO2UrKyl7Y29uc3QgdD1hLnN1YmFycmF5KE1hdGguZmxvb3IoZSpvKSppKTtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bYysrXXw9dFtDW2VdXSZofX1lbHNle2NvbnN0IGE9NCxuPWkqYTtmb3IobGV0IGU9MDtlPHM7ZSsrKUNbZV09TWF0aC5mbG9vcihlKmcpKmE7Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3QgYT1lLnN1YmFycmF5KE1hdGguZmxvb3IoaSpvKSpuKTtmb3IobGV0IGU9MDtlPHM7ZSsrKXtjb25zdCBpPUNbZV07dFtjKytdPWFbaV07dFtjKytdPWFbaSsxXTt0W2MrK109YVtpKzJdfX19fShnLGUsdCxpLGEscyxvKTpmdW5jdGlvbiBjb3B5UmdiYUltYWdlKGUsdCxpKXtpZigxPT09aSl7Y29uc3QgaT1uZXcgVWludDMyQXJyYXkoZS5idWZmZXIpLGE9bmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyKSxzPUZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzE2Nzc3MjE1OjQyOTQ5NjcwNDA7Zm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSsrKWFbZV18PWlbZV0mc31lbHNle2xldCBpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSs9NCl7dFtpKytdPWVbYV07dFtpKytdPWVbYSsxXTt0W2krK109ZVthKzJdfX19KGcsZSxvKX19Y2xhc3MgRGV2aWNlQ215a0NTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJEZXZpY2VDTVlLIiw0KX0jdChlLHQsaSxhLHMpe2NvbnN0IHI9ZVt0XSppLG49ZVt0KzFdKmksZz1lW3QrMl0qaSxvPWVbdCszXSppO2Fbc109MjU1K3IqKC00LjM4NzMzMjM4NDYwOTk4OCpyKzU0LjQ4NjE1MTk0MTg5MTc2Km4rMTguODIyOTA1MDIxNjUzMDIqZysyMTIuMjU2NjI0NTE2Mzk1ODUqby0yODUuMjMzMTAyNjEzNzAwNCkrbiooMS43MTQ5NzYzNDc3MzYyMTM0Km4tNS42MDk2NzM2OTA0MDQ3MzE1KmcrLTE3Ljg3Mzg3MDg2MTQxNTQ0NCpvLTUuNDk3MDA2NDI3MTk2MzY2KStnKigtMi41MjE3MzQwMTMxNjgzMDMzKmctMjEuMjQ4OTIzMzM3MzUzMDczKm8rMTcuNTExOTI3MDg0MTgxMykrbyooLTIxLjg2MTIyMTQ3NDYzNjA1Km8tMTg5LjQ4MTgwODM1OTIyNzQ3KTthW3MrMV09MjU1K3IqKDguODQxMDQxNDIyMDM2MTQ5KnIrNjAuMTE4MDI3MDQ1NTk3MzY2Km4rNi44NzE0MjU1OTIwNDkwMDcqZyszMS4xNTkxMDAxMzAwNTU5MjIqby03OS4yOTcwODQ0ODE2NTQ4KStuKigtMTUuMzEwMzYxMzA2OTY3ODE3Km4rMTcuNTc1MjUxMjYxMTA5NDgyKmcrMTMxLjM1MjUwOTEyNDkzOTc2Km8tMTkwLjk0NTMzMDI1ODg5NTEpK2cqKDQuNDQ0MzM5MTAyODUyNzM5KmcrOS44NjMyODYxNDkzNDA1Km8tMjQuODY3NDE1ODI1NTU4NzgpK28qKC0yMC43MzczMjU0NzExODEwMzQqby0xODcuODA0NTM3MDk3MTk1NzgpO2FbcysyXT0yNTUrciooLjg4NDI1MjI0MzAwMDMyOTYqcis4LjA3ODY3NzUwMzExMjkyOCpuKzMwLjg5OTc4MzA5NzAzNzI5KmctLjIzODgzMjM4Njg5MTc4OTM0Km8tMTQuMTgzNTc2Nzk5NjczMjg2KStuKigxMC40OTU5MzI3MzQzMjA3MipuKzYzLjAyMzc4NDk0NzU0MDUyKmcrNTAuNjA2OTU3NjU2MzYwNzM0Km8tMTEyLjIzODg0MjUzNzE5MjQ4KStnKiguMDMyOTYwNDExMTQ4NzMyMTcqZysxMTUuNjAzODQ0NDk2NDY2NDEqby0xOTMuNTgyMDkzNTY4NjE1MDUpK28qKC0yMi4zMzgxNjgwNzMwOTg4NipvLTE4MC4xMjYxMzk3NDcwODM2Nyl9Z2V0UmdiSXRlbShlLHQsaSxhKXt0aGlzLiN0KGUsdCwxLGksYSl9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9MS8oKDE8PHIpLTEpO2ZvcihsZXQgcj0wO3I8aTtyKyspe3RoaXMuI3QoZSx0LGcsYSxzKTt0Kz00O3MrPTMrbn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUvNCooMyt0KXwwfX1jbGFzcyBDYWxHcmF5Q1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiQ2FsR3JheSIsMSk7aWYoIWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgQ2FsR3JheSIpO1t0aGlzLlhXLHRoaXMuWVcsdGhpcy5aV109ZTtbdGhpcy5YQix0aGlzLllCLHRoaXMuWkJdPXR8fFswLDAsMF07dGhpcy5HPWl8fDE7aWYodGhpcy5YVzwwfHx0aGlzLlpXPDB8fDEhPT10aGlzLllXKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICR7dGhpcy5uYW1lfSwgbm8gZmFsbGJhY2sgYXZhaWxhYmxlYCk7aWYodGhpcy5YQjwwfHx0aGlzLllCPDB8fHRoaXMuWkI8MCl7aW5mbyhgSW52YWxpZCBCbGFja1BvaW50IGZvciAke3RoaXMubmFtZX0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuWEI9dGhpcy5ZQj10aGlzLlpCPTB9MD09PXRoaXMuWEImJjA9PT10aGlzLllCJiYwPT09dGhpcy5aQnx8d2FybihgJHt0aGlzLm5hbWV9LCBCbGFja1BvaW50OiBYQjogJHt0aGlzLlhCfSwgWUI6ICR7dGhpcy5ZQn0sIFpCOiAke3RoaXMuWkJ9LCBvbmx5IGRlZmF1bHQgdmFsdWVzIGFyZSBzdXBwb3J0ZWQuYCk7aWYodGhpcy5HPDEpe2luZm8oYEludmFsaWQgR2FtbWE6ICR7dGhpcy5HfSBmb3IgJHt0aGlzLm5hbWV9LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLkc9MX19I3QoZSx0LGksYSxzKXtjb25zdCByPShlW3RdKnMpKip0aGlzLkcsbj10aGlzLllXKnIsZz1NYXRoLm1heCgyOTUuOCpuKiouMzMzMzMzMzMzMzMzMzMzMy00MC44LDApO2lbYV09ZztpW2ErMV09ZztpW2ErMl09Z31nZXRSZ2JJdGVtKGUsdCxpLGEpe3RoaXMuI3QoZSx0LGksYSwxKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0xLygoMTw8ciktMSk7Zm9yKGxldCByPTA7cjxpOysrcil7dGhpcy4jdChlLHQsYSxzLGcpO3QrPTE7cys9MytufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KX19Y2xhc3MgQ2FsUkdCQ1MgZXh0ZW5kcyBDb2xvclNwYWNle3N0YXRpYyNpPW5ldyBGbG9hdDMyQXJyYXkoWy44OTUxLC4yNjY0LC0uMTYxNCwtLjc1MDIsMS43MTM1LC4wMzY3LC4wMzg5LC0uMDY4NSwxLjAyOTZdKTtzdGF0aWMjYT1uZXcgRmxvYXQzMkFycmF5KFsuOTg2OTkyOSwtLjE0NzA1NDMsLjE1OTk2MjcsLjQzMjMwNTMsLjUxODM2MDMsLjA0OTI5MTIsLS4wMDg1Mjg3LC4wNDAwNDI4LC45Njg0ODY3XSk7c3RhdGljI3M9bmV3IEZsb2F0MzJBcnJheShbMy4yNDA0NTQyLC0xLjUzNzEzODUsLS40OTg1MzE0LC0uOTY5MjY2LDEuODc2MDEwOCwuMDQxNTU2LC4wNTU2NDM0LC0uMjA0MDI1OSwxLjA1NzIyNTJdKTtzdGF0aWMjcj1uZXcgRmxvYXQzMkFycmF5KFsxLDEsMV0pO3N0YXRpYyNuPW5ldyBGbG9hdDMyQXJyYXkoMyk7c3RhdGljI2c9bmV3IEZsb2F0MzJBcnJheSgzKTtzdGF0aWMjbz1uZXcgRmxvYXQzMkFycmF5KDMpO3N0YXRpYyNJPSgyNC8xMTYpKiozLzg7Y29uc3RydWN0b3IoZSx0LGksYSl7c3VwZXIoIkNhbFJHQiIsMyk7aWYoIWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgQ2FsUkdCIik7Y29uc3RbcyxyLG5dPXRoaXMud2hpdGVQb2ludD1lLFtnLG8sY109dGhpcy5ibGFja1BvaW50PXR8fG5ldyBGbG9hdDMyQXJyYXkoMyk7W3RoaXMuR1IsdGhpcy5HRyx0aGlzLkdCXT1pfHxuZXcgRmxvYXQzMkFycmF5KFsxLDEsMV0pO1t0aGlzLk1YQSx0aGlzLk1ZQSx0aGlzLk1aQSx0aGlzLk1YQix0aGlzLk1ZQix0aGlzLk1aQix0aGlzLk1YQyx0aGlzLk1ZQyx0aGlzLk1aQ109YXx8bmV3IEZsb2F0MzJBcnJheShbMSwwLDAsMCwxLDAsMCwwLDFdKTtpZihzPDB8fG48MHx8MSE9PXIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFdoaXRlUG9pbnQgY29tcG9uZW50cyBmb3IgJHt0aGlzLm5hbWV9LCBubyBmYWxsYmFjayBhdmFpbGFibGVgKTtpZihnPDB8fG88MHx8YzwwKXtpbmZvKGBJbnZhbGlkIEJsYWNrUG9pbnQgZm9yICR7dGhpcy5uYW1lfSBbJHtnfSwgJHtvfSwgJHtjfV0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuYmxhY2tQb2ludD1uZXcgRmxvYXQzMkFycmF5KDMpfWlmKHRoaXMuR1I8MHx8dGhpcy5HRzwwfHx0aGlzLkdCPDApe2luZm8oYEludmFsaWQgR2FtbWEgWyR7dGhpcy5HUn0sICR7dGhpcy5HR30sICR7dGhpcy5HQn1dIGZvciAke3RoaXMubmFtZX0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuR1I9dGhpcy5HRz10aGlzLkdCPTF9fSNjKGUsdCxpKXtpWzBdPWVbMF0qdFswXStlWzFdKnRbMV0rZVsyXSp0WzJdO2lbMV09ZVszXSp0WzBdK2VbNF0qdFsxXStlWzVdKnRbMl07aVsyXT1lWzZdKnRbMF0rZVs3XSp0WzFdK2VbOF0qdFsyXX0jQyhlLHQsaSl7aVswXT0xKnRbMF0vZVswXTtpWzFdPTEqdFsxXS9lWzFdO2lbMl09MSp0WzJdL2VbMl19I2goZSx0LGkpe2lbMF09Ljk1MDQ3KnRbMF0vZVswXTtpWzFdPTEqdFsxXS9lWzFdO2lbMl09MS4wODg4Myp0WzJdL2VbMl19I2woZSl7cmV0dXJuIGU8PS4wMDMxMzA4P3RoaXMuI0IoMCwxLDEyLjkyKmUpOmU+PS45OTU1NDUyNT8xOnRoaXMuI0IoMCwxLDEuMDU1KmUqKigxLzIuNCktLjA1NSl9I0IoZSx0LGkpe3JldHVybiBNYXRoLm1heChlLE1hdGgubWluKHQsaSkpfSNRKGUpe3JldHVybiBlPDA/LXRoaXMuI1EoLWUpOmU+OD8oKGUrMTYpLzExNikqKjM6ZSpDYWxSR0JDUy4jSX0jRShlLHQsaSl7aWYoMD09PWVbMF0mJjA9PT1lWzFdJiYwPT09ZVsyXSl7aVswXT10WzBdO2lbMV09dFsxXTtpWzJdPXRbMl07cmV0dXJufWNvbnN0IGE9dGhpcy4jUSgwKSxzPSgxLWEpLygxLXRoaXMuI1EoZVswXSkpLHI9MS1zLG49KDEtYSkvKDEtdGhpcy4jUShlWzFdKSksZz0xLW4sbz0oMS1hKS8oMS10aGlzLiNRKGVbMl0pKSxjPTEtbztpWzBdPXRbMF0qcytyO2lbMV09dFsxXSpuK2c7aVsyXT10WzJdKm8rY30jdShlLHQsaSl7aWYoMT09PWVbMF0mJjE9PT1lWzJdKXtpWzBdPXRbMF07aVsxXT10WzFdO2lbMl09dFsyXTtyZXR1cm59Y29uc3QgYT1pO3RoaXMuI2MoQ2FsUkdCQ1MuI2ksdCxhKTtjb25zdCBzPUNhbFJHQkNTLiNuO3RoaXMuI0MoZSxhLHMpO3RoaXMuI2MoQ2FsUkdCQ1MuI2EscyxpKX0jZChlLHQsaSl7Y29uc3QgYT1pO3RoaXMuI2MoQ2FsUkdCQ1MuI2ksdCxhKTtjb25zdCBzPUNhbFJHQkNTLiNuO3RoaXMuI2goZSxhLHMpO3RoaXMuI2MoQ2FsUkdCQ1MuI2EscyxpKX0jdChlLHQsaSxhLHMpe2NvbnN0IHI9dGhpcy4jQigwLDEsZVt0XSpzKSxuPXRoaXMuI0IoMCwxLGVbdCsxXSpzKSxnPXRoaXMuI0IoMCwxLGVbdCsyXSpzKSxvPTE9PT1yPzE6cioqdGhpcy5HUixjPTE9PT1uPzE6bioqdGhpcy5HRyxDPTE9PT1nPzE6ZyoqdGhpcy5HQixoPXRoaXMuTVhBKm8rdGhpcy5NWEIqYyt0aGlzLk1YQypDLGw9dGhpcy5NWUEqbyt0aGlzLk1ZQipjK3RoaXMuTVlDKkMsUT10aGlzLk1aQSpvK3RoaXMuTVpCKmMrdGhpcy5NWkMqQyxFPUNhbFJHQkNTLiNnO0VbMF09aDtFWzFdPWw7RVsyXT1RO2NvbnN0IHU9Q2FsUkdCQ1MuI287dGhpcy4jdSh0aGlzLndoaXRlUG9pbnQsRSx1KTtjb25zdCBkPUNhbFJHQkNTLiNnO3RoaXMuI0UodGhpcy5ibGFja1BvaW50LHUsZCk7Y29uc3QgZj1DYWxSR0JDUy4jbzt0aGlzLiNkKENhbFJHQkNTLiNyLGQsZik7Y29uc3QgcD1DYWxSR0JDUy4jZzt0aGlzLiNjKENhbFJHQkNTLiNzLGYscCk7aVthXT0yNTUqdGhpcy4jbChwWzBdKTtpW2ErMV09MjU1KnRoaXMuI2wocFsxXSk7aVthKzJdPTI1NSp0aGlzLiNsKHBbMl0pfWdldFJnYkl0ZW0oZSx0LGksYSl7dGhpcy4jdChlLHQsaSxhLDEpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPTEvKCgxPDxyKS0xKTtmb3IobGV0IHI9MDtyPGk7KytyKXt0aGlzLiN0KGUsdCxhLHMsZyk7dCs9MztzKz0zK259fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpLzN8MH19Y2xhc3MgTGFiQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiTGFiIiwzKTtpZighZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIldoaXRlUG9pbnQgbWlzc2luZyAtIHJlcXVpcmVkIGZvciBjb2xvciBzcGFjZSBMYWIiKTtbdGhpcy5YVyx0aGlzLllXLHRoaXMuWlddPWU7W3RoaXMuYW1pbix0aGlzLmFtYXgsdGhpcy5ibWluLHRoaXMuYm1heF09aXx8Wy0xMDAsMTAwLC0xMDAsMTAwXTtbdGhpcy5YQix0aGlzLllCLHRoaXMuWkJdPXR8fFswLDAsMF07aWYodGhpcy5YVzwwfHx0aGlzLlpXPDB8fDEhPT10aGlzLllXKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMsIG5vIGZhbGxiYWNrIGF2YWlsYWJsZSIpO2lmKHRoaXMuWEI8MHx8dGhpcy5ZQjwwfHx0aGlzLlpCPDApe2luZm8oIkludmFsaWQgQmxhY2tQb2ludCwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQiKTt0aGlzLlhCPXRoaXMuWUI9dGhpcy5aQj0wfWlmKHRoaXMuYW1pbj50aGlzLmFtYXh8fHRoaXMuYm1pbj50aGlzLmJtYXgpe2luZm8oIkludmFsaWQgUmFuZ2UsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0cyIpO3RoaXMuYW1pbj0tMTAwO3RoaXMuYW1heD0xMDA7dGhpcy5ibWluPS0xMDA7dGhpcy5ibWF4PTEwMH19I2YoZSl7cmV0dXJuIGU+PTYvMjk/ZSoqMzoxMDgvODQxKihlLTQvMjkpfSNwKGUsdCxpLGEpe3JldHVybiBpK2UqKGEtaSkvdH0jdChlLHQsaSxhLHMpe2xldCByPWVbdF0sbj1lW3QrMV0sZz1lW3QrMl07aWYoITEhPT1pKXtyPXRoaXMuI3AocixpLDAsMTAwKTtuPXRoaXMuI3AobixpLHRoaXMuYW1pbix0aGlzLmFtYXgpO2c9dGhpcy4jcChnLGksdGhpcy5ibWluLHRoaXMuYm1heCl9bj50aGlzLmFtYXg/bj10aGlzLmFtYXg6bjx0aGlzLmFtaW4mJihuPXRoaXMuYW1pbik7Zz50aGlzLmJtYXg/Zz10aGlzLmJtYXg6Zzx0aGlzLmJtaW4mJihnPXRoaXMuYm1pbik7Y29uc3Qgbz0ocisxNikvMTE2LGM9bytuLzUwMCxDPW8tZy8yMDAsaD10aGlzLlhXKnRoaXMuI2YoYyksbD10aGlzLllXKnRoaXMuI2YobyksUT10aGlzLlpXKnRoaXMuI2YoQyk7bGV0IEUsdSxkO2lmKHRoaXMuWlc8MSl7RT0zLjEzMzkqaCstMS42MTcqbCstLjQ5MDYqUTt1PS0uOTc4NSpoKzEuOTE2KmwrLjAzMzMqUTtkPS4wNzIqaCstLjIyOSpsKzEuNDA1NypRfWVsc2V7RT0zLjI0MDYqaCstMS41MzcyKmwrLS40OTg2KlE7dT0tLjk2ODkqaCsxLjg3NTgqbCsuMDQxNSpRO2Q9LjA1NTcqaCstLjIwNCpsKzEuMDU3KlF9YVtzXT0yNTUqTWF0aC5zcXJ0KEUpO2FbcysxXT0yNTUqTWF0aC5zcXJ0KHUpO2FbcysyXT0yNTUqTWF0aC5zcXJ0KGQpfWdldFJnYkl0ZW0oZSx0LGksYSl7dGhpcy4jdChlLHQsITEsaSxhKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0oMTw8ciktMTtmb3IobGV0IHI9MDtyPGk7cisrKXt0aGlzLiN0KGUsdCxnLGEscyk7dCs9MztzKz0zK259fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpLzN8MH1pc0RlZmF1bHREZWNvZGUoZSx0KXtyZXR1cm4hMH1nZXQgdXNlc1plcm9Ub09uZVJhbmdlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ1c2VzWmVyb1RvT25lUmFuZ2UiLCExKX19ZnVuY3Rpb24gaGV4VG9JbnQoZSx0KXtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8PXQ7YSsrKWk9aTw8OHxlW2FdO3JldHVybiBpPj4+MH1mdW5jdGlvbiBoZXhUb1N0cihlLHQpe3JldHVybiAxPT09dD9TdHJpbmcuZnJvbUNoYXJDb2RlKGVbMF0sZVsxXSk6Mz09PXQ/U3RyaW5nLmZyb21DaGFyQ29kZShlWzBdLGVbMV0sZVsyXSxlWzNdKTpTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmUuc3ViYXJyYXkoMCx0KzEpKX1mdW5jdGlvbiBhZGRIZXgoZSx0LGkpe2xldCBhPTA7Zm9yKGxldCBzPWk7cz49MDtzLS0pe2ErPWVbc10rdFtzXTtlW3NdPTI1NSZhO2E+Pj04fX1mdW5jdGlvbiBpbmNIZXgoZSx0KXtsZXQgaT0xO2ZvcihsZXQgYT10O2E+PTAmJmk+MDthLS0pe2krPWVbYV07ZVthXT0yNTUmaTtpPj49OH19Y29uc3QgTnQ9MTY7Y2xhc3MgQmluYXJ5Q01hcFN0cmVhbXtjb25zdHJ1Y3RvcihlKXt0aGlzLmJ1ZmZlcj1lO3RoaXMucG9zPTA7dGhpcy5lbmQ9ZS5sZW5ndGg7dGhpcy50bXBCdWY9bmV3IFVpbnQ4QXJyYXkoMTkpfXJlYWRCeXRlKCl7cmV0dXJuIHRoaXMucG9zPj10aGlzLmVuZD8tMTp0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXX1yZWFkTnVtYmVyKCl7bGV0IGUsdD0wO2Rve2NvbnN0IGk9dGhpcy5yZWFkQnl0ZSgpO2lmKGk8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVuZXhwZWN0ZWQgRU9GIGluIGJjbWFwIik7ZT0hKDEyOCZpKTt0PXQ8PDd8MTI3Jml9d2hpbGUoIWUpO3JldHVybiB0fXJlYWRTaWduZWQoKXtjb25zdCBlPXRoaXMucmVhZE51bWJlcigpO3JldHVybiAxJmU/fihlPj4+MSk6ZT4+PjF9cmVhZEhleChlLHQpe2Uuc2V0KHRoaXMuYnVmZmVyLnN1YmFycmF5KHRoaXMucG9zLHRoaXMucG9zK3QrMSkpO3RoaXMucG9zKz10KzF9cmVhZEhleE51bWJlcihlLHQpe2xldCBpO2NvbnN0IGE9dGhpcy50bXBCdWY7bGV0IHM9MDtkb3tjb25zdCBlPXRoaXMucmVhZEJ5dGUoKTtpZihlPDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bmV4cGVjdGVkIEVPRiBpbiBiY21hcCIpO2k9ISgxMjgmZSk7YVtzKytdPTEyNyZlfXdoaWxlKCFpKTtsZXQgcj10LG49MCxnPTA7Zm9yKDtyPj0wOyl7Zm9yKDtnPDgmJmEubGVuZ3RoPjA7KXtufD1hWy0tc108PGc7Zys9N31lW3JdPTI1NSZuO3ItLTtuPj49ODtnLT04fX1yZWFkSGV4U2lnbmVkKGUsdCl7dGhpcy5yZWFkSGV4TnVtYmVyKGUsdCk7Y29uc3QgaT0xJmVbdF0/MjU1OjA7bGV0IGE9MDtmb3IobGV0IHM9MDtzPD10O3MrKyl7YT0oMSZhKTw8OHxlW3NdO2Vbc109YT4+MV5pfX1yZWFkU3RyaW5nKCl7Y29uc3QgZT10aGlzLnJlYWROdW1iZXIoKSx0PW5ldyBBcnJheShlKTtmb3IobGV0IGk9MDtpPGU7aSsrKXRbaV09dGhpcy5yZWFkTnVtYmVyKCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoLi4udCl9fWNsYXNzIEJpbmFyeUNNYXBSZWFkZXJ7YXN5bmMgcHJvY2VzcyhlLHQsaSl7Y29uc3QgYT1uZXcgQmluYXJ5Q01hcFN0cmVhbShlKSxzPWEucmVhZEJ5dGUoKTt0LnZlcnRpY2FsPSEhKDEmcyk7bGV0IHI9bnVsbDtjb25zdCBuPW5ldyBVaW50OEFycmF5KE50KSxnPW5ldyBVaW50OEFycmF5KE50KSxvPW5ldyBVaW50OEFycmF5KE50KSxjPW5ldyBVaW50OEFycmF5KE50KSxDPW5ldyBVaW50OEFycmF5KE50KTtsZXQgaCxsO2Zvcig7KGw9YS5yZWFkQnl0ZSgpKT49MDspe2NvbnN0IGU9bD4+NTtpZig3PT09ZSl7c3dpdGNoKDMxJmwpe2Nhc2UgMDphLnJlYWRTdHJpbmcoKTticmVhaztjYXNlIDE6cj1hLnJlYWRTdHJpbmcoKX1jb250aW51ZX1jb25zdCBpPSEhKDE2JmwpLHM9MTUmbDtpZihzKzE+TnQpdGhyb3cgbmV3IEVycm9yKCJCaW5hcnlDTWFwUmVhZGVyLnByb2Nlc3M6IEludmFsaWQgZGF0YVNpemUuIik7Y29uc3QgUT0xLEU9YS5yZWFkTnVtYmVyKCk7c3dpdGNoKGUpe2Nhc2UgMDphLnJlYWRIZXgobixzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO3QuYWRkQ29kZXNwYWNlUmFuZ2UocysxLGhleFRvSW50KG4scyksaGV4VG9JbnQoZyxzKSk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcscyk7YS5yZWFkSGV4TnVtYmVyKG4scyk7YWRkSGV4KG4sZyxzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO3QuYWRkQ29kZXNwYWNlUmFuZ2UocysxLGhleFRvSW50KG4scyksaGV4VG9JbnQoZyxzKSl9YnJlYWs7Y2FzZSAxOmEucmVhZEhleChuLHMpO2EucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7YS5yZWFkTnVtYmVyKCk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcscyk7YS5yZWFkSGV4TnVtYmVyKG4scyk7YWRkSGV4KG4sZyxzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO2EucmVhZE51bWJlcigpfWJyZWFrO2Nhc2UgMjphLnJlYWRIZXgobyxzKTtoPWEucmVhZE51bWJlcigpO3QubWFwT25lKGhleFRvSW50KG8scyksaCk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KG8scyk7aWYoIWkpe2EucmVhZEhleE51bWJlcihDLHMpO2FkZEhleChvLEMscyl9aD1hLnJlYWRTaWduZWQoKSsoaCsxKTt0Lm1hcE9uZShoZXhUb0ludChvLHMpLGgpfWJyZWFrO2Nhc2UgMzphLnJlYWRIZXgobixzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO2g9YS5yZWFkTnVtYmVyKCk7dC5tYXBDaWRSYW5nZShoZXhUb0ludChuLHMpLGhleFRvSW50KGcscyksaCk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcscyk7aWYoaSluLnNldChnKTtlbHNle2EucmVhZEhleE51bWJlcihuLHMpO2FkZEhleChuLGcscyl9YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTtoPWEucmVhZE51bWJlcigpO3QubWFwQ2lkUmFuZ2UoaGV4VG9JbnQobixzKSxoZXhUb0ludChnLHMpLGgpfWJyZWFrO2Nhc2UgNDphLnJlYWRIZXgobyxRKTthLnJlYWRIZXgoYyxzKTt0Lm1hcE9uZShoZXhUb0ludChvLFEpLGhleFRvU3RyKGMscykpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChvLFEpO2lmKCFpKXthLnJlYWRIZXhOdW1iZXIoQyxRKTthZGRIZXgobyxDLFEpfWluY0hleChjLHMpO2EucmVhZEhleFNpZ25lZChDLHMpO2FkZEhleChjLEMscyk7dC5tYXBPbmUoaGV4VG9JbnQobyxRKSxoZXhUb1N0cihjLHMpKX1icmVhaztjYXNlIDU6YS5yZWFkSGV4KG4sUSk7YS5yZWFkSGV4TnVtYmVyKGcsUSk7YWRkSGV4KGcsbixRKTthLnJlYWRIZXgoYyxzKTt0Lm1hcEJmUmFuZ2UoaGV4VG9JbnQobixRKSxoZXhUb0ludChnLFEpLGhleFRvU3RyKGMscykpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChnLFEpO2lmKGkpbi5zZXQoZyk7ZWxzZXthLnJlYWRIZXhOdW1iZXIobixRKTthZGRIZXgobixnLFEpfWEucmVhZEhleE51bWJlcihnLFEpO2FkZEhleChnLG4sUSk7YS5yZWFkSGV4KGMscyk7dC5tYXBCZlJhbmdlKGhleFRvSW50KG4sUSksaGV4VG9JbnQoZyxRKSxoZXhUb1N0cihjLHMpKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgQmluYXJ5Q01hcFJlYWRlci5wcm9jZXNzIC0gdW5rbm93biB0eXBlOiAke2V9YCl9fXJldHVybiByP2kocik6dH19Y29uc3QgR3Q9bmV3IFVpbnQ4QXJyYXkoMCk7Y2xhc3MgRGVjb2RlU3RyZWFtIGV4dGVuZHMgQmFzZVN0cmVhbXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpO3RoaXMuX3Jhd01pbkJ1ZmZlckxlbmd0aD1lfHwwO3RoaXMucG9zPTA7dGhpcy5idWZmZXJMZW5ndGg9MDt0aGlzLmVvZj0hMTt0aGlzLmJ1ZmZlcj1HdDt0aGlzLm1pbkJ1ZmZlckxlbmd0aD01MTI7aWYoZSlmb3IoO3RoaXMubWluQnVmZmVyTGVuZ3RoPGU7KXRoaXMubWluQnVmZmVyTGVuZ3RoKj0yfWdldCBpc0VtcHR5KCl7Zm9yKDshdGhpcy5lb2YmJjA9PT10aGlzLmJ1ZmZlckxlbmd0aDspdGhpcy5yZWFkQmxvY2soKTtyZXR1cm4gMD09PXRoaXMuYnVmZmVyTGVuZ3RofWVuc3VyZUJ1ZmZlcihlKXtjb25zdCB0PXRoaXMuYnVmZmVyO2lmKGU8PXQuYnl0ZUxlbmd0aClyZXR1cm4gdDtsZXQgaT10aGlzLm1pbkJ1ZmZlckxlbmd0aDtmb3IoO2k8ZTspaSo9Mjtjb25zdCBhPW5ldyBVaW50OEFycmF5KGkpO2Euc2V0KHQpO3JldHVybiB0aGlzLmJ1ZmZlcj1hfWdldEJ5dGUoKXtjb25zdCBlPXRoaXMucG9zO2Zvcig7dGhpcy5idWZmZXJMZW5ndGg8PWU7KXtpZih0aGlzLmVvZilyZXR1cm4tMTt0aGlzLnJlYWRCbG9jaygpfXJldHVybiB0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXX1nZXRCeXRlcyhlLHQ9bnVsbCl7Y29uc3QgaT10aGlzLnBvcztsZXQgYTtpZihlKXt0aGlzLmVuc3VyZUJ1ZmZlcihpK2UpO2E9aStlO2Zvcig7IXRoaXMuZW9mJiZ0aGlzLmJ1ZmZlckxlbmd0aDxhOyl0aGlzLnJlYWRCbG9jayh0KTtjb25zdCBzPXRoaXMuYnVmZmVyTGVuZ3RoO2E+cyYmKGE9cyl9ZWxzZXtmb3IoOyF0aGlzLmVvZjspdGhpcy5yZWFkQmxvY2sodCk7YT10aGlzLmJ1ZmZlckxlbmd0aH10aGlzLnBvcz1hO3JldHVybiB0aGlzLmJ1ZmZlci5zdWJhcnJheShpLGEpfWFzeW5jIGdldEltYWdlRGF0YShlLHQ9bnVsbCl7aWYoIXRoaXMuY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIpcmV0dXJuIHRoaXMuZ2V0Qnl0ZXMoZSx0KTtjb25zdCBpPWF3YWl0IHRoaXMuc3RyZWFtLmFzeW5jR2V0Qnl0ZXMoKTtyZXR1cm4gdGhpcy5kZWNvZGVJbWFnZShpLHQpfXJlc2V0KCl7dGhpcy5wb3M9MH1tYWtlU3ViU3RyZWFtKGUsdCxpPW51bGwpe2lmKHZvaWQgMD09PXQpZm9yKDshdGhpcy5lb2Y7KXRoaXMucmVhZEJsb2NrKCk7ZWxzZXtjb25zdCBpPWUrdDtmb3IoO3RoaXMuYnVmZmVyTGVuZ3RoPD1pJiYhdGhpcy5lb2Y7KXRoaXMucmVhZEJsb2NrKCl9cmV0dXJuIG5ldyBTdHJlYW0odGhpcy5idWZmZXIsZSx0LGkpfWdldEJhc2VTdHJlYW1zKCl7cmV0dXJuIHRoaXMuc3RyP3RoaXMuc3RyLmdldEJhc2VTdHJlYW1zKCk6bnVsbH19Y2xhc3MgU3RyZWFtc1NlcXVlbmNlU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdD1udWxsKXtlPWUuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpO2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZSlpKz10IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtP3QuX3Jhd01pbkJ1ZmZlckxlbmd0aDp0Lmxlbmd0aDtzdXBlcihpKTt0aGlzLnN0cmVhbXM9ZTt0aGlzLl9vbkVycm9yPXR9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0cmVhbXM7aWYoMD09PWUubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgdD1lLnNoaWZ0KCk7bGV0IGk7dHJ5e2k9dC5nZXRCeXRlcygpfWNhdGNoKGUpe2lmKHRoaXMuX29uRXJyb3Ipe3RoaXMuX29uRXJyb3IoZSx0LmRpY3Q/Lm9iaklkKTtyZXR1cm59dGhyb3cgZX1jb25zdCBhPXRoaXMuYnVmZmVyTGVuZ3RoLHM9YStpLmxlbmd0aDt0aGlzLmVuc3VyZUJ1ZmZlcihzKS5zZXQoaSxhKTt0aGlzLmJ1ZmZlckxlbmd0aD1zfWdldEJhc2VTdHJlYW1zKCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiB0aGlzLnN0cmVhbXMpe2NvbnN0IGk9dC5nZXRCYXNlU3RyZWFtcygpO2kmJmUucHVzaCguLi5pKX1yZXR1cm4gZS5sZW5ndGg+MD9lOm51bGx9fWNsYXNzIEFzY2lpODVTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXt0JiYodCo9LjgpO3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmlucHV0PW5ldyBVaW50OEFycmF5KDUpfXJlYWRCbG9jaygpe2NvbnN0IGU9dGhpcy5zdHI7bGV0IHQ9ZS5nZXRCeXRlKCk7Zm9yKDtpc1doaXRlU3BhY2UodCk7KXQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10fHwxMjY9PT10KXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgaT10aGlzLmJ1ZmZlckxlbmd0aDtsZXQgYSxzO2lmKDEyMj09PXQpe2E9dGhpcy5lbnN1cmVCdWZmZXIoaSs0KTtmb3Iocz0wO3M8NDsrK3MpYVtpK3NdPTA7dGhpcy5idWZmZXJMZW5ndGgrPTR9ZWxzZXtjb25zdCByPXRoaXMuaW5wdXQ7clswXT10O2ZvcihzPTE7czw1Oysrcyl7dD1lLmdldEJ5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZSh0KTspdD1lLmdldEJ5dGUoKTtyW3NdPXQ7aWYoLTE9PT10fHwxMjY9PT10KWJyZWFrfWE9dGhpcy5lbnN1cmVCdWZmZXIoaStzLTEpO3RoaXMuYnVmZmVyTGVuZ3RoKz1zLTE7aWYoczw1KXtmb3IoO3M8NTsrK3MpcltzXT0xMTc7dGhpcy5lb2Y9ITB9bGV0IG49MDtmb3Iocz0wO3M8NTsrK3Mpbj04NSpuKyhyW3NdLTMzKTtmb3Iocz0zO3M+PTA7LS1zKXthW2krc109MjU1Jm47bj4+PTh9fX19Y2xhc3MgQXNjaWlIZXhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXt0JiYodCo9LjUpO3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmZpcnN0RGlnaXQ9LTF9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcyg4ZTMpO2lmKCFlLmxlbmd0aCl7dGhpcy5lb2Y9ITA7cmV0dXJufWNvbnN0IHQ9ZS5sZW5ndGgrMT4+MSxpPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK3QpO2xldCBhPXRoaXMuYnVmZmVyTGVuZ3RoLHM9dGhpcy5maXJzdERpZ2l0O2Zvcihjb25zdCB0IG9mIGUpe2xldCBlO2lmKHQ+PTQ4JiZ0PD01NyllPTE1JnQ7ZWxzZXtpZighKHQ+PTY1JiZ0PD03MHx8dD49OTcmJnQ8PTEwMikpe2lmKDYyPT09dCl7dGhpcy5lb2Y9ITA7YnJlYWt9Y29udGludWV9ZT05KygxNSZ0KX1pZihzPDApcz1lO2Vsc2V7aVthKytdPXM8PDR8ZTtzPS0xfX1pZihzPj0wJiZ0aGlzLmVvZil7aVthKytdPXM8PDQ7cz0tMX10aGlzLmZpcnN0RGlnaXQ9czt0aGlzLmJ1ZmZlckxlbmd0aD1hfX1jb25zdCB4dD0tMSxVdD1bWy0xLC0xXSxbLTEsLTFdLFs3LDhdLFs3LDddLFs2LDZdLFs2LDZdLFs2LDVdLFs2LDVdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdXSxNdD1bWy0xLC0xXSxbMTIsLTJdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMiwxOTg0XSxbMTIsMjA0OF0sWzEyLDIxMTJdLFsxMiwyMTc2XSxbMTIsMjI0MF0sWzEyLDIzMDRdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTIsMjM2OF0sWzEyLDI0MzJdLFsxMiwyNDk2XSxbMTIsMjU2MF1dLEx0PVtbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFs4LDI5XSxbOCwyOV0sWzgsMzBdLFs4LDMwXSxbOCw0NV0sWzgsNDVdLFs4LDQ2XSxbOCw0Nl0sWzcsMjJdLFs3LDIyXSxbNywyMl0sWzcsMjJdLFs3LDIzXSxbNywyM10sWzcsMjNdLFs3LDIzXSxbOCw0N10sWzgsNDddLFs4LDQ4XSxbOCw0OF0sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNywyMF0sWzcsMjBdLFs3LDIwXSxbNywyMF0sWzgsMzNdLFs4LDMzXSxbOCwzNF0sWzgsMzRdLFs4LDM1XSxbOCwzNV0sWzgsMzZdLFs4LDM2XSxbOCwzN10sWzgsMzddLFs4LDM4XSxbOCwzOF0sWzcsMTldLFs3LDE5XSxbNywxOV0sWzcsMTldLFs4LDMxXSxbOCwzMV0sWzgsMzJdLFs4LDMyXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs4LDUzXSxbOCw1M10sWzgsNTRdLFs4LDU0XSxbNywyNl0sWzcsMjZdLFs3LDI2XSxbNywyNl0sWzgsMzldLFs4LDM5XSxbOCw0MF0sWzgsNDBdLFs4LDQxXSxbOCw0MV0sWzgsNDJdLFs4LDQyXSxbOCw0M10sWzgsNDNdLFs4LDQ0XSxbOCw0NF0sWzcsMjFdLFs3LDIxXSxbNywyMV0sWzcsMjFdLFs3LDI4XSxbNywyOF0sWzcsMjhdLFs3LDI4XSxbOCw2MV0sWzgsNjFdLFs4LDYyXSxbOCw2Ml0sWzgsNjNdLFs4LDYzXSxbOCwwXSxbOCwwXSxbOCwzMjBdLFs4LDMyMF0sWzgsMzg0XSxbOCwzODRdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzcsMjddLFs3LDI3XSxbNywyN10sWzcsMjddLFs4LDU5XSxbOCw1OV0sWzgsNjBdLFs4LDYwXSxbOSwxNDcyXSxbOSwxNTM2XSxbOSwxNjAwXSxbOSwxNzI4XSxbNywxOF0sWzcsMThdLFs3LDE4XSxbNywxOF0sWzcsMjRdLFs3LDI0XSxbNywyNF0sWzcsMjRdLFs4LDQ5XSxbOCw0OV0sWzgsNTBdLFs4LDUwXSxbOCw1MV0sWzgsNTFdLFs4LDUyXSxbOCw1Ml0sWzcsMjVdLFs3LDI1XSxbNywyNV0sWzcsMjVdLFs4LDU1XSxbOCw1NV0sWzgsNTZdLFs4LDU2XSxbOCw1N10sWzgsNTddLFs4LDU4XSxbOCw1OF0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs4LDQ0OF0sWzgsNDQ4XSxbOCw1MTJdLFs4LDUxMl0sWzksNzA0XSxbOSw3NjhdLFs4LDY0MF0sWzgsNjQwXSxbOCw1NzZdLFs4LDU3Nl0sWzksODMyXSxbOSw4OTZdLFs5LDk2MF0sWzksMTAyNF0sWzksMTA4OF0sWzksMTE1Ml0sWzksMTIxNl0sWzksMTI4MF0sWzksMTM0NF0sWzksMTQwOF0sWzcsMjU2XSxbNywyNTZdLFs3LDI1Nl0sWzcsMjU2XSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddXSxIdD1bWy0xLC0xXSxbLTEsLTFdLFsxMiwtMl0sWzEyLC0yXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMSwxNzkyXSxbMTIsMTk4NF0sWzEyLDE5ODRdLFsxMiwyMDQ4XSxbMTIsMjA0OF0sWzEyLDIxMTJdLFsxMiwyMTEyXSxbMTIsMjE3Nl0sWzEyLDIxNzZdLFsxMiwyMjQwXSxbMTIsMjI0MF0sWzEyLDIzMDRdLFsxMiwyMzA0XSxbMTEsMTg1Nl0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMiwyMzY4XSxbMTIsMjM2OF0sWzEyLDI0MzJdLFsxMiwyNDMyXSxbMTIsMjQ5Nl0sWzEyLDI0OTZdLFsxMiwyNTYwXSxbMTIsMjU2MF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMiw1Ml0sWzEyLDUyXSxbMTMsNjQwXSxbMTMsNzA0XSxbMTMsNzY4XSxbMTMsODMyXSxbMTIsNTVdLFsxMiw1NV0sWzEyLDU2XSxbMTIsNTZdLFsxMywxMjgwXSxbMTMsMTM0NF0sWzEzLDE0MDhdLFsxMywxNDcyXSxbMTIsNTldLFsxMiw1OV0sWzEyLDYwXSxbMTIsNjBdLFsxMywxNTM2XSxbMTMsMTYwMF0sWzExLDI0XSxbMTEsMjRdLFsxMSwyNF0sWzExLDI0XSxbMTEsMjVdLFsxMSwyNV0sWzExLDI1XSxbMTEsMjVdLFsxMywxNjY0XSxbMTMsMTcyOF0sWzEyLDMyMF0sWzEyLDMyMF0sWzEyLDM4NF0sWzEyLDM4NF0sWzEyLDQ0OF0sWzEyLDQ0OF0sWzEzLDUxMl0sWzEzLDU3Nl0sWzEyLDUzXSxbMTIsNTNdLFsxMiw1NF0sWzEyLDU0XSxbMTMsODk2XSxbMTMsOTYwXSxbMTMsMTAyNF0sWzEzLDEwODhdLFsxMywxMTUyXSxbMTMsMTIxNl0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdXSxKdD1bWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFsxMSwyM10sWzExLDIzXSxbMTIsNTBdLFsxMiw1MV0sWzEyLDQ0XSxbMTIsNDVdLFsxMiw0Nl0sWzEyLDQ3XSxbMTIsNTddLFsxMiw1OF0sWzEyLDYxXSxbMTIsMjU2XSxbMTAsMTZdLFsxMCwxNl0sWzEwLDE2XSxbMTAsMTZdLFsxMCwxN10sWzEwLDE3XSxbMTAsMTddLFsxMCwxN10sWzEyLDQ4XSxbMTIsNDldLFsxMiw2Ml0sWzEyLDYzXSxbMTIsMzBdLFsxMiwzMV0sWzEyLDMyXSxbMTIsMzNdLFsxMiw0MF0sWzEyLDQxXSxbMTEsMjJdLFsxMSwyMl0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFsxMiwxMjhdLFsxMiwxOTJdLFsxMiwyNl0sWzEyLDI3XSxbMTIsMjhdLFsxMiwyOV0sWzExLDE5XSxbMTEsMTldLFsxMSwyMF0sWzExLDIwXSxbMTIsMzRdLFsxMiwzNV0sWzEyLDM2XSxbMTIsMzddLFsxMiwzOF0sWzEyLDM5XSxbMTEsMjFdLFsxMSwyMV0sWzEyLDQyXSxbMTIsNDNdLFsxMCwwXSxbMTAsMF0sWzEwLDBdLFsxMCwwXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdXSxZdD1bWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbNiw5XSxbNiw4XSxbNSw3XSxbNSw3XSxbNCw2XSxbNCw2XSxbNCw2XSxbNCw2XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXV07Y2xhc3MgQ0NJVFRGYXhEZWNvZGVye2NvbnN0cnVjdG9yKGUsdD17fSl7aWYoIWV8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm5leHQpdGhyb3cgbmV3IEVycm9yKCdDQ0lUVEZheERlY29kZXIgLSBpbnZhbGlkICJzb3VyY2UiIHBhcmFtZXRlci4nKTt0aGlzLnNvdXJjZT1lO3RoaXMuZW9mPSExO3RoaXMuZW5jb2Rpbmc9dC5LfHwwO3RoaXMuZW9saW5lPXQuRW5kT2ZMaW5lfHwhMTt0aGlzLmJ5dGVBbGlnbj10LkVuY29kZWRCeXRlQWxpZ258fCExO3RoaXMuY29sdW1ucz10LkNvbHVtbnN8fDE3Mjg7dGhpcy5yb3dzPXQuUm93c3x8MDt0aGlzLmVvYmxvY2s9dC5FbmRPZkJsb2NrPz8hMDt0aGlzLmJsYWNrPXQuQmxhY2tJczF8fCExO3RoaXMuY29kaW5nTGluZT1uZXcgVWludDMyQXJyYXkodGhpcy5jb2x1bW5zKzEpO3RoaXMucmVmTGluZT1uZXcgVWludDMyQXJyYXkodGhpcy5jb2x1bW5zKzIpO3RoaXMuY29kaW5nTGluZVswXT10aGlzLmNvbHVtbnM7dGhpcy5jb2RpbmdQb3M9MDt0aGlzLnJvdz0wO3RoaXMubmV4dExpbmUyRD10aGlzLmVuY29kaW5nPDA7dGhpcy5pbnB1dEJpdHM9MDt0aGlzLmlucHV0QnVmPTA7dGhpcy5vdXRwdXRCaXRzPTA7dGhpcy5yb3dzRG9uZT0hMTtsZXQgaTtmb3IoOzA9PT0oaT10aGlzLl9sb29rQml0cygxMikpOyl0aGlzLl9lYXRCaXRzKDEpOzE9PT1pJiZ0aGlzLl9lYXRCaXRzKDEyKTtpZih0aGlzLmVuY29kaW5nPjApe3RoaXMubmV4dExpbmUyRD0hdGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX19cmVhZE5leHRDaGFyKCl7aWYodGhpcy5lb2YpcmV0dXJuLTE7Y29uc3QgZT10aGlzLnJlZkxpbmUsdD10aGlzLmNvZGluZ0xpbmUsaT10aGlzLmNvbHVtbnM7bGV0IGEscyxyLG4sZztpZigwPT09dGhpcy5vdXRwdXRCaXRzKXt0aGlzLnJvd3NEb25lJiYodGhpcy5lb2Y9ITApO2lmKHRoaXMuZW9mKXJldHVybi0xO3RoaXMuZXJyPSExO2xldCByLGcsbztpZih0aGlzLm5leHRMaW5lMkQpe2ZvcihuPTA7dFtuXTxpOysrbillW25dPXRbbl07ZVtuKytdPWk7ZVtuXT1pO3RbMF09MDt0aGlzLmNvZGluZ1Bvcz0wO2E9MDtzPTA7Zm9yKDt0W3RoaXMuY29kaW5nUG9zXTxpOyl7cj10aGlzLl9nZXRUd29EaW1Db2RlKCk7c3dpdGNoKHIpe2Nhc2UgMDp0aGlzLl9hZGRQaXhlbHMoZVthKzFdLHMpO2VbYSsxXTxpJiYoYSs9Mik7YnJlYWs7Y2FzZSAxOnI9Zz0wO2lmKHMpe2Rve3IrPW89dGhpcy5fZ2V0QmxhY2tDb2RlKCl9d2hpbGUobz49NjQpO2Rve2crPW89dGhpcy5fZ2V0V2hpdGVDb2RlKCl9d2hpbGUobz49NjQpfWVsc2V7ZG97cis9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCk7ZG97Zys9bz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShvPj02NCl9dGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK3Iscyk7dFt0aGlzLmNvZGluZ1Bvc108aSYmdGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK2csMV5zKTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTI7YnJlYWs7Y2FzZSA3OnRoaXMuX2FkZFBpeGVscyhlW2FdKzMscyk7c149MTtpZih0W3RoaXMuY29kaW5nUG9zXTxpKXsrK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgNTp0aGlzLl9hZGRQaXhlbHMoZVthXSsyLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDM6dGhpcy5fYWRkUGl4ZWxzKGVbYV0rMSxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpeysrYTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTJ9YnJlYWs7Y2FzZSAyOnRoaXMuX2FkZFBpeGVscyhlW2FdLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDg6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMyxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDY6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMixzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDQ6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMSxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIHh0OnRoaXMuX2FkZFBpeGVscyhpLDApO3RoaXMuZW9mPSEwO2JyZWFrO2RlZmF1bHQ6aW5mbygiYmFkIDJkIGNvZGUiKTt0aGlzLl9hZGRQaXhlbHMoaSwwKTt0aGlzLmVycj0hMH19fWVsc2V7dFswXT0wO3RoaXMuY29kaW5nUG9zPTA7cz0wO2Zvcig7dFt0aGlzLmNvZGluZ1Bvc108aTspe3I9MDtpZihzKWRve3IrPW89dGhpcy5fZ2V0QmxhY2tDb2RlKCl9d2hpbGUobz49NjQpO2Vsc2UgZG97cis9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCk7dGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK3Iscyk7c149MX19bGV0IGM9ITE7dGhpcy5ieXRlQWxpZ24mJih0aGlzLmlucHV0Qml0cyY9LTgpO2lmKHRoaXMuZW9ibG9ja3x8dGhpcy5yb3chPT10aGlzLnJvd3MtMSl7cj10aGlzLl9sb29rQml0cygxMik7aWYodGhpcy5lb2xpbmUpZm9yKDtyIT09eHQmJjEhPT1yOyl7dGhpcy5fZWF0Qml0cygxKTtyPXRoaXMuX2xvb2tCaXRzKDEyKX1lbHNlIGZvcig7MD09PXI7KXt0aGlzLl9lYXRCaXRzKDEpO3I9dGhpcy5fbG9va0JpdHMoMTIpfWlmKDE9PT1yKXt0aGlzLl9lYXRCaXRzKDEyKTtjPSEwfWVsc2Ugcj09PXh0JiYodGhpcy5lb2Y9ITApfWVsc2UgdGhpcy5yb3dzRG9uZT0hMDtpZighdGhpcy5lb2YmJnRoaXMuZW5jb2Rpbmc+MCYmIXRoaXMucm93c0RvbmUpe3RoaXMubmV4dExpbmUyRD0hdGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX1pZih0aGlzLmVvYmxvY2smJmMmJnRoaXMuYnl0ZUFsaWduKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTtpZigxPT09cil7dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfWlmKHRoaXMuZW5jb2Rpbmc+PTApZm9yKG49MDtuPDQ7KytuKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTsxIT09ciYmaW5mbygiYmFkIHJ0YyBjb2RlOiAiK3IpO3RoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX19dGhpcy5lb2Y9ITB9fWVsc2UgaWYodGhpcy5lcnImJnRoaXMuZW9saW5lKXtmb3IoOzspe3I9dGhpcy5fbG9va0JpdHMoMTMpO2lmKHI9PT14dCl7dGhpcy5lb2Y9ITA7cmV0dXJuLTF9aWYocj4+MT09MSlicmVhazt0aGlzLl9lYXRCaXRzKDEpfXRoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5fZWF0Qml0cygxKTt0aGlzLm5leHRMaW5lMkQ9ISgxJnIpfX10aGlzLm91dHB1dEJpdHM9dFswXT4wP3RbdGhpcy5jb2RpbmdQb3M9MF06dFt0aGlzLmNvZGluZ1Bvcz0xXTt0aGlzLnJvdysrfWlmKHRoaXMub3V0cHV0Qml0cz49OCl7Zz0xJnRoaXMuY29kaW5nUG9zPzA6MjU1O3RoaXMub3V0cHV0Qml0cy09ODtpZigwPT09dGhpcy5vdXRwdXRCaXRzJiZ0W3RoaXMuY29kaW5nUG9zXTxpKXt0aGlzLmNvZGluZ1BvcysrO3RoaXMub3V0cHV0Qml0cz10W3RoaXMuY29kaW5nUG9zXS10W3RoaXMuY29kaW5nUG9zLTFdfX1lbHNle3I9ODtnPTA7ZG97aWYoIm51bWJlciIhPXR5cGVvZiB0aGlzLm91dHB1dEJpdHMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdJbnZhbGlkIC9DQ0lUVEZheERlY29kZSBkYXRhLCAib3V0cHV0Qml0cyIgbXVzdCBiZSBhIG51bWJlci4nKTtpZih0aGlzLm91dHB1dEJpdHM+cil7Zzw8PXI7MSZ0aGlzLmNvZGluZ1Bvc3x8KGd8PTI1NT4+OC1yKTt0aGlzLm91dHB1dEJpdHMtPXI7cj0wfWVsc2V7Zzw8PXRoaXMub3V0cHV0Qml0czsxJnRoaXMuY29kaW5nUG9zfHwoZ3w9MjU1Pj44LXRoaXMub3V0cHV0Qml0cyk7ci09dGhpcy5vdXRwdXRCaXRzO3RoaXMub3V0cHV0Qml0cz0wO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe3RoaXMuY29kaW5nUG9zKys7dGhpcy5vdXRwdXRCaXRzPXRbdGhpcy5jb2RpbmdQb3NdLXRbdGhpcy5jb2RpbmdQb3MtMV19ZWxzZSBpZihyPjApe2c8PD1yO3I9MH19fXdoaWxlKHIpfXRoaXMuYmxhY2smJihnXj0yNTUpO3JldHVybiBnfV9hZGRQaXhlbHMoZSx0KXtjb25zdCBpPXRoaXMuY29kaW5nTGluZTtsZXQgYT10aGlzLmNvZGluZ1BvcztpZihlPmlbYV0pe2lmKGU+dGhpcy5jb2x1bW5zKXtpbmZvKCJyb3cgaXMgd3JvbmcgbGVuZ3RoIik7dGhpcy5lcnI9ITA7ZT10aGlzLmNvbHVtbnN9MSZhXnQmJisrYTtpW2FdPWV9dGhpcy5jb2RpbmdQb3M9YX1fYWRkUGl4ZWxzTmVnKGUsdCl7Y29uc3QgaT10aGlzLmNvZGluZ0xpbmU7bGV0IGE9dGhpcy5jb2RpbmdQb3M7aWYoZT5pW2FdKXtpZihlPnRoaXMuY29sdW1ucyl7aW5mbygicm93IGlzIHdyb25nIGxlbmd0aCIpO3RoaXMuZXJyPSEwO2U9dGhpcy5jb2x1bW5zfTEmYV50JiYrK2E7aVthXT1lfWVsc2UgaWYoZTxpW2FdKXtpZihlPDApe2luZm8oImludmFsaWQgY29kZSIpO3RoaXMuZXJyPSEwO2U9MH1mb3IoO2E+MCYmZTxpW2EtMV07KS0tYTtpW2FdPWV9dGhpcy5jb2RpbmdQb3M9YX1fZmluZFRhYmxlQ29kZShlLHQsaSxhKXtjb25zdCBzPWF8fDA7Zm9yKGxldCBhPWU7YTw9dDsrK2Epe2xldCBlPXRoaXMuX2xvb2tCaXRzKGEpO2lmKGU9PT14dClyZXR1cm5bITAsMSwhMV07YTx0JiYoZTw8PXQtYSk7aWYoIXN8fGU+PXMpe2NvbnN0IHQ9aVtlLXNdO2lmKHRbMF09PT1hKXt0aGlzLl9lYXRCaXRzKGEpO3JldHVyblshMCx0WzFdLCEwXX19fXJldHVyblshMSwwLCExXX1fZ2V0VHdvRGltQ29kZSgpe2xldCBlLHQ9MDtpZih0aGlzLmVvYmxvY2spe3Q9dGhpcy5fbG9va0JpdHMoNyk7ZT1VdFt0XTtpZihlPy5bMF0+MCl7dGhpcy5fZWF0Qml0cyhlWzBdKTtyZXR1cm4gZVsxXX19ZWxzZXtjb25zdCBlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMSw3LFV0KTtpZihlWzBdJiZlWzJdKXJldHVybiBlWzFdfWluZm8oIkJhZCB0d28gZGltIGNvZGUiKTtyZXR1cm4geHR9X2dldFdoaXRlQ29kZSgpe2xldCBlLHQ9MDtpZih0aGlzLmVvYmxvY2spe3Q9dGhpcy5fbG9va0JpdHMoMTIpO2lmKHQ9PT14dClyZXR1cm4gMTtlPXQ+PjU9PTA/TXRbdF06THRbdD4+M107aWYoZVswXT4wKXt0aGlzLl9lYXRCaXRzKGVbMF0pO3JldHVybiBlWzFdfX1lbHNle2xldCBlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMSw5LEx0KTtpZihlWzBdKXJldHVybiBlWzFdO2U9dGhpcy5fZmluZFRhYmxlQ29kZSgxMSwxMixNdCk7aWYoZVswXSlyZXR1cm4gZVsxXX1pbmZvKCJiYWQgd2hpdGUgY29kZSIpO3RoaXMuX2VhdEJpdHMoMSk7cmV0dXJuIDF9X2dldEJsYWNrQ29kZSgpe2xldCBlLHQ7aWYodGhpcy5lb2Jsb2NrKXtlPXRoaXMuX2xvb2tCaXRzKDEzKTtpZihlPT09eHQpcmV0dXJuIDE7dD1lPj43PT0wP0h0W2VdOmU+Pjk9PTAmJmU+PjchPTA/SnRbKGU+PjEpLTY0XTpZdFtlPj43XTtpZih0WzBdPjApe3RoaXMuX2VhdEJpdHModFswXSk7cmV0dXJuIHRbMV19fWVsc2V7bGV0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgyLDYsWXQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDcsMTIsSnQsNjQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDEwLDEzLEh0KTtpZihlWzBdKXJldHVybiBlWzFdfWluZm8oImJhZCBibGFjayBjb2RlIik7dGhpcy5fZWF0Qml0cygxKTtyZXR1cm4gMX1fbG9va0JpdHMoZSl7bGV0IHQ7Zm9yKDt0aGlzLmlucHV0Qml0czxlOyl7aWYoLTE9PT0odD10aGlzLnNvdXJjZS5uZXh0KCkpKXJldHVybiAwPT09dGhpcy5pbnB1dEJpdHM/eHQ6dGhpcy5pbnB1dEJ1Zjw8ZS10aGlzLmlucHV0Qml0cyY2NTUzNT4+MTYtZTt0aGlzLmlucHV0QnVmPXRoaXMuaW5wdXRCdWY8PDh8dDt0aGlzLmlucHV0Qml0cys9OH1yZXR1cm4gdGhpcy5pbnB1dEJ1Zj4+dGhpcy5pbnB1dEJpdHMtZSY2NTUzNT4+MTYtZX1fZWF0Qml0cyhlKXsodGhpcy5pbnB1dEJpdHMtPWUpPDAmJih0aGlzLmlucHV0Qml0cz0wKX19Y2xhc3MgQ0NJVFRGYXhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDtpIGluc3RhbmNlb2YgRGljdHx8KGk9RGljdC5lbXB0eSk7Y29uc3QgYT17bmV4dDooKT0+ZS5nZXRCeXRlKCl9O3RoaXMuY2NpdHRGYXhEZWNvZGVyPW5ldyBDQ0lUVEZheERlY29kZXIoYSx7SzppLmdldCgiSyIpLEVuZE9mTGluZTppLmdldCgiRW5kT2ZMaW5lIiksRW5jb2RlZEJ5dGVBbGlnbjppLmdldCgiRW5jb2RlZEJ5dGVBbGlnbiIpLENvbHVtbnM6aS5nZXQoIkNvbHVtbnMiKSxSb3dzOmkuZ2V0KCJSb3dzIiksRW5kT2ZCbG9jazppLmdldCgiRW5kT2ZCbG9jayIpLEJsYWNrSXMxOmkuZ2V0KCJCbGFja0lzMSIpfSl9cmVhZEJsb2NrKCl7Zm9yKDshdGhpcy5lb2Y7KXtjb25zdCBlPXRoaXMuY2NpdHRGYXhEZWNvZGVyLnJlYWROZXh0Q2hhcigpO2lmKC0xPT09ZSl7dGhpcy5lb2Y9ITA7cmV0dXJufXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoKzEpO3RoaXMuYnVmZmVyW3RoaXMuYnVmZmVyTGVuZ3RoKytdPWV9fX1jb25zdCB2dD1uZXcgSW50MzJBcnJheShbMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0pLEt0PW5ldyBJbnQzMkFycmF5KFszLDQsNSw2LDcsOCw5LDEwLDY1NTQ3LDY1NTQ5LDY1NTUxLDY1NTUzLDEzMTA5MSwxMzEwOTUsMTMxMDk5LDEzMTEwMywxOTY2NDMsMTk2NjUxLDE5NjY1OSwxOTY2NjcsMjYyMjExLDI2MjIyNywyNjIyNDMsMjYyMjU5LDMyNzgxMSwzMjc4NDMsMzI3ODc1LDMyNzkwNywyNTgsMjU4LDI1OF0pLFR0PW5ldyBJbnQzMkFycmF5KFsxLDIsMyw0LDY1NTQxLDY1NTQzLDEzMTA4MSwxMzEwODUsMTk2NjI1LDE5NjYzMywyNjIxNzcsMjYyMTkzLDMyNzc0NSwzMjc3NzcsMzkzMzQ1LDM5MzQwOSw0NTkwMDksNDU5MTM3LDUyNDgwMSw1MjUwNTcsNTkwODQ5LDU5MTM2MSw2NTc0MDksNjU4NDMzLDcyNDk5Myw3MjcwNDEsNzk0NjI1LDc5ODcyMSw4NjgzNTMsODc2NTQ1XSkscXQ9W25ldyBJbnQzMkFycmF5KFs0NTkwMDgsNTI0MzY4LDUyNDMwNCw1MjQ1NjgsNDU5MDI0LDUyNDQwMCw1MjQzMzYsNTkwMDE2LDQ1OTAxNiw1MjQzODQsNTI0MzIwLDU4OTk4NCw1MjQyODgsNTI0NDE2LDUyNDM1Miw1OTAwNDgsNDU5MDEyLDUyNDM3Niw1MjQzMTIsNTg5OTY4LDQ1OTAyOCw1MjQ0MDgsNTI0MzQ0LDU5MDAzMiw0NTkwMjAsNTI0MzkyLDUyNDMyOCw1OWU0LDUyNDI5Niw1MjQ0MjQsNTI0MzYwLDU5MDA2NCw0NTkwMTAsNTI0MzcyLDUyNDMwOCw1MjQ1NzIsNDU5MDI2LDUyNDQwNCw1MjQzNDAsNTkwMDI0LDQ1OTAxOCw1MjQzODgsNTI0MzI0LDU4OTk5Miw1MjQyOTIsNTI0NDIwLDUyNDM1Niw1OTAwNTYsNDU5MDE0LDUyNDM4MCw1MjQzMTYsNTg5OTc2LDQ1OTAzMCw1MjQ0MTIsNTI0MzQ4LDU5MDA0MCw0NTkwMjIsNTI0Mzk2LDUyNDMzMiw1OTAwMDgsNTI0MzAwLDUyNDQyOCw1MjQzNjQsNTkwMDcyLDQ1OTAwOSw1MjQzNzAsNTI0MzA2LDUyNDU3MCw0NTkwMjUsNTI0NDAyLDUyNDMzOCw1OTAwMjAsNDU5MDE3LDUyNDM4Niw1MjQzMjIsNTg5OTg4LDUyNDI5MCw1MjQ0MTgsNTI0MzU0LDU5MDA1Miw0NTkwMTMsNTI0Mzc4LDUyNDMxNCw1ODk5NzIsNDU5MDI5LDUyNDQxMCw1MjQzNDYsNTkwMDM2LDQ1OTAyMSw1MjQzOTQsNTI0MzMwLDU5MDAwNCw1MjQyOTgsNTI0NDI2LDUyNDM2Miw1OTAwNjgsNDU5MDExLDUyNDM3NCw1MjQzMTAsNTI0NTc0LDQ1OTAyNyw1MjQ0MDYsNTI0MzQyLDU5MDAyOCw0NTkwMTksNTI0MzkwLDUyNDMyNiw1ODk5OTYsNTI0Mjk0LDUyNDQyMiw1MjQzNTgsNTkwMDYwLDQ1OTAxNSw1MjQzODIsNTI0MzE4LDU4OTk4MCw0NTkwMzEsNTI0NDE0LDUyNDM1MCw1OTAwNDQsNDU5MDIzLDUyNDM5OCw1MjQzMzQsNTkwMDEyLDUyNDMwMiw1MjQ0MzAsNTI0MzY2LDU5MDA3Niw0NTkwMDgsNTI0MzY5LDUyNDMwNSw1MjQ1NjksNDU5MDI0LDUyNDQwMSw1MjQzMzcsNTkwMDE4LDQ1OTAxNiw1MjQzODUsNTI0MzIxLDU4OTk4Niw1MjQyODksNTI0NDE3LDUyNDM1Myw1OTAwNTAsNDU5MDEyLDUyNDM3Nyw1MjQzMTMsNTg5OTcwLDQ1OTAyOCw1MjQ0MDksNTI0MzQ1LDU5MDAzNCw0NTkwMjAsNTI0MzkzLDUyNDMyOSw1OTAwMDIsNTI0Mjk3LDUyNDQyNSw1MjQzNjEsNTkwMDY2LDQ1OTAxMCw1MjQzNzMsNTI0MzA5LDUyNDU3Myw0NTkwMjYsNTI0NDA1LDUyNDM0MSw1OTAwMjYsNDU5MDE4LDUyNDM4OSw1MjQzMjUsNTg5OTk0LDUyNDI5Myw1MjQ0MjEsNTI0MzU3LDU5MDA1OCw0NTkwMTQsNTI0MzgxLDUyNDMxNyw1ODk5NzgsNDU5MDMwLDUyNDQxMyw1MjQzNDksNTkwMDQyLDQ1OTAyMiw1MjQzOTcsNTI0MzMzLDU5MDAxMCw1MjQzMDEsNTI0NDI5LDUyNDM2NSw1OTAwNzQsNDU5MDA5LDUyNDM3MSw1MjQzMDcsNTI0NTcxLDQ1OTAyNSw1MjQ0MDMsNTI0MzM5LDU5MDAyMiw0NTkwMTcsNTI0Mzg3LDUyNDMyMyw1ODk5OTAsNTI0MjkxLDUyNDQxOSw1MjQzNTUsNTkwMDU0LDQ1OTAxMyw1MjQzNzksNTI0MzE1LDU4OTk3NCw0NTkwMjksNTI0NDExLDUyNDM0Nyw1OTAwMzgsNDU5MDIxLDUyNDM5NSw1MjQzMzEsNTkwMDA2LDUyNDI5OSw1MjQ0MjcsNTI0MzYzLDU5MDA3MCw0NTkwMTEsNTI0Mzc1LDUyNDMxMSw1MjQ1NzUsNDU5MDI3LDUyNDQwNyw1MjQzNDMsNTkwMDMwLDQ1OTAxOSw1MjQzOTEsNTI0MzI3LDU4OTk5OCw1MjQyOTUsNTI0NDIzLDUyNDM1OSw1OTAwNjIsNDU5MDE1LDUyNDM4Myw1MjQzMTksNTg5OTgyLDQ1OTAzMSw1MjQ0MTUsNTI0MzUxLDU5MDA0Niw0NTkwMjMsNTI0Mzk5LDUyNDMzNSw1OTAwMTQsNTI0MzAzLDUyNDQzMSw1MjQzNjcsNTkwMDc4LDQ1OTAwOCw1MjQzNjgsNTI0MzA0LDUyNDU2OCw0NTkwMjQsNTI0NDAwLDUyNDMzNiw1OTAwMTcsNDU5MDE2LDUyNDM4NCw1MjQzMjAsNTg5OTg1LDUyNDI4OCw1MjQ0MTYsNTI0MzUyLDU5MDA0OSw0NTkwMTIsNTI0Mzc2LDUyNDMxMiw1ODk5NjksNDU5MDI4LDUyNDQwOCw1MjQzNDQsNTkwMDMzLDQ1OTAyMCw1MjQzOTIsNTI0MzI4LDU5MDAwMSw1MjQyOTYsNTI0NDI0LDUyNDM2MCw1OTAwNjUsNDU5MDEwLDUyNDM3Miw1MjQzMDgsNTI0NTcyLDQ1OTAyNiw1MjQ0MDQsNTI0MzQwLDU5MDAyNSw0NTkwMTgsNTI0Mzg4LDUyNDMyNCw1ODk5OTMsNTI0MjkyLDUyNDQyMCw1MjQzNTYsNTkwMDU3LDQ1OTAxNCw1MjQzODAsNTI0MzE2LDU4OTk3Nyw0NTkwMzAsNTI0NDEyLDUyNDM0OCw1OTAwNDEsNDU5MDIyLDUyNDM5Niw1MjQzMzIsNTkwMDA5LDUyNDMwMCw1MjQ0MjgsNTI0MzY0LDU5MDA3Myw0NTkwMDksNTI0MzcwLDUyNDMwNiw1MjQ1NzAsNDU5MDI1LDUyNDQwMiw1MjQzMzgsNTkwMDIxLDQ1OTAxNyw1MjQzODYsNTI0MzIyLDU4OTk4OSw1MjQyOTAsNTI0NDE4LDUyNDM1NCw1OTAwNTMsNDU5MDEzLDUyNDM3OCw1MjQzMTQsNTg5OTczLDQ1OTAyOSw1MjQ0MTAsNTI0MzQ2LDU5MDAzNyw0NTkwMjEsNTI0Mzk0LDUyNDMzMCw1OTAwMDUsNTI0Mjk4LDUyNDQyNiw1MjQzNjIsNTkwMDY5LDQ1OTAxMSw1MjQzNzQsNTI0MzEwLDUyNDU3NCw0NTkwMjcsNTI0NDA2LDUyNDM0Miw1OTAwMjksNDU5MDE5LDUyNDM5MCw1MjQzMjYsNTg5OTk3LDUyNDI5NCw1MjQ0MjIsNTI0MzU4LDU5MDA2MSw0NTkwMTUsNTI0MzgyLDUyNDMxOCw1ODk5ODEsNDU5MDMxLDUyNDQxNCw1MjQzNTAsNTkwMDQ1LDQ1OTAyMyw1MjQzOTgsNTI0MzM0LDU5MDAxMyw1MjQzMDIsNTI0NDMwLDUyNDM2Niw1OTAwNzcsNDU5MDA4LDUyNDM2OSw1MjQzMDUsNTI0NTY5LDQ1OTAyNCw1MjQ0MDEsNTI0MzM3LDU5MDAxOSw0NTkwMTYsNTI0Mzg1LDUyNDMyMSw1ODk5ODcsNTI0Mjg5LDUyNDQxNyw1MjQzNTMsNTkwMDUxLDQ1OTAxMiw1MjQzNzcsNTI0MzEzLDU4OTk3MSw0NTkwMjgsNTI0NDA5LDUyNDM0NSw1OTAwMzUsNDU5MDIwLDUyNDM5Myw1MjQzMjksNTkwMDAzLDUyNDI5Nyw1MjQ0MjUsNTI0MzYxLDU5MDA2Nyw0NTkwMTAsNTI0MzczLDUyNDMwOSw1MjQ1NzMsNDU5MDI2LDUyNDQwNSw1MjQzNDEsNTkwMDI3LDQ1OTAxOCw1MjQzODksNTI0MzI1LDU4OTk5NSw1MjQyOTMsNTI0NDIxLDUyNDM1Nyw1OTAwNTksNDU5MDE0LDUyNDM4MSw1MjQzMTcsNTg5OTc5LDQ1OTAzMCw1MjQ0MTMsNTI0MzQ5LDU5MDA0Myw0NTkwMjIsNTI0Mzk3LDUyNDMzMyw1OTAwMTEsNTI0MzAxLDUyNDQyOSw1MjQzNjUsNTkwMDc1LDQ1OTAwOSw1MjQzNzEsNTI0MzA3LDUyNDU3MSw0NTkwMjUsNTI0NDAzLDUyNDMzOSw1OTAwMjMsNDU5MDE3LDUyNDM4Nyw1MjQzMjMsNTg5OTkxLDUyNDI5MSw1MjQ0MTksNTI0MzU1LDU5MDA1NSw0NTkwMTMsNTI0Mzc5LDUyNDMxNSw1ODk5NzUsNDU5MDI5LDUyNDQxMSw1MjQzNDcsNTkwMDM5LDQ1OTAyMSw1MjQzOTUsNTI0MzMxLDU5MDAwNyw1MjQyOTksNTI0NDI3LDUyNDM2Myw1OTAwNzEsNDU5MDExLDUyNDM3NSw1MjQzMTEsNTI0NTc1LDQ1OTAyNyw1MjQ0MDcsNTI0MzQzLDU5MDAzMSw0NTkwMTksNTI0MzkxLDUyNDMyNyw1ODk5OTksNTI0Mjk1LDUyNDQyMyw1MjQzNTksNTkwMDYzLDQ1OTAxNSw1MjQzODMsNTI0MzE5LDU4OTk4Myw0NTkwMzEsNTI0NDE1LDUyNDM1MSw1OTAwNDcsNDU5MDIzLDUyNDM5OSw1MjQzMzUsNTkwMDE1LDUyNDMwMyw1MjQ0MzEsNTI0MzY3LDU5MDA3OV0pLDldLE90PVtuZXcgSW50MzJBcnJheShbMzI3NjgwLDMyNzY5NiwzMjc2ODgsMzI3NzA0LDMyNzY4NCwzMjc3MDAsMzI3NjkyLDMyNzcwOCwzMjc2ODIsMzI3Njk4LDMyNzY5MCwzMjc3MDYsMzI3Njg2LDMyNzcwMiwzMjc2OTQsMCwzMjc2ODEsMzI3Njk3LDMyNzY4OSwzMjc3MDUsMzI3Njg1LDMyNzcwMSwzMjc2OTMsMzI3NzA5LDMyNzY4MywzMjc2OTksMzI3NjkxLDMyNzcwNywzMjc2ODcsMzI3NzAzLDMyNzY5NSwwXSksNV07Y2xhc3MgRmxhdGVTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7Y29uc3QgaT1lLmdldEJ5dGUoKSxhPWUuZ2V0Qnl0ZSgpO2lmKC0xPT09aXx8LTE9PT1hKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoOCE9KDE1JmkpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoKChpPDw4KSthKSUzMSE9MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJhZCBGQ0hFQ0sgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoMzImYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEZESUNUIGJpdCBzZXQgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7dGhpcy5jb2RlU2l6ZT0wO3RoaXMuY29kZUJ1Zj0wfWFzeW5jIGdldEltYWdlRGF0YShlLHQpe2NvbnN0IGk9YXdhaXQgdGhpcy5hc3luY0dldEJ5dGVzKCk7cmV0dXJuIGk/LnN1YmFycmF5KDAsZSl8fHRoaXMuZ2V0Qnl0ZXMoZSl9YXN5bmMgYXN5bmNHZXRCeXRlcygpe3RoaXMuc3RyLnJlc2V0KCk7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcygpO3RyeXtjb25zdHtyZWFkYWJsZTp0LHdyaXRhYmxlOml9PW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJkZWZsYXRlIiksYT1pLmdldFdyaXRlcigpO2F3YWl0IGEucmVhZHk7YS53cml0ZShlKS50aGVuKChhc3luYygpPT57YXdhaXQgYS5yZWFkeTthd2FpdCBhLmNsb3NlKCl9KSkuY2F0Y2goKCgpPT57fSkpO2NvbnN0IHM9W107bGV0IHI9MDtmb3IgYXdhaXQoY29uc3QgZSBvZiB0KXtzLnB1c2goZSk7cis9ZS5ieXRlTGVuZ3RofWNvbnN0IG49bmV3IFVpbnQ4QXJyYXkocik7bGV0IGc9MDtmb3IoY29uc3QgZSBvZiBzKXtuLnNldChlLGcpO2crPWUuYnl0ZUxlbmd0aH1yZXR1cm4gbn1jYXRjaHt0aGlzLnN0cj1uZXcgU3RyZWFtKGUsMixlLmxlbmd0aCx0aGlzLnN0ci5kaWN0KTt0aGlzLnJlc2V0KCk7cmV0dXJuIG51bGx9fWdldCBpc0FzeW5jKCl7cmV0dXJuITB9Z2V0Qml0cyhlKXtjb25zdCB0PXRoaXMuc3RyO2xldCBpLGE9dGhpcy5jb2RlU2l6ZSxzPXRoaXMuY29kZUJ1Zjtmb3IoO2E8ZTspe2lmKC0xPT09KGk9dC5nZXRCeXRlKCkpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbSIpO3N8PWk8PGE7YSs9OH1pPXMmKDE8PGUpLTE7dGhpcy5jb2RlQnVmPXM+PmU7dGhpcy5jb2RlU2l6ZT1hLT1lO3JldHVybiBpfWdldENvZGUoZSl7Y29uc3QgdD10aGlzLnN0cixpPWVbMF0sYT1lWzFdO2xldCBzLHI9dGhpcy5jb2RlU2l6ZSxuPXRoaXMuY29kZUJ1Zjtmb3IoO3I8YSYmLTEhPT0ocz10LmdldEJ5dGUoKSk7KXtufD1zPDxyO3IrPTh9Y29uc3QgZz1pW24mKDE8PGEpLTFdLG89Zz4+MTYsYz02NTUzNSZnO2lmKG88MXx8cjxvKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbSIpO3RoaXMuY29kZUJ1Zj1uPj5vO3RoaXMuY29kZVNpemU9ci1vO3JldHVybiBjfWdlbmVyYXRlSHVmZm1hblRhYmxlKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGksYT0wO2ZvcihpPTA7aTx0OysraSllW2ldPmEmJihhPWVbaV0pO2NvbnN0IHM9MTw8YSxyPW5ldyBJbnQzMkFycmF5KHMpO2ZvcihsZXQgbj0xLGc9MCxvPTI7bjw9YTsrK24sZzw8PTEsbzw8PTEpZm9yKGxldCBhPTA7YTx0OysrYSlpZihlW2FdPT09bil7bGV0IGU9MCx0PWc7Zm9yKGk9MDtpPG47KytpKXtlPWU8PDF8MSZ0O3Q+Pj0xfWZvcihpPWU7aTxzO2krPW8pcltpXT1uPDwxNnxhOysrZ31yZXR1cm5bcixhXX0jbShlKXtpbmZvKGUpO3RoaXMuZW9mPSEwfXJlYWRCbG9jaygpe2xldCBlLHQsaTtjb25zdCBhPXRoaXMuc3RyO3RyeXt0PXRoaXMuZ2V0Qml0cygzKX1jYXRjaChlKXt0aGlzLiNtKGUubWVzc2FnZSk7cmV0dXJufTEmdCYmKHRoaXMuZW9mPSEwKTt0Pj49MTtpZigwPT09dCl7bGV0IHQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWxldCBpPXQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWl8PXQ8PDg7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWxldCBzPXQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufXN8PXQ8PDg7aWYocyE9PSg2NTUzNSZ+aSkmJigwIT09aXx8MCE9PXMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIHVuY29tcHJlc3NlZCBibG9jayBsZW5ndGggaW4gZmxhdGUgc3RyZWFtIik7dGhpcy5jb2RlQnVmPTA7dGhpcy5jb2RlU2l6ZT0wO2NvbnN0IHI9dGhpcy5idWZmZXJMZW5ndGgsbj1yK2k7ZT10aGlzLmVuc3VyZUJ1ZmZlcihuKTt0aGlzLmJ1ZmZlckxlbmd0aD1uO2lmKDA9PT1pKS0xPT09YS5wZWVrQnl0ZSgpJiYodGhpcy5lb2Y9ITApO2Vsc2V7Y29uc3QgdD1hLmdldEJ5dGVzKGkpO2Uuc2V0KHQscik7dC5sZW5ndGg8aSYmKHRoaXMuZW9mPSEwKX1yZXR1cm59bGV0IHMscjtpZigxPT09dCl7cz1xdDtyPU90fWVsc2V7aWYoMiE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIGJsb2NrIHR5cGUgaW4gZmxhdGUgc3RyZWFtIik7e2NvbnN0IGU9dGhpcy5nZXRCaXRzKDUpKzI1Nyx0PXRoaXMuZ2V0Qml0cyg1KSsxLGE9dGhpcy5nZXRCaXRzKDQpKzQsbj1uZXcgVWludDhBcnJheSh2dC5sZW5ndGgpO2xldCBnO2ZvcihnPTA7ZzxhOysrZyluW3Z0W2ddXT10aGlzLmdldEJpdHMoMyk7Y29uc3Qgbz10aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKG4pO2k9MDtnPTA7Y29uc3QgYz1lK3QsQz1uZXcgVWludDhBcnJheShjKTtsZXQgaCxsLFE7Zm9yKDtnPGM7KXtjb25zdCBlPXRoaXMuZ2V0Q29kZShvKTtpZigxNj09PWUpe2g9MjtsPTM7UT1pfWVsc2UgaWYoMTc9PT1lKXtoPTM7bD0zO1E9aT0wfWVsc2V7aWYoMTghPT1lKXtDW2crK109aT1lO2NvbnRpbnVlfWg9NztsPTExO1E9aT0wfWxldCB0PXRoaXMuZ2V0Qml0cyhoKStsO2Zvcig7dC0tID4wOylDW2crK109UX1zPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoQy5zdWJhcnJheSgwLGUpKTtyPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoQy5zdWJhcnJheShlLGMpKX19ZT10aGlzLmJ1ZmZlcjtsZXQgbj1lP2UubGVuZ3RoOjAsZz10aGlzLmJ1ZmZlckxlbmd0aDtmb3IoOzspe2xldCB0PXRoaXMuZ2V0Q29kZShzKTtpZih0PDI1Nil7aWYoZysxPj1uKXtlPXRoaXMuZW5zdXJlQnVmZmVyKGcrMSk7bj1lLmxlbmd0aH1lW2crK109dDtjb250aW51ZX1pZigyNTY9PT10KXt0aGlzLmJ1ZmZlckxlbmd0aD1nO3JldHVybn10LT0yNTc7dD1LdFt0XTtsZXQgYT10Pj4xNjthPjAmJihhPXRoaXMuZ2V0Qml0cyhhKSk7aT0oNjU1MzUmdCkrYTt0PXRoaXMuZ2V0Q29kZShyKTt0PVR0W3RdO2E9dD4+MTY7YT4wJiYoYT10aGlzLmdldEJpdHMoYSkpO2NvbnN0IG89KDY1NTM1JnQpK2E7aWYoZytpPj1uKXtlPXRoaXMuZW5zdXJlQnVmZmVyKGcraSk7bj1lLmxlbmd0aH1mb3IobGV0IHQ9MDt0PGk7Kyt0LCsrZyllW2ddPWVbZy1vXX19fWNvbnN0IFB0PVt7cWU6MjIwMTcsbm1wczoxLG5scHM6MSxzd2l0Y2hGbGFnOjF9LHtxZToxMzMxMyxubXBzOjIsbmxwczo2LHN3aXRjaEZsYWc6MH0se3FlOjYxNDUsbm1wczozLG5scHM6OSxzd2l0Y2hGbGFnOjB9LHtxZToyNzUzLG5tcHM6NCxubHBzOjEyLHN3aXRjaEZsYWc6MH0se3FlOjEzMTMsbm1wczo1LG5scHM6Mjksc3dpdGNoRmxhZzowfSx7cWU6NTQ1LG5tcHM6MzgsbmxwczozMyxzd2l0Y2hGbGFnOjB9LHtxZToyMjAxNyxubXBzOjcsbmxwczo2LHN3aXRjaEZsYWc6MX0se3FlOjIxNTA1LG5tcHM6OCxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjE4NDMzLG5tcHM6OSxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjE0MzM3LG5tcHM6MTAsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToxMjI4OSxubXBzOjExLG5scHM6MTcsc3dpdGNoRmxhZzowfSx7cWU6OTIxNyxubXBzOjEyLG5scHM6MTgsc3dpdGNoRmxhZzowfSx7cWU6NzE2OSxubXBzOjEzLG5scHM6MjAsc3dpdGNoRmxhZzowfSx7cWU6NTYzMyxubXBzOjI5LG5scHM6MjEsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczoxNSxubHBzOjE0LHN3aXRjaEZsYWc6MX0se3FlOjIxNTA1LG5tcHM6MTYsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToyMDczNyxubXBzOjE3LG5scHM6MTUsc3dpdGNoRmxhZzowfSx7cWU6MTg0MzMsbm1wczoxOCxubHBzOjE2LHN3aXRjaEZsYWc6MH0se3FlOjE0MzM3LG5tcHM6MTksbmxwczoxNyxzd2l0Y2hGbGFnOjB9LHtxZToxMzMxMyxubXBzOjIwLG5scHM6MTgsc3dpdGNoRmxhZzowfSx7cWU6MTIyODksbm1wczoyMSxubHBzOjE5LHN3aXRjaEZsYWc6MH0se3FlOjEwMjQxLG5tcHM6MjIsbmxwczoxOSxzd2l0Y2hGbGFnOjB9LHtxZTo5MjE3LG5tcHM6MjMsbmxwczoyMCxzd2l0Y2hGbGFnOjB9LHtxZTo4NzA1LG5tcHM6MjQsbmxwczoyMSxzd2l0Y2hGbGFnOjB9LHtxZTo3MTY5LG5tcHM6MjUsbmxwczoyMixzd2l0Y2hGbGFnOjB9LHtxZTo2MTQ1LG5tcHM6MjYsbmxwczoyMyxzd2l0Y2hGbGFnOjB9LHtxZTo1NjMzLG5tcHM6MjcsbmxwczoyNCxzd2l0Y2hGbGFnOjB9LHtxZTo1MTIxLG5tcHM6MjgsbmxwczoyNSxzd2l0Y2hGbGFnOjB9LHtxZTo0NjA5LG5tcHM6MjksbmxwczoyNixzd2l0Y2hGbGFnOjB9LHtxZTo0MzUzLG5tcHM6MzAsbmxwczoyNyxzd2l0Y2hGbGFnOjB9LHtxZToyNzUzLG5tcHM6MzEsbmxwczoyOCxzd2l0Y2hGbGFnOjB9LHtxZToyNDk3LG5tcHM6MzIsbmxwczoyOSxzd2l0Y2hGbGFnOjB9LHtxZToyMjA5LG5tcHM6MzMsbmxwczozMCxzd2l0Y2hGbGFnOjB9LHtxZToxMzEzLG5tcHM6MzQsbmxwczozMSxzd2l0Y2hGbGFnOjB9LHtxZToxMDg5LG5tcHM6MzUsbmxwczozMixzd2l0Y2hGbGFnOjB9LHtxZTo2NzMsbm1wczozNixubHBzOjMzLHN3aXRjaEZsYWc6MH0se3FlOjU0NSxubXBzOjM3LG5scHM6MzQsc3dpdGNoRmxhZzowfSx7cWU6MzIxLG5tcHM6MzgsbmxwczozNSxzd2l0Y2hGbGFnOjB9LHtxZToyNzMsbm1wczozOSxubHBzOjM2LHN3aXRjaEZsYWc6MH0se3FlOjEzMyxubXBzOjQwLG5scHM6Mzcsc3dpdGNoRmxhZzowfSx7cWU6NzMsbm1wczo0MSxubHBzOjM4LHN3aXRjaEZsYWc6MH0se3FlOjM3LG5tcHM6NDIsbmxwczozOSxzd2l0Y2hGbGFnOjB9LHtxZToyMSxubXBzOjQzLG5scHM6NDAsc3dpdGNoRmxhZzowfSx7cWU6OSxubXBzOjQ0LG5scHM6NDEsc3dpdGNoRmxhZzowfSx7cWU6NSxubXBzOjQ1LG5scHM6NDIsc3dpdGNoRmxhZzowfSx7cWU6MSxubXBzOjQ1LG5scHM6NDMsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczo0NixubHBzOjQ2LHN3aXRjaEZsYWc6MH1dO2NsYXNzIEFyaXRobWV0aWNEZWNvZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLmJwPXQ7dGhpcy5kYXRhRW5kPWk7dGhpcy5jaGlnaD1lW3RdO3RoaXMuY2xvdz0wO3RoaXMuYnl0ZUluKCk7dGhpcy5jaGlnaD10aGlzLmNoaWdoPDw3JjY1NTM1fHRoaXMuY2xvdz4+OSYxMjc7dGhpcy5jbG93PXRoaXMuY2xvdzw8NyY2NTUzNTt0aGlzLmN0LT03O3RoaXMuYT0zMjc2OH1ieXRlSW4oKXtjb25zdCBlPXRoaXMuZGF0YTtsZXQgdD10aGlzLmJwO2lmKDI1NT09PWVbdF0paWYoZVt0KzFdPjE0Myl7dGhpcy5jbG93Kz02NTI4MDt0aGlzLmN0PTh9ZWxzZXt0Kys7dGhpcy5jbG93Kz1lW3RdPDw5O3RoaXMuY3Q9Nzt0aGlzLmJwPXR9ZWxzZXt0Kys7dGhpcy5jbG93Kz10PHRoaXMuZGF0YUVuZD9lW3RdPDw4OjY1MjgwO3RoaXMuY3Q9ODt0aGlzLmJwPXR9aWYodGhpcy5jbG93PjY1NTM1KXt0aGlzLmNoaWdoKz10aGlzLmNsb3c+PjE2O3RoaXMuY2xvdyY9NjU1MzV9fXJlYWRCaXQoZSx0KXtsZXQgaT1lW3RdPj4xLGE9MSZlW3RdO2NvbnN0IHM9UHRbaV0scj1zLnFlO2xldCBuLGc9dGhpcy5hLXI7aWYodGhpcy5jaGlnaDxyKWlmKGc8cil7Zz1yO249YTtpPXMubm1wc31lbHNle2c9cjtuPTFeYTsxPT09cy5zd2l0Y2hGbGFnJiYoYT1uKTtpPXMubmxwc31lbHNle3RoaXMuY2hpZ2gtPXI7aWYoMCE9KDMyNzY4JmcpKXt0aGlzLmE9ZztyZXR1cm4gYX1pZihnPHIpe249MV5hOzE9PT1zLnN3aXRjaEZsYWcmJihhPW4pO2k9cy5ubHBzfWVsc2V7bj1hO2k9cy5ubXBzfX1kb3swPT09dGhpcy5jdCYmdGhpcy5ieXRlSW4oKTtnPDw9MTt0aGlzLmNoaWdoPXRoaXMuY2hpZ2g8PDEmNjU1MzV8dGhpcy5jbG93Pj4xNSYxO3RoaXMuY2xvdz10aGlzLmNsb3c8PDEmNjU1MzU7dGhpcy5jdC0tfXdoaWxlKDA9PSgzMjc2OCZnKSk7dGhpcy5hPWc7ZVt0XT1pPDwxfGE7cmV0dXJuIG59fWNsYXNzIEpiaWcyRXJyb3IgZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJKYmlnMkVycm9yIil9fWNsYXNzIENvbnRleHRDYWNoZXtnZXRDb250ZXh0cyhlKXtyZXR1cm4gZSBpbiB0aGlzP3RoaXNbZV06dGhpc1tlXT1uZXcgSW50OEFycmF5KDY1NTM2KX19Y2xhc3MgRGVjb2RpbmdDb250ZXh0e2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLnN0YXJ0PXQ7dGhpcy5lbmQ9aX1nZXQgZGVjb2Rlcigpe3JldHVybiBzaGFkb3codGhpcywiZGVjb2RlciIsbmV3IEFyaXRobWV0aWNEZWNvZGVyKHRoaXMuZGF0YSx0aGlzLnN0YXJ0LHRoaXMuZW5kKSl9Z2V0IGNvbnRleHRDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiY29udGV4dENhY2hlIixuZXcgQ29udGV4dENhY2hlKX19Y29uc3QgV3Q9MioqMzEtMSxqdD0tKDIqKjMxKTtmdW5jdGlvbiBkZWNvZGVJbnRlZ2VyKGUsdCxpKXtjb25zdCBhPWUuZ2V0Q29udGV4dHModCk7bGV0IHM9MTtmdW5jdGlvbiByZWFkQml0cyhlKXtsZXQgdD0wO2ZvcihsZXQgcj0wO3I8ZTtyKyspe2NvbnN0IGU9aS5yZWFkQml0KGEscyk7cz1zPDI1Nj9zPDwxfGU6NTExJihzPDwxfGUpfDI1Njt0PXQ8PDF8ZX1yZXR1cm4gdD4+PjB9Y29uc3Qgcj1yZWFkQml0cygxKSxuPXJlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDMyKSs0NDM2OnJlYWRCaXRzKDEyKSszNDA6cmVhZEJpdHMoOCkrODQ6cmVhZEJpdHMoNikrMjA6cmVhZEJpdHMoNCkrNDpyZWFkQml0cygyKTtsZXQgZzswPT09cj9nPW46bj4wJiYoZz0tbik7cmV0dXJuIGc+PWp0JiZnPD1XdD9nOm51bGx9ZnVuY3Rpb24gZGVjb2RlSUFJRChlLHQsaSl7Y29uc3QgYT1lLmdldENvbnRleHRzKCJJQUlEIik7bGV0IHM9MTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtzPXM8PDF8dC5yZWFkQml0KGEscyl9cmV0dXJuIGk8MzE/cyYoMTw8aSktMToyMTQ3NDgzNjQ3JnN9Y29uc3QgWHQ9WyJTeW1ib2xEaWN0aW9uYXJ5IixudWxsLG51bGwsbnVsbCwiSW50ZXJtZWRpYXRlVGV4dFJlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlVGV4dFJlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzVGV4dFJlZ2lvbiIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJQYXR0ZXJuRGljdGlvbmFyeSIsbnVsbCxudWxsLG51bGwsIkludGVybWVkaWF0ZUhhbGZ0b25lUmVnaW9uIixudWxsLCJJbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzSGFsZnRvbmVSZWdpb24iLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJJbnRlcm1lZGlhdGVHZW5lcmljUmVnaW9uIixudWxsLCJJbW1lZGlhdGVHZW5lcmljUmVnaW9uIiwiSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uIiwiSW50ZXJtZWRpYXRlR2VuZXJpY1JlZmluZW1lbnRSZWdpb24iLG51bGwsIkltbWVkaWF0ZUdlbmVyaWNSZWZpbmVtZW50UmVnaW9uIiwiSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVmaW5lbWVudFJlZ2lvbiIsbnVsbCxudWxsLG51bGwsbnVsbCwiUGFnZUluZm9ybWF0aW9uIiwiRW5kT2ZQYWdlIiwiRW5kT2ZTdHJpcGUiLCJFbmRPZkZpbGUiLCJQcm9maWxlcyIsIlRhYmxlcyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJFeHRlbnNpb24iXSxadD1bW3t4Oi0xLHk6LTJ9LHt4OjAseTotMn0se3g6MSx5Oi0yfSx7eDotMix5Oi0xfSx7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6Mix5Oi0xfSx7eDotNCx5OjB9LHt4Oi0zLHk6MH0se3g6LTIseTowfSx7eDotMSx5OjB9XSxbe3g6LTEseTotMn0se3g6MCx5Oi0yfSx7eDoxLHk6LTJ9LHt4OjIseTotMn0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4OjIseTotMX0se3g6LTMseTowfSx7eDotMix5OjB9LHt4Oi0xLHk6MH1dLFt7eDotMSx5Oi0yfSx7eDowLHk6LTJ9LHt4OjEseTotMn0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi0yLHk6MH0se3g6LTEseTowfV0sW3t4Oi0zLHk6LTF9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotNCx5OjB9LHt4Oi0zLHk6MH0se3g6LTIseTowfSx7eDotMSx5OjB9XV0sVnQ9W3tjb2Rpbmc6W3t4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMSx5OjB9XSxyZWZlcmVuY2U6W3t4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMSx5OjB9LHt4OjAseTowfSx7eDoxLHk6MH0se3g6LTEseToxfSx7eDowLHk6MX0se3g6MSx5OjF9XX0se2NvZGluZzpbe3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi0xLHk6MH1dLHJlZmVyZW5jZTpbe3g6MCx5Oi0xfSx7eDotMSx5OjB9LHt4OjAseTowfSx7eDoxLHk6MH0se3g6MCx5OjF9LHt4OjEseToxfV19XSx6dD1bMzk3MTcsMTk0MSwyMjksNDA1XSxfdD1bMzIsOF07ZnVuY3Rpb24gZGVjb2RlQml0bWFwKGUsdCxpLGEscyxyLG4sZyl7aWYoZSl7cmV0dXJuIGRlY29kZU1NUkJpdG1hcChuZXcgUmVhZGVyKGcuZGF0YSxnLnN0YXJ0LGcuZW5kKSx0LGksITEpfWlmKDA9PT1hJiYhciYmIXMmJjQ9PT1uLmxlbmd0aCYmMz09PW5bMF0ueCYmLTE9PT1uWzBdLnkmJi0zPT09blsxXS54JiYtMT09PW5bMV0ueSYmMj09PW5bMl0ueCYmLTI9PT1uWzJdLnkmJi0yPT09blszXS54JiYtMj09PW5bM10ueSlyZXR1cm4gZnVuY3Rpb24gZGVjb2RlQml0bWFwVGVtcGxhdGUwKGUsdCxpKXtjb25zdCBhPWkuZGVjb2RlcixzPWkuY29udGV4dENhY2hlLmdldENvbnRleHRzKCJHQiIpLHI9W107bGV0IG4sZyxvLGMsQyxoLGw7Zm9yKGc9MDtnPHQ7ZysrKXtDPXJbZ109bmV3IFVpbnQ4QXJyYXkoZSk7aD1nPDE/QzpyW2ctMV07bD1nPDI/QzpyW2ctMl07bj1sWzBdPDwxM3xsWzFdPDwxMnxsWzJdPDwxMXxoWzBdPDw3fGhbMV08PDZ8aFsyXTw8NXxoWzNdPDw0O2ZvcihvPTA7bzxlO28rKyl7Q1tvXT1jPWEucmVhZEJpdChzLG4pO249KDMxNzM1Jm4pPDwxfChvKzM8ZT9sW28rM108PDExOjApfChvKzQ8ZT9oW28rNF08PDQ6MCl8Y319cmV0dXJuIHJ9KHQsaSxnKTtjb25zdCBvPSEhcixjPVp0W2FdLmNvbmNhdChuKTtjLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUueS10Lnl8fGUueC10Lnh9KSk7Y29uc3QgQz1jLmxlbmd0aCxoPW5ldyBJbnQ4QXJyYXkoQyksbD1uZXcgSW50OEFycmF5KEMpLFE9W107bGV0IEUsdSxkPTAsZj0wLHA9MCxtPTA7Zm9yKHU9MDt1PEM7dSsrKXtoW3VdPWNbdV0ueDtsW3VdPWNbdV0ueTtmPU1hdGgubWluKGYsY1t1XS54KTtwPU1hdGgubWF4KHAsY1t1XS54KTttPU1hdGgubWluKG0sY1t1XS55KTt1PEMtMSYmY1t1XS55PT09Y1t1KzFdLnkmJmNbdV0ueD09PWNbdSsxXS54LTE/ZHw9MTw8Qy0xLXU6US5wdXNoKHUpfWNvbnN0IHk9US5sZW5ndGgsdz1uZXcgSW50OEFycmF5KHkpLEQ9bmV3IEludDhBcnJheSh5KSxiPW5ldyBVaW50MTZBcnJheSh5KTtmb3IoRT0wO0U8eTtFKyspe3U9UVtFXTt3W0VdPWNbdV0ueDtEW0VdPWNbdV0ueTtiW0VdPTE8PEMtMS11fWNvbnN0IEY9LWYsUz0tbSxrPXQtcCxSPXp0W2FdO2xldCBOPW5ldyBVaW50OEFycmF5KHQpO2NvbnN0IEc9W10seD1nLmRlY29kZXIsVT1nLmNvbnRleHRDYWNoZS5nZXRDb250ZXh0cygiR0IiKTtsZXQgTSxMLEgsSixZLHY9MCxLPTA7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7aWYocyl7dl49eC5yZWFkQml0KFUsUik7aWYodil7Ry5wdXNoKE4pO2NvbnRpbnVlfX1OPW5ldyBVaW50OEFycmF5KE4pO0cucHVzaChOKTtmb3IoTT0wO008dDtNKyspe2lmKG8mJnJbZV1bTV0pe05bTV09MDtjb250aW51ZX1pZihNPj1GJiZNPGsmJmU+PVMpe0s9Szw8MSZkO2Zvcih1PTA7dTx5O3UrKyl7TD1lK0RbdV07SD1NK3dbdV07Sj1HW0xdW0hdO2lmKEope0o9Ylt1XTtLfD1KfX19ZWxzZXtLPTA7WT1DLTE7Zm9yKHU9MDt1PEM7dSsrLFktLSl7SD1NK2hbdV07aWYoSD49MCYmSDx0KXtMPWUrbFt1XTtpZihMPj0wKXtKPUdbTF1bSF07SiYmKEt8PUo8PFkpfX19fWNvbnN0IGk9eC5yZWFkQml0KFUsSyk7TltNXT1pfX1yZXR1cm4gR31mdW5jdGlvbiBkZWNvZGVSZWZpbmVtZW50KGUsdCxpLGEscyxyLG4sZyxvKXtsZXQgYz1WdFtpXS5jb2Rpbmc7MD09PWkmJihjPWMuY29uY2F0KFtnWzBdXSkpO2NvbnN0IEM9Yy5sZW5ndGgsaD1uZXcgSW50MzJBcnJheShDKSxsPW5ldyBJbnQzMkFycmF5KEMpO2xldCBRO2ZvcihRPTA7UTxDO1ErKyl7aFtRXT1jW1FdLng7bFtRXT1jW1FdLnl9bGV0IEU9VnRbaV0ucmVmZXJlbmNlOzA9PT1pJiYoRT1FLmNvbmNhdChbZ1sxXV0pKTtjb25zdCB1PUUubGVuZ3RoLGQ9bmV3IEludDMyQXJyYXkodSksZj1uZXcgSW50MzJBcnJheSh1KTtmb3IoUT0wO1E8dTtRKyspe2RbUV09RVtRXS54O2ZbUV09RVtRXS55fWNvbnN0IHA9YVswXS5sZW5ndGgsbT1hLmxlbmd0aCx5PV90W2ldLHc9W10sRD1vLmRlY29kZXIsYj1vLmNvbnRleHRDYWNoZS5nZXRDb250ZXh0cygiR1IiKTtsZXQgRj0wO2ZvcihsZXQgaT0wO2k8dDtpKyspe2lmKG4pe0ZePUQucmVhZEJpdChiLHkpO2lmKEYpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInByZWRpY3Rpb24gaXMgbm90IHN1cHBvcnRlZCIpfWNvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkoZSk7dy5wdXNoKHQpO2ZvcihsZXQgbj0wO248ZTtuKyspe2xldCBnLG8sYz0wO2ZvcihRPTA7UTxDO1ErKyl7Zz1pK2xbUV07bz1uK2hbUV07ZzwwfHxvPDB8fG8+PWU/Yzw8PTE6Yz1jPDwxfHdbZ11bb119Zm9yKFE9MDtRPHU7USsrKXtnPWkrZltRXS1yO289bitkW1FdLXM7ZzwwfHxnPj1tfHxvPDB8fG8+PXA/Yzw8PTE6Yz1jPDwxfGFbZ11bb119Y29uc3QgRT1ELnJlYWRCaXQoYixjKTt0W25dPUV9fXJldHVybiB3fWZ1bmN0aW9uIGRlY29kZVRleHRSZWdpb24oZSx0LGksYSxzLHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkLGYscCl7aWYoZSYmdCl0aHJvdyBuZXcgSmJpZzJFcnJvcigicmVmaW5lbWVudCB3aXRoIEh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCIpO2NvbnN0IG09W107bGV0IHksdztmb3IoeT0wO3k8YTt5Kyspe3c9bmV3IFVpbnQ4QXJyYXkoaSk7aWYocylmb3IobGV0IGU9MDtlPGk7ZSsrKXdbZV09czttLnB1c2godyl9Y29uc3QgRD1kLmRlY29kZXIsYj1kLmNvbnRleHRDYWNoZTtsZXQgRj1lPy1RLnRhYmxlRGVsdGFULmRlY29kZShwKTotZGVjb2RlSW50ZWdlcihiLCJJQURUIixEKSxTPTA7eT0wO2Zvcig7eTxyOyl7Ris9ZT9RLnRhYmxlRGVsdGFULmRlY29kZShwKTpkZWNvZGVJbnRlZ2VyKGIsIklBRFQiLEQpO1MrPWU/US50YWJsZUZpcnN0Uy5kZWNvZGUocCk6ZGVjb2RlSW50ZWdlcihiLCJJQUZTIixEKTtsZXQgYT1TO2Zvcig7Oyl7bGV0IHM9MDtuPjEmJihzPWU/cC5yZWFkQml0cyhmKTpkZWNvZGVJbnRlZ2VyKGIsIklBSVQiLEQpKTtjb25zdCByPW4qRitzLFM9ZT9RLnN5bWJvbElEVGFibGUuZGVjb2RlKHApOmRlY29kZUlBSUQoYixELG8pLGs9dCYmKGU/cC5yZWFkQml0KCk6ZGVjb2RlSW50ZWdlcihiLCJJQVJJIixEKSk7bGV0IFI9Z1tTXSxOPVJbMF0ubGVuZ3RoLEc9Ui5sZW5ndGg7aWYoayl7Y29uc3QgZT1kZWNvZGVJbnRlZ2VyKGIsIklBUkRXIixEKSx0PWRlY29kZUludGVnZXIoYiwiSUFSREgiLEQpO04rPWU7Rys9dDtSPWRlY29kZVJlZmluZW1lbnQoTixHLEUsUiwoZT4+MSkrZGVjb2RlSW50ZWdlcihiLCJJQVJEWCIsRCksKHQ+PjEpK2RlY29kZUludGVnZXIoYiwiSUFSRFkiLEQpLCExLHUsZCl9bGV0IHg9MDtjPzEmaD94PUctMTphKz1HLTE6aD4xP2ErPU4tMTp4PU4tMTtjb25zdCBVPXItKDEmaD8wOkctMSksTT1hLSgyJmg/Ti0xOjApO2xldCBMLEgsSjtpZihjKWZvcihMPTA7TDxHO0wrKyl7dz1tW00rTF07aWYoIXcpY29udGludWU7Sj1SW0xdO2NvbnN0IGU9TWF0aC5taW4oaS1VLE4pO3N3aXRjaChsKXtjYXNlIDA6Zm9yKEg9MDtIPGU7SCsrKXdbVStIXXw9SltIXTticmVhaztjYXNlIDI6Zm9yKEg9MDtIPGU7SCsrKXdbVStIXV49SltIXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBvcGVyYXRvciAke2x9IGlzIG5vdCBzdXBwb3J0ZWRgKX19ZWxzZSBmb3IoSD0wO0g8RztIKyspe3c9bVtVK0hdO2lmKHcpe0o9UltIXTtzd2l0Y2gobCl7Y2FzZSAwOmZvcihMPTA7TDxOO0wrKyl3W00rTF18PUpbTF07YnJlYWs7Y2FzZSAyOmZvcihMPTA7TDxOO0wrKyl3W00rTF1ePUpbTF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtsfSBpcyBub3Qgc3VwcG9ydGVkYCl9fX15Kys7Y29uc3QgWT1lP1EudGFibGVEZWx0YVMuZGVjb2RlKHApOmRlY29kZUludGVnZXIoYiwiSUFEUyIsRCk7aWYobnVsbD09PVkpYnJlYWs7YSs9eCtZK0N9fXJldHVybiBtfWZ1bmN0aW9uIHJlYWRTZWdtZW50SGVhZGVyKGUsdCl7Y29uc3QgaT17fTtpLm51bWJlcj1yZWFkVWludDMyKGUsdCk7Y29uc3QgYT1lW3QrNF0scz02MyZhO2lmKCFYdFtzXSl0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBzZWdtZW50IHR5cGU6ICIrcyk7aS50eXBlPXM7aS50eXBlTmFtZT1YdFtzXTtpLmRlZmVycmVkTm9uUmV0YWluPSEhKDEyOCZhKTtjb25zdCByPSEhKDY0JmEpLG49ZVt0KzVdO2xldCBnPW4+PjUmNztjb25zdCBvPVszMSZuXTtsZXQgYz10KzY7aWYoNz09PW4pe2c9NTM2ODcwOTExJnJlYWRVaW50MzIoZSxjLTEpO2MrPTM7bGV0IHQ9Zys3Pj4zO29bMF09ZVtjKytdO2Zvcig7LS10PjA7KW8ucHVzaChlW2MrK10pfWVsc2UgaWYoNT09PW58fDY9PT1uKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHJlZmVycmVkLXRvIGZsYWdzIik7aS5yZXRhaW5CaXRzPW87bGV0IEM9NDtpLm51bWJlcjw9MjU2P0M9MTppLm51bWJlcjw9NjU1MzYmJihDPTIpO2NvbnN0IGg9W107bGV0IGwsUTtmb3IobD0wO2w8ZztsKyspe2xldCB0O3Q9MT09PUM/ZVtjXToyPT09Qz9yZWFkVWludDE2KGUsYyk6cmVhZFVpbnQzMihlLGMpO2gucHVzaCh0KTtjKz1DfWkucmVmZXJyZWRUbz1oO2lmKHIpe2kucGFnZUFzc29jaWF0aW9uPXJlYWRVaW50MzIoZSxjKTtjKz00fWVsc2UgaS5wYWdlQXNzb2NpYXRpb249ZVtjKytdO2kubGVuZ3RoPXJlYWRVaW50MzIoZSxjKTtjKz00O2lmKDQyOTQ5NjcyOTU9PT1pLmxlbmd0aCl7aWYoMzghPT1zKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHVua25vd24gc2VnbWVudCBsZW5ndGgiKTt7Y29uc3QgdD1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGUsYyksYT0hISgxJmVbYyskdF0pLHM9NixyPW5ldyBVaW50OEFycmF5KHMpO2lmKCFhKXtyWzBdPTI1NTtyWzFdPTE3Mn1yWzJdPXQuaGVpZ2h0Pj4+MjQmMjU1O3JbM109dC5oZWlnaHQ+PjE2JjI1NTtyWzRdPXQuaGVpZ2h0Pj44JjI1NTtyWzVdPTI1NSZ0LmhlaWdodDtmb3IobD1jLFE9ZS5sZW5ndGg7bDxRO2wrKyl7bGV0IHQ9MDtmb3IoO3Q8cyYmclt0XT09PWVbbCt0XTspdCsrO2lmKHQ9PT1zKXtpLmxlbmd0aD1sK3M7YnJlYWt9fWlmKDQyOTQ5NjcyOTU9PT1pLmxlbmd0aCl0aHJvdyBuZXcgSmJpZzJFcnJvcigic2VnbWVudCBlbmQgd2FzIG5vdCBmb3VuZCIpfX1pLmhlYWRlckVuZD1jO3JldHVybiBpfWZ1bmN0aW9uIHJlYWRTZWdtZW50cyhlLHQsaSxhKXtjb25zdCBzPVtdO2xldCByPWk7Zm9yKDtyPGE7KXtjb25zdCBpPXJlYWRTZWdtZW50SGVhZGVyKHQscik7cj1pLmhlYWRlckVuZDtjb25zdCBhPXtoZWFkZXI6aSxkYXRhOnR9O2lmKCFlLnJhbmRvbUFjY2Vzcyl7YS5zdGFydD1yO3IrPWkubGVuZ3RoO2EuZW5kPXJ9cy5wdXNoKGEpO2lmKDUxPT09aS50eXBlKWJyZWFrfWlmKGUucmFuZG9tQWNjZXNzKWZvcihsZXQgZT0wLHQ9cy5sZW5ndGg7ZTx0O2UrKyl7c1tlXS5zdGFydD1yO3IrPXNbZV0uaGVhZGVyLmxlbmd0aDtzW2VdLmVuZD1yfXJldHVybiBzfWZ1bmN0aW9uIHJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oZSx0KXtyZXR1cm57d2lkdGg6cmVhZFVpbnQzMihlLHQpLGhlaWdodDpyZWFkVWludDMyKGUsdCs0KSx4OnJlYWRVaW50MzIoZSx0KzgpLHk6cmVhZFVpbnQzMihlLHQrMTIpLGNvbWJpbmF0aW9uT3BlcmF0b3I6NyZlW3QrMTZdfX1jb25zdCAkdD0xNztmdW5jdGlvbiBwcm9jZXNzU2VnbWVudChlLHQpe2NvbnN0IGk9ZS5oZWFkZXIsYT1lLmRhdGEscz1lLmVuZDtsZXQgcixuLGcsbyxjPWUuc3RhcnQ7c3dpdGNoKGkudHlwZSl7Y2FzZSAwOmNvbnN0IGU9e30sdD1yZWFkVWludDE2KGEsYyk7ZS5odWZmbWFuPSEhKDEmdCk7ZS5yZWZpbmVtZW50PSEhKDImdCk7ZS5odWZmbWFuREhTZWxlY3Rvcj10Pj4yJjM7ZS5odWZmbWFuRFdTZWxlY3Rvcj10Pj40JjM7ZS5iaXRtYXBTaXplU2VsZWN0b3I9dD4+NiYxO2UuYWdncmVnYXRpb25JbnN0YW5jZXNTZWxlY3Rvcj10Pj43JjE7ZS5iaXRtYXBDb2RpbmdDb250ZXh0VXNlZD0hISgyNTYmdCk7ZS5iaXRtYXBDb2RpbmdDb250ZXh0UmV0YWluZWQ9ISEoNTEyJnQpO2UudGVtcGxhdGU9dD4+MTAmMztlLnJlZmluZW1lbnRUZW1wbGF0ZT10Pj4xMiYxO2MrPTI7aWYoIWUuaHVmZm1hbil7bz0wPT09ZS50ZW1wbGF0ZT80OjE7bj1bXTtmb3IoZz0wO2c8bztnKyspe24ucHVzaCh7eDpyZWFkSW50OChhLGMpLHk6cmVhZEludDgoYSxjKzEpfSk7Yys9Mn1lLmF0PW59aWYoZS5yZWZpbmVtZW50JiYhZS5yZWZpbmVtZW50VGVtcGxhdGUpe249W107Zm9yKGc9MDtnPDI7ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9ZS5yZWZpbmVtZW50QXQ9bn1lLm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzPXJlYWRVaW50MzIoYSxjKTtjKz00O2UubnVtYmVyT2ZOZXdTeW1ib2xzPXJlYWRVaW50MzIoYSxjKTtjKz00O3I9W2UsaS5udW1iZXIsaS5yZWZlcnJlZFRvLGEsYyxzXTticmVhaztjYXNlIDY6Y2FzZSA3OmNvbnN0IEM9e307Qy5pbmZvPXJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oYSxjKTtjKz0kdDtjb25zdCBoPXJlYWRVaW50MTYoYSxjKTtjKz0yO0MuaHVmZm1hbj0hISgxJmgpO0MucmVmaW5lbWVudD0hISgyJmgpO0MubG9nU3RyaXBTaXplPWg+PjImMztDLnN0cmlwU2l6ZT0xPDxDLmxvZ1N0cmlwU2l6ZTtDLnJlZmVyZW5jZUNvcm5lcj1oPj40JjM7Qy50cmFuc3Bvc2VkPSEhKDY0JmgpO0MuY29tYmluYXRpb25PcGVyYXRvcj1oPj43JjM7Qy5kZWZhdWx0UGl4ZWxWYWx1ZT1oPj45JjE7Qy5kc09mZnNldD1oPDwxNz4+Mjc7Qy5yZWZpbmVtZW50VGVtcGxhdGU9aD4+MTUmMTtpZihDLmh1ZmZtYW4pe2NvbnN0IGU9cmVhZFVpbnQxNihhLGMpO2MrPTI7Qy5odWZmbWFuRlM9MyZlO0MuaHVmZm1hbkRTPWU+PjImMztDLmh1ZmZtYW5EVD1lPj40JjM7Qy5odWZmbWFuUmVmaW5lbWVudERXPWU+PjYmMztDLmh1ZmZtYW5SZWZpbmVtZW50REg9ZT4+OCYzO0MuaHVmZm1hblJlZmluZW1lbnREWD1lPj4xMCYzO0MuaHVmZm1hblJlZmluZW1lbnREWT1lPj4xMiYzO0MuaHVmZm1hblJlZmluZW1lbnRTaXplU2VsZWN0b3I9ISEoMTYzODQmZSl9aWYoQy5yZWZpbmVtZW50JiYhQy5yZWZpbmVtZW50VGVtcGxhdGUpe249W107Zm9yKGc9MDtnPDI7ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9Qy5yZWZpbmVtZW50QXQ9bn1DLm51bWJlck9mU3ltYm9sSW5zdGFuY2VzPXJlYWRVaW50MzIoYSxjKTtjKz00O3I9W0MsaS5yZWZlcnJlZFRvLGEsYyxzXTticmVhaztjYXNlIDE2OmNvbnN0IGw9e30sUT1hW2MrK107bC5tbXI9ISEoMSZRKTtsLnRlbXBsYXRlPVE+PjEmMztsLnBhdHRlcm5XaWR0aD1hW2MrK107bC5wYXR0ZXJuSGVpZ2h0PWFbYysrXTtsLm1heFBhdHRlcm5JbmRleD1yZWFkVWludDMyKGEsYyk7Yys9NDtyPVtsLGkubnVtYmVyLGEsYyxzXTticmVhaztjYXNlIDIyOmNhc2UgMjM6Y29uc3QgRT17fTtFLmluZm89cmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihhLGMpO2MrPSR0O2NvbnN0IHU9YVtjKytdO0UubW1yPSEhKDEmdSk7RS50ZW1wbGF0ZT11Pj4xJjM7RS5lbmFibGVTa2lwPSEhKDgmdSk7RS5jb21iaW5hdGlvbk9wZXJhdG9yPXU+PjQmNztFLmRlZmF1bHRQaXhlbFZhbHVlPXU+PjcmMTtFLmdyaWRXaWR0aD1yZWFkVWludDMyKGEsYyk7Yys9NDtFLmdyaWRIZWlnaHQ9cmVhZFVpbnQzMihhLGMpO2MrPTQ7RS5ncmlkT2Zmc2V0WD00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoYSxjKTtjKz00O0UuZ3JpZE9mZnNldFk9NDI5NDk2NzI5NSZyZWFkVWludDMyKGEsYyk7Yys9NDtFLmdyaWRWZWN0b3JYPXJlYWRVaW50MTYoYSxjKTtjKz0yO0UuZ3JpZFZlY3Rvclk9cmVhZFVpbnQxNihhLGMpO2MrPTI7cj1bRSxpLnJlZmVycmVkVG8sYSxjLHNdO2JyZWFrO2Nhc2UgMzg6Y2FzZSAzOTpjb25zdCBkPXt9O2QuaW5mbz1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGEsYyk7Yys9JHQ7Y29uc3QgZj1hW2MrK107ZC5tbXI9ISEoMSZmKTtkLnRlbXBsYXRlPWY+PjEmMztkLnByZWRpY3Rpb249ISEoOCZmKTtpZighZC5tbXIpe289MD09PWQudGVtcGxhdGU/NDoxO249W107Zm9yKGc9MDtnPG87ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9ZC5hdD1ufXI9W2QsYSxjLHNdO2JyZWFrO2Nhc2UgNDg6Y29uc3QgcD17d2lkdGg6cmVhZFVpbnQzMihhLGMpLGhlaWdodDpyZWFkVWludDMyKGEsYys0KSxyZXNvbHV0aW9uWDpyZWFkVWludDMyKGEsYys4KSxyZXNvbHV0aW9uWTpyZWFkVWludDMyKGEsYysxMil9OzQyOTQ5NjcyOTU9PT1wLmhlaWdodCYmZGVsZXRlIHAuaGVpZ2h0O2NvbnN0IG09YVtjKzE2XTtyZWFkVWludDE2KGEsYysxNyk7cC5sb3NzbGVzcz0hISgxJm0pO3AucmVmaW5lbWVudD0hISgyJm0pO3AuZGVmYXVsdFBpeGVsVmFsdWU9bT4+MiYxO3AuY29tYmluYXRpb25PcGVyYXRvcj1tPj4zJjM7cC5yZXF1aXJlc0J1ZmZlcj0hISgzMiZtKTtwLmNvbWJpbmF0aW9uT3BlcmF0b3JPdmVycmlkZT0hISg2NCZtKTtyPVtwXTticmVhaztjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDYyOmJyZWFrO2Nhc2UgNTM6cj1baS5udW1iZXIsYSxjLHNdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYHNlZ21lbnQgdHlwZSAke2kudHlwZU5hbWV9KCR7aS50eXBlfSkgaXMgbm90IGltcGxlbWVudGVkYCl9Y29uc3QgQz0ib24iK2kudHlwZU5hbWU7QyBpbiB0JiZ0W0NdLmFwcGx5KHQscil9ZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnRzKGUsdCl7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXByb2Nlc3NTZWdtZW50KGVbaV0sdCl9Y2xhc3MgU2ltcGxlU2VnbWVudFZpc2l0b3J7b25QYWdlSW5mb3JtYXRpb24oZSl7dGhpcy5jdXJyZW50UGFnZUluZm89ZTtjb25zdCB0PWUud2lkdGgrNz4+MyxpPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KmUuaGVpZ2h0KTtlLmRlZmF1bHRQaXhlbFZhbHVlJiZpLmZpbGwoMjU1KTt0aGlzLmJ1ZmZlcj1pfWRyYXdCaXRtYXAoZSx0KXtjb25zdCBpPXRoaXMuY3VycmVudFBhZ2VJbmZvLGE9ZS53aWR0aCxzPWUuaGVpZ2h0LHI9aS53aWR0aCs3Pj4zLG49aS5jb21iaW5hdGlvbk9wZXJhdG9yT3ZlcnJpZGU/ZS5jb21iaW5hdGlvbk9wZXJhdG9yOmkuY29tYmluYXRpb25PcGVyYXRvcixnPXRoaXMuYnVmZmVyLG89MTI4Pj4oNyZlLngpO2xldCBjLEMsaCxsLFE9ZS55KnIrKGUueD4+Myk7c3dpdGNoKG4pe2Nhc2UgMDpmb3IoYz0wO2M8cztjKyspe2g9bztsPVE7Zm9yKEM9MDtDPGE7QysrKXt0W2NdW0NdJiYoZ1tsXXw9aCk7aD4+PTE7aWYoIWgpe2g9MTI4O2wrK319USs9cn1icmVhaztjYXNlIDI6Zm9yKGM9MDtjPHM7YysrKXtoPW87bD1RO2ZvcihDPTA7QzxhO0MrKyl7dFtjXVtDXSYmKGdbbF1ePWgpO2g+Pj0xO2lmKCFoKXtoPTEyODtsKyt9fVErPXJ9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtufSBpcyBub3Qgc3VwcG9ydGVkYCl9fW9uSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbihlLHQsaSxhKXtjb25zdCBzPWUuaW5mbyxyPW5ldyBEZWNvZGluZ0NvbnRleHQodCxpLGEpLG49ZGVjb2RlQml0bWFwKGUubW1yLHMud2lkdGgscy5oZWlnaHQsZS50ZW1wbGF0ZSxlLnByZWRpY3Rpb24sbnVsbCxlLmF0LHIpO3RoaXMuZHJhd0JpdG1hcChzLG4pfW9uSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uKCl7dGhpcy5vbkltbWVkaWF0ZUdlbmVyaWNSZWdpb24oLi4uYXJndW1lbnRzKX1vblN5bWJvbERpY3Rpb25hcnkoZSx0LGksYSxzLHIpe2xldCBuLGc7aWYoZS5odWZmbWFuKXtuPWZ1bmN0aW9uIGdldFN5bWJvbERpY3Rpb25hcnlIdWZmbWFuVGFibGVzKGUsdCxpKXtsZXQgYSxzLHIsbixnPTA7c3dpdGNoKGUuaHVmZm1hbkRIU2VsZWN0b3Ipe2Nhc2UgMDpjYXNlIDE6YT1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRIU2VsZWN0b3IrNCk7YnJlYWs7Y2FzZSAzOmE9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTtnKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERIIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRXU2VsZWN0b3Ipe2Nhc2UgMDpjYXNlIDE6cz1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRXU2VsZWN0b3IrMik7YnJlYWs7Y2FzZSAzOnM9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTtnKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERXIHNlbGVjdG9yIil9aWYoZS5iaXRtYXBTaXplU2VsZWN0b3Ipe3I9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTtnKyt9ZWxzZSByPWdldFN0YW5kYXJkVGFibGUoMSk7bj1lLmFnZ3JlZ2F0aW9uSW5zdGFuY2VzU2VsZWN0b3I/Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTpnZXRTdGFuZGFyZFRhYmxlKDEpO3JldHVybnt0YWJsZURlbHRhSGVpZ2h0OmEsdGFibGVEZWx0YVdpZHRoOnMsdGFibGVCaXRtYXBTaXplOnIsdGFibGVBZ2dyZWdhdGVJbnN0YW5jZXM6bn19KGUsaSx0aGlzLmN1c3RvbVRhYmxlcyk7Zz1uZXcgUmVhZGVyKGEscyxyKX1sZXQgbz10aGlzLnN5bWJvbHM7b3x8KHRoaXMuc3ltYm9scz1vPXt9KTtjb25zdCBjPVtdO2Zvcihjb25zdCBlIG9mIGkpe2NvbnN0IHQ9b1tlXTt0JiZjLnB1c2goLi4udCl9Y29uc3QgQz1uZXcgRGVjb2RpbmdDb250ZXh0KGEscyxyKTtvW3RdPWZ1bmN0aW9uIGRlY29kZVN5bWJvbERpY3Rpb25hcnkoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2lmKGUmJnQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInN5bWJvbCByZWZpbmVtZW50IHdpdGggSHVmZm1hbiBpcyBub3Qgc3VwcG9ydGVkIik7Y29uc3QgbD1bXTtsZXQgUT0wLEU9bG9nMihpLmxlbmd0aCthKTtjb25zdCB1PUMuZGVjb2RlcixkPUMuY29udGV4dENhY2hlO2xldCBmLHA7aWYoZSl7Zj1nZXRTdGFuZGFyZFRhYmxlKDEpO3A9W107RT1NYXRoLm1heChFLDEpfWZvcig7bC5sZW5ndGg8YTspe1ErPWU/ci50YWJsZURlbHRhSGVpZ2h0LmRlY29kZShoKTpkZWNvZGVJbnRlZ2VyKGQsIklBREgiLHUpO2xldCBhPTAscz0wO2NvbnN0IGY9ZT9wLmxlbmd0aDowO2Zvcig7Oyl7Y29uc3QgZj1lP3IudGFibGVEZWx0YVdpZHRoLmRlY29kZShoKTpkZWNvZGVJbnRlZ2VyKGQsIklBRFciLHUpO2lmKG51bGw9PT1mKWJyZWFrO2ErPWY7cys9YTtsZXQgbTtpZih0KXtjb25zdCBzPWRlY29kZUludGVnZXIoZCwiSUFBSSIsdSk7aWYocz4xKW09ZGVjb2RlVGV4dFJlZ2lvbihlLHQsYSxRLDAscywxLGkuY29uY2F0KGwpLEUsMCwwLDEsMCxyLG8sYyxDLDAsaCk7ZWxzZXtjb25zdCBlPWRlY29kZUlBSUQoZCx1LEUpLHQ9ZGVjb2RlSW50ZWdlcihkLCJJQVJEWCIsdSkscz1kZWNvZGVJbnRlZ2VyKGQsIklBUkRZIix1KTttPWRlY29kZVJlZmluZW1lbnQoYSxRLG8sZTxpLmxlbmd0aD9pW2VdOmxbZS1pLmxlbmd0aF0sdCxzLCExLGMsQyl9bC5wdXNoKG0pfWVsc2UgaWYoZSlwLnB1c2goYSk7ZWxzZXttPWRlY29kZUJpdG1hcCghMSxhLFEsbiwhMSxudWxsLGcsQyk7bC5wdXNoKG0pfX1pZihlJiYhdCl7Y29uc3QgZT1yLnRhYmxlQml0bWFwU2l6ZS5kZWNvZGUoaCk7aC5ieXRlQWxpZ24oKTtsZXQgdDtpZigwPT09ZSl0PXJlYWRVbmNvbXByZXNzZWRCaXRtYXAoaCxzLFEpO2Vsc2V7Y29uc3QgaT1oLmVuZCxhPWgucG9zaXRpb24rZTtoLmVuZD1hO3Q9ZGVjb2RlTU1SQml0bWFwKGgscyxRLCExKTtoLmVuZD1pO2gucG9zaXRpb249YX1jb25zdCBpPXAubGVuZ3RoO2lmKGY9PT1pLTEpbC5wdXNoKHQpO2Vsc2V7bGV0IGUsYSxzLHIsbixnPTA7Zm9yKGU9ZjtlPGk7ZSsrKXtyPXBbZV07cz1nK3I7bj1bXTtmb3IoYT0wO2E8UTthKyspbi5wdXNoKHRbYV0uc3ViYXJyYXkoZyxzKSk7bC5wdXNoKG4pO2c9c319fX1jb25zdCBtPVtdLHk9W107bGV0IHcsRCxiPSExO2NvbnN0IEY9aS5sZW5ndGgrYTtmb3IoO3kubGVuZ3RoPEY7KXtsZXQgdD1lP2YuZGVjb2RlKGgpOmRlY29kZUludGVnZXIoZCwiSUFFWCIsdSk7Zm9yKDt0LS07KXkucHVzaChiKTtiPSFifWZvcih3PTAsRD1pLmxlbmd0aDt3PEQ7dysrKXlbd10mJm0ucHVzaChpW3ddKTtmb3IobGV0IGU9MDtlPGE7dysrLGUrKyl5W3ddJiZtLnB1c2gobFtlXSk7cmV0dXJuIG19KGUuaHVmZm1hbixlLnJlZmluZW1lbnQsYyxlLm51bWJlck9mTmV3U3ltYm9scyxlLm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLG4sZS50ZW1wbGF0ZSxlLmF0LGUucmVmaW5lbWVudFRlbXBsYXRlLGUucmVmaW5lbWVudEF0LEMsZyl9b25JbW1lZGlhdGVUZXh0UmVnaW9uKGUsdCxpLGEscyl7Y29uc3Qgcj1lLmluZm87bGV0IG4sZztjb25zdCBvPXRoaXMuc3ltYm9scyxjPVtdO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9b1tlXTt0JiZjLnB1c2goLi4udCl9Y29uc3QgQz1sb2cyKGMubGVuZ3RoKTtpZihlLmh1ZmZtYW4pe2c9bmV3IFJlYWRlcihpLGEscyk7bj1mdW5jdGlvbiBnZXRUZXh0UmVnaW9uSHVmZm1hblRhYmxlcyhlLHQsaSxhLHMpe2NvbnN0IHI9W107Zm9yKGxldCBlPTA7ZTw9MzQ7ZSsrKXtjb25zdCB0PXMucmVhZEJpdHMoNCk7ci5wdXNoKG5ldyBIdWZmbWFuTGluZShbZSx0LDAsMF0pKX1jb25zdCBuPW5ldyBIdWZmbWFuVGFibGUociwhMSk7ci5sZW5ndGg9MDtmb3IobGV0IGU9MDtlPGE7KXtjb25zdCB0PW4uZGVjb2RlKHMpO2lmKHQ+PTMyKXtsZXQgaSxhLG47c3dpdGNoKHQpe2Nhc2UgMzI6aWYoMD09PWUpdGhyb3cgbmV3IEpiaWcyRXJyb3IoIm5vIHByZXZpb3VzIHZhbHVlIGluIHN5bWJvbCBJRCB0YWJsZSIpO2E9cy5yZWFkQml0cygyKSszO2k9cltlLTFdLnByZWZpeExlbmd0aDticmVhaztjYXNlIDMzOmE9cy5yZWFkQml0cygzKSszO2k9MDticmVhaztjYXNlIDM0OmE9cy5yZWFkQml0cyg3KSsxMTtpPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBjb2RlIGxlbmd0aCBpbiBzeW1ib2wgSUQgdGFibGUiKX1mb3Iobj0wO248YTtuKyspe3IucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsaSwwLDBdKSk7ZSsrfX1lbHNle3IucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsdCwwLDBdKSk7ZSsrfX1zLmJ5dGVBbGlnbigpO2NvbnN0IGc9bmV3IEh1ZmZtYW5UYWJsZShyLCExKTtsZXQgbyxjLEMsaD0wO3N3aXRjaChlLmh1ZmZtYW5GUyl7Y2FzZSAwOmNhc2UgMTpvPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRlMrNik7YnJlYWs7Y2FzZSAzOm89Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGgsdCxpKTtoKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIEZTIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRTKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMjpjPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFMrOCk7YnJlYWs7Y2FzZSAzOmM9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGgsdCxpKTtoKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERTIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRUKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMjpDPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFQrMTEpO2JyZWFrO2Nhc2UgMzpDPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShoLHQsaSk7aCsrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBEVCBzZWxlY3RvciIpfWlmKGUucmVmaW5lbWVudCl0aHJvdyBuZXcgSmJpZzJFcnJvcigicmVmaW5lbWVudCB3aXRoIEh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCIpO3JldHVybntzeW1ib2xJRFRhYmxlOmcsdGFibGVGaXJzdFM6byx0YWJsZURlbHRhUzpjLHRhYmxlRGVsdGFUOkN9fShlLHQsdGhpcy5jdXN0b21UYWJsZXMsYy5sZW5ndGgsZyl9Y29uc3QgaD1uZXcgRGVjb2RpbmdDb250ZXh0KGksYSxzKSxsPWRlY29kZVRleHRSZWdpb24oZS5odWZmbWFuLGUucmVmaW5lbWVudCxyLndpZHRoLHIuaGVpZ2h0LGUuZGVmYXVsdFBpeGVsVmFsdWUsZS5udW1iZXJPZlN5bWJvbEluc3RhbmNlcyxlLnN0cmlwU2l6ZSxjLEMsZS50cmFuc3Bvc2VkLGUuZHNPZmZzZXQsZS5yZWZlcmVuY2VDb3JuZXIsZS5jb21iaW5hdGlvbk9wZXJhdG9yLG4sZS5yZWZpbmVtZW50VGVtcGxhdGUsZS5yZWZpbmVtZW50QXQsaCxlLmxvZ1N0cmlwU2l6ZSxnKTt0aGlzLmRyYXdCaXRtYXAocixsKX1vbkltbWVkaWF0ZUxvc3NsZXNzVGV4dFJlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVUZXh0UmVnaW9uKC4uLmFyZ3VtZW50cyl9b25QYXR0ZXJuRGljdGlvbmFyeShlLHQsaSxhLHMpe2xldCByPXRoaXMucGF0dGVybnM7cnx8KHRoaXMucGF0dGVybnM9cj17fSk7Y29uc3Qgbj1uZXcgRGVjb2RpbmdDb250ZXh0KGksYSxzKTtyW3RdPWZ1bmN0aW9uIGRlY29kZVBhdHRlcm5EaWN0aW9uYXJ5KGUsdCxpLGEscyxyKXtjb25zdCBuPVtdO2lmKCFlKXtuLnB1c2goe3g6LXQseTowfSk7MD09PXMmJm4ucHVzaCh7eDotMyx5Oi0xfSx7eDoyLHk6LTJ9LHt4Oi0yLHk6LTJ9KX1jb25zdCBnPWRlY29kZUJpdG1hcChlLChhKzEpKnQsaSxzLCExLG51bGwsbixyKSxvPVtdO2ZvcihsZXQgZT0wO2U8PWE7ZSsrKXtjb25zdCBhPVtdLHM9dCplLHI9cyt0O2ZvcihsZXQgZT0wO2U8aTtlKyspYS5wdXNoKGdbZV0uc3ViYXJyYXkocyxyKSk7by5wdXNoKGEpfXJldHVybiBvfShlLm1tcixlLnBhdHRlcm5XaWR0aCxlLnBhdHRlcm5IZWlnaHQsZS5tYXhQYXR0ZXJuSW5kZXgsZS50ZW1wbGF0ZSxuKX1vbkltbWVkaWF0ZUhhbGZ0b25lUmVnaW9uKGUsdCxpLGEscyl7Y29uc3Qgcj10aGlzLnBhdHRlcm5zW3RbMF1dLG49ZS5pbmZvLGc9bmV3IERlY29kaW5nQ29udGV4dChpLGEscyksbz1mdW5jdGlvbiBkZWNvZGVIYWxmdG9uZVJlZ2lvbihlLHQsaSxhLHMscixuLGcsbyxjLEMsaCxsLFEsRSl7aWYobil0aHJvdyBuZXcgSmJpZzJFcnJvcigic2tpcCBpcyBub3Qgc3VwcG9ydGVkIik7aWYoMCE9PWcpdGhyb3cgbmV3IEpiaWcyRXJyb3IoYG9wZXJhdG9yICIke2d9IiBpcyBub3Qgc3VwcG9ydGVkIGluIGhhbGZ0b25lIHJlZ2lvbmApO2NvbnN0IHU9W107bGV0IGQsZixwO2ZvcihkPTA7ZDxzO2QrKyl7cD1uZXcgVWludDhBcnJheShhKTtpZihyKWZvcihmPTA7ZjxhO2YrKylwW2ZdPXI7dS5wdXNoKHApfWNvbnN0IG09dC5sZW5ndGgseT10WzBdLHc9eVswXS5sZW5ndGgsRD15Lmxlbmd0aCxiPWxvZzIobSksRj1bXTtpZighZSl7Ri5wdXNoKHt4Omk8PTE/MzoyLHk6LTF9KTswPT09aSYmRi5wdXNoKHt4Oi0zLHk6LTF9LHt4OjIseTotMn0se3g6LTIseTotMn0pfWNvbnN0IFM9W107bGV0IGssUixOLEcseCxVLE0sTCxILEosWTtlJiYoaz1uZXcgUmVhZGVyKEUuZGF0YSxFLnN0YXJ0LEUuZW5kKSk7Zm9yKGQ9Yi0xO2Q+PTA7ZC0tKXtSPWU/ZGVjb2RlTU1SQml0bWFwKGssbyxjLCEwKTpkZWNvZGVCaXRtYXAoITEsbyxjLGksITEsbnVsbCxGLEUpO1NbZF09Un1mb3IoTj0wO048YztOKyspZm9yKEc9MDtHPG87RysrKXt4PTA7VT0wO2ZvcihmPWItMTtmPj0wO2YtLSl7eF49U1tmXVtOXVtHXTtVfD14PDxmfU09dFtVXTtMPUMrTipRK0cqbD4+ODtIPWgrTipsLUcqUT4+ODtpZihMPj0wJiZMK3c8PWEmJkg+PTAmJkgrRDw9cylmb3IoZD0wO2Q8RDtkKyspe1k9dVtIK2RdO0o9TVtkXTtmb3IoZj0wO2Y8dztmKyspWVtMK2ZdfD1KW2ZdfWVsc2V7bGV0IGUsdDtmb3IoZD0wO2Q8RDtkKyspe3Q9SCtkO2lmKCEodDwwfHx0Pj1zKSl7WT11W3RdO0o9TVtkXTtmb3IoZj0wO2Y8dztmKyspe2U9TCtmO2U+PTAmJmU8YSYmKFlbZV18PUpbZl0pfX19fX1yZXR1cm4gdX0oZS5tbXIscixlLnRlbXBsYXRlLG4ud2lkdGgsbi5oZWlnaHQsZS5kZWZhdWx0UGl4ZWxWYWx1ZSxlLmVuYWJsZVNraXAsZS5jb21iaW5hdGlvbk9wZXJhdG9yLGUuZ3JpZFdpZHRoLGUuZ3JpZEhlaWdodCxlLmdyaWRPZmZzZXRYLGUuZ3JpZE9mZnNldFksZS5ncmlkVmVjdG9yWCxlLmdyaWRWZWN0b3JZLGcpO3RoaXMuZHJhd0JpdG1hcChuLG8pfW9uSW1tZWRpYXRlTG9zc2xlc3NIYWxmdG9uZVJlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbiguLi5hcmd1bWVudHMpfW9uVGFibGVzKGUsdCxpLGEpe2xldCBzPXRoaXMuY3VzdG9tVGFibGVzO3N8fCh0aGlzLmN1c3RvbVRhYmxlcz1zPXt9KTtzW2VdPWZ1bmN0aW9uIGRlY29kZVRhYmxlc1NlZ21lbnQoZSx0LGkpe2NvbnN0IGE9ZVt0XSxzPTQyOTQ5NjcyOTUmcmVhZFVpbnQzMihlLHQrMSkscj00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoZSx0KzUpLG49bmV3IFJlYWRlcihlLHQrOSxpKSxnPTErKGE+PjEmNyksbz0xKyhhPj40JjcpLGM9W107bGV0IEMsaCxsPXM7ZG97Qz1uLnJlYWRCaXRzKGcpO2g9bi5yZWFkQml0cyhvKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtsLEMsaCwwXSkpO2wrPTE8PGh9d2hpbGUobDxyKTtDPW4ucmVhZEJpdHMoZyk7Yy5wdXNoKG5ldyBIdWZmbWFuTGluZShbcy0xLEMsMzIsMCwibG93ZXIiXSkpO0M9bi5yZWFkQml0cyhnKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtyLEMsMzIsMF0pKTtpZigxJmEpe0M9bi5yZWFkQml0cyhnKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtDLDBdKSl9cmV0dXJuIG5ldyBIdWZmbWFuVGFibGUoYywhMSl9KHQsaSxhKX19Y2xhc3MgSHVmZm1hbkxpbmV7Y29uc3RydWN0b3IoZSl7aWYoMj09PWUubGVuZ3RoKXt0aGlzLmlzT09CPSEwO3RoaXMucmFuZ2VMb3c9MDt0aGlzLnByZWZpeExlbmd0aD1lWzBdO3RoaXMucmFuZ2VMZW5ndGg9MDt0aGlzLnByZWZpeENvZGU9ZVsxXTt0aGlzLmlzTG93ZXJSYW5nZT0hMX1lbHNle3RoaXMuaXNPT0I9ITE7dGhpcy5yYW5nZUxvdz1lWzBdO3RoaXMucHJlZml4TGVuZ3RoPWVbMV07dGhpcy5yYW5nZUxlbmd0aD1lWzJdO3RoaXMucHJlZml4Q29kZT1lWzNdO3RoaXMuaXNMb3dlclJhbmdlPSJsb3dlciI9PT1lWzRdfX19Y2xhc3MgSHVmZm1hblRyZWVOb2Rle2NvbnN0cnVjdG9yKGUpe3RoaXMuY2hpbGRyZW49W107aWYoZSl7dGhpcy5pc0xlYWY9ITA7dGhpcy5yYW5nZUxlbmd0aD1lLnJhbmdlTGVuZ3RoO3RoaXMucmFuZ2VMb3c9ZS5yYW5nZUxvdzt0aGlzLmlzTG93ZXJSYW5nZT1lLmlzTG93ZXJSYW5nZTt0aGlzLmlzT09CPWUuaXNPT0J9ZWxzZSB0aGlzLmlzTGVhZj0hMX1idWlsZFRyZWUoZSx0KXtjb25zdCBpPWUucHJlZml4Q29kZT4+dCYxO2lmKHQ8PTApdGhpcy5jaGlsZHJlbltpXT1uZXcgSHVmZm1hblRyZWVOb2RlKGUpO2Vsc2V7bGV0IGE9dGhpcy5jaGlsZHJlbltpXTthfHwodGhpcy5jaGlsZHJlbltpXT1hPW5ldyBIdWZmbWFuVHJlZU5vZGUobnVsbCkpO2EuYnVpbGRUcmVlKGUsdC0xKX19ZGVjb2RlTm9kZShlKXtpZih0aGlzLmlzTGVhZil7aWYodGhpcy5pc09PQilyZXR1cm4gbnVsbDtjb25zdCB0PWUucmVhZEJpdHModGhpcy5yYW5nZUxlbmd0aCk7cmV0dXJuIHRoaXMucmFuZ2VMb3crKHRoaXMuaXNMb3dlclJhbmdlPy10OnQpfWNvbnN0IHQ9dGhpcy5jaGlsZHJlbltlLnJlYWRCaXQoKV07aWYoIXQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBkYXRhIik7cmV0dXJuIHQuZGVjb2RlTm9kZShlKX19Y2xhc3MgSHVmZm1hblRhYmxle2NvbnN0cnVjdG9yKGUsdCl7dHx8dGhpcy5hc3NpZ25QcmVmaXhDb2RlcyhlKTt0aGlzLnJvb3ROb2RlPW5ldyBIdWZmbWFuVHJlZU5vZGUobnVsbCk7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtjb25zdCBpPWVbdF07aS5wcmVmaXhMZW5ndGg+MCYmdGhpcy5yb290Tm9kZS5idWlsZFRyZWUoaSxpLnByZWZpeExlbmd0aC0xKX19ZGVjb2RlKGUpe3JldHVybiB0aGlzLnJvb3ROb2RlLmRlY29kZU5vZGUoZSl9YXNzaWduUHJlZml4Q29kZXMoZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8dDthKyspaT1NYXRoLm1heChpLGVbYV0ucHJlZml4TGVuZ3RoKTtjb25zdCBhPW5ldyBVaW50MzJBcnJheShpKzEpO2ZvcihsZXQgaT0wO2k8dDtpKyspYVtlW2ldLnByZWZpeExlbmd0aF0rKztsZXQgcyxyLG4sZz0xLG89MDthWzBdPTA7Zm9yKDtnPD1pOyl7bz1vK2FbZy0xXTw8MTtzPW87cj0wO2Zvcig7cjx0Oyl7bj1lW3JdO2lmKG4ucHJlZml4TGVuZ3RoPT09Zyl7bi5wcmVmaXhDb2RlPXM7cysrfXIrK31nKyt9fX1jb25zdCBBaT17fTtmdW5jdGlvbiBnZXRTdGFuZGFyZFRhYmxlKGUpe2xldCB0LGk9QWlbZV07aWYoaSlyZXR1cm4gaTtzd2l0Y2goZSl7Y2FzZSAxOnQ9W1swLDEsNCwwXSxbMTYsMiw4LDJdLFsyNzIsMywxNiw2XSxbNjU4MDgsMywzMiw3XV07YnJlYWs7Y2FzZSAyOnQ9W1swLDEsMCwwXSxbMSwyLDAsMl0sWzIsMywwLDZdLFszLDQsMywxNF0sWzExLDUsNiwzMF0sWzc1LDYsMzIsNjJdLFs2LDYzXV07YnJlYWs7Y2FzZSAzOnQ9W1stMjU2LDgsOCwyNTRdLFswLDEsMCwwXSxbMSwyLDAsMl0sWzIsMywwLDZdLFszLDQsMywxNF0sWzExLDUsNiwzMF0sWy0yNTcsOCwzMiwyNTUsImxvd2VyIl0sWzc1LDcsMzIsMTI2XSxbNiw2Ml1dO2JyZWFrO2Nhc2UgNDp0PVtbMSwxLDAsMF0sWzIsMiwwLDJdLFszLDMsMCw2XSxbNCw0LDMsMTRdLFsxMiw1LDYsMzBdLFs3Niw1LDMyLDMxXV07YnJlYWs7Y2FzZSA1OnQ9W1stMjU1LDcsOCwxMjZdLFsxLDEsMCwwXSxbMiwyLDAsMl0sWzMsMywwLDZdLFs0LDQsMywxNF0sWzEyLDUsNiwzMF0sWy0yNTYsNywzMiwxMjcsImxvd2VyIl0sWzc2LDYsMzIsNjJdXTticmVhaztjYXNlIDY6dD1bWy0yMDQ4LDUsMTAsMjhdLFstMTAyNCw0LDksOF0sWy01MTIsNCw4LDldLFstMjU2LDQsNywxMF0sWy0xMjgsNSw2LDI5XSxbLTY0LDUsNSwzMF0sWy0zMiw0LDUsMTFdLFswLDIsNywwXSxbMTI4LDMsNywyXSxbMjU2LDMsOCwzXSxbNTEyLDQsOSwxMl0sWzEwMjQsNCwxMCwxM10sWy0yMDQ5LDYsMzIsNjIsImxvd2VyIl0sWzIwNDgsNiwzMiw2M11dO2JyZWFrO2Nhc2UgNzp0PVtbLTEwMjQsNCw5LDhdLFstNTEyLDMsOCwwXSxbLTI1Niw0LDcsOV0sWy0xMjgsNSw2LDI2XSxbLTY0LDUsNSwyN10sWy0zMiw0LDUsMTBdLFswLDQsNSwxMV0sWzMyLDUsNSwyOF0sWzY0LDUsNiwyOV0sWzEyOCw0LDcsMTJdLFsyNTYsMyw4LDFdLFs1MTIsMyw5LDJdLFsxMDI0LDMsMTAsM10sWy0xMDI1LDUsMzIsMzAsImxvd2VyIl0sWzIwNDgsNSwzMiwzMV1dO2JyZWFrO2Nhc2UgODp0PVtbLTE1LDgsMywyNTJdLFstNyw5LDEsNTA4XSxbLTUsOCwxLDI1M10sWy0zLDksMCw1MDldLFstMiw3LDAsMTI0XSxbLTEsNCwwLDEwXSxbMCwyLDEsMF0sWzIsNSwwLDI2XSxbMyw2LDAsNThdLFs0LDMsNCw0XSxbMjAsNiwxLDU5XSxbMjIsNCw0LDExXSxbMzgsNCw1LDEyXSxbNzAsNSw2LDI3XSxbMTM0LDUsNywyOF0sWzI2Miw2LDcsNjBdLFszOTAsNyw4LDEyNV0sWzY0Niw2LDEwLDYxXSxbLTE2LDksMzIsNTEwLCJsb3dlciJdLFsxNjcwLDksMzIsNTExXSxbMiwxXV07YnJlYWs7Y2FzZSA5OnQ9W1stMzEsOCw0LDI1Ml0sWy0xNSw5LDIsNTA4XSxbLTExLDgsMiwyNTNdLFstNyw5LDEsNTA5XSxbLTUsNywxLDEyNF0sWy0zLDQsMSwxMF0sWy0xLDMsMSwyXSxbMSwzLDEsM10sWzMsNSwxLDI2XSxbNSw2LDEsNThdLFs3LDMsNSw0XSxbMzksNiwyLDU5XSxbNDMsNCw1LDExXSxbNzUsNCw2LDEyXSxbMTM5LDUsNywyN10sWzI2Nyw1LDgsMjhdLFs1MjMsNiw4LDYwXSxbNzc5LDcsOSwxMjVdLFsxMjkxLDYsMTEsNjFdLFstMzIsOSwzMiw1MTAsImxvd2VyIl0sWzMzMzksOSwzMiw1MTFdLFsyLDBdXTticmVhaztjYXNlIDEwOnQ9W1stMjEsNyw0LDEyMl0sWy01LDgsMCwyNTJdLFstNCw3LDAsMTIzXSxbLTMsNSwwLDI0XSxbLTIsMiwyLDBdLFsyLDUsMCwyNV0sWzMsNiwwLDU0XSxbNCw3LDAsMTI0XSxbNSw4LDAsMjUzXSxbNiwyLDYsMV0sWzcwLDUsNSwyNl0sWzEwMiw2LDUsNTVdLFsxMzQsNiw2LDU2XSxbMTk4LDYsNyw1N10sWzMyNiw2LDgsNThdLFs1ODIsNiw5LDU5XSxbMTA5NCw2LDEwLDYwXSxbMjExOCw3LDExLDEyNV0sWy0yMiw4LDMyLDI1NCwibG93ZXIiXSxbNDE2Niw4LDMyLDI1NV0sWzIsMl1dO2JyZWFrO2Nhc2UgMTE6dD1bWzEsMSwwLDBdLFsyLDIsMSwyXSxbNCw0LDAsMTJdLFs1LDQsMSwxM10sWzcsNSwxLDI4XSxbOSw1LDIsMjldLFsxMyw2LDIsNjBdLFsxNyw3LDIsMTIyXSxbMjEsNywzLDEyM10sWzI5LDcsNCwxMjRdLFs0NSw3LDUsMTI1XSxbNzcsNyw2LDEyNl0sWzE0MSw3LDMyLDEyN11dO2JyZWFrO2Nhc2UgMTI6dD1bWzEsMSwwLDBdLFsyLDIsMCwyXSxbMywzLDEsNl0sWzUsNSwwLDI4XSxbNiw1LDEsMjldLFs4LDYsMSw2MF0sWzEwLDcsMCwxMjJdLFsxMSw3LDEsMTIzXSxbMTMsNywyLDEyNF0sWzE3LDcsMywxMjVdLFsyNSw3LDQsMTI2XSxbNDEsOCw1LDI1NF0sWzczLDgsMzIsMjU1XV07YnJlYWs7Y2FzZSAxMzp0PVtbMSwxLDAsMF0sWzIsMywwLDRdLFszLDQsMCwxMl0sWzQsNSwwLDI4XSxbNSw0LDEsMTNdLFs3LDMsMyw1XSxbMTUsNiwxLDU4XSxbMTcsNiwyLDU5XSxbMjEsNiwzLDYwXSxbMjksNiw0LDYxXSxbNDUsNiw1LDYyXSxbNzcsNyw2LDEyNl0sWzE0MSw3LDMyLDEyN11dO2JyZWFrO2Nhc2UgMTQ6dD1bWy0yLDMsMCw0XSxbLTEsMywwLDVdLFswLDEsMCwwXSxbMSwzLDAsNl0sWzIsMywwLDddXTticmVhaztjYXNlIDE1OnQ9W1stMjQsNyw0LDEyNF0sWy04LDYsMiw2MF0sWy00LDUsMSwyOF0sWy0yLDQsMCwxMl0sWy0xLDMsMCw0XSxbMCwxLDAsMF0sWzEsMywwLDVdLFsyLDQsMCwxM10sWzMsNSwxLDI5XSxbNSw2LDIsNjFdLFs5LDcsNCwxMjVdLFstMjUsNywzMiwxMjYsImxvd2VyIl0sWzI1LDcsMzIsMTI3XV07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgc3RhbmRhcmQgdGFibGUgQi4ke2V9IGRvZXMgbm90IGV4aXN0YCl9Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7ZSsrKXRbZV09bmV3IEh1ZmZtYW5MaW5lKHRbZV0pO2k9bmV3IEh1ZmZtYW5UYWJsZSh0LCEwKTtBaVtlXT1pO3JldHVybiBpfWNsYXNzIFJlYWRlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5kYXRhPWU7dGhpcy5zdGFydD10O3RoaXMuZW5kPWk7dGhpcy5wb3NpdGlvbj10O3RoaXMuc2hpZnQ9LTE7dGhpcy5jdXJyZW50Qnl0ZT0wfXJlYWRCaXQoKXtpZih0aGlzLnNoaWZ0PDApe2lmKHRoaXMucG9zaXRpb24+PXRoaXMuZW5kKXRocm93IG5ldyBKYmlnMkVycm9yKCJlbmQgb2YgZGF0YSB3aGlsZSByZWFkaW5nIGJpdCIpO3RoaXMuY3VycmVudEJ5dGU9dGhpcy5kYXRhW3RoaXMucG9zaXRpb24rK107dGhpcy5zaGlmdD03fWNvbnN0IGU9dGhpcy5jdXJyZW50Qnl0ZT4+dGhpcy5zaGlmdCYxO3RoaXMuc2hpZnQtLTtyZXR1cm4gZX1yZWFkQml0cyhlKXtsZXQgdCxpPTA7Zm9yKHQ9ZS0xO3Q+PTA7dC0tKWl8PXRoaXMucmVhZEJpdCgpPDx0O3JldHVybiBpfWJ5dGVBbGlnbigpe3RoaXMuc2hpZnQ9LTF9bmV4dCgpe3JldHVybiB0aGlzLnBvc2l0aW9uPj10aGlzLmVuZD8tMTp0aGlzLmRhdGFbdGhpcy5wb3NpdGlvbisrXX19ZnVuY3Rpb24gZ2V0Q3VzdG9tSHVmZm1hblRhYmxlKGUsdCxpKXtsZXQgYT0wO2ZvcihsZXQgcz0wLHI9dC5sZW5ndGg7czxyO3MrKyl7Y29uc3Qgcj1pW3Rbc11dO2lmKHIpe2lmKGU9PT1hKXJldHVybiByO2ErK319dGhyb3cgbmV3IEpiaWcyRXJyb3IoImNhbid0IGZpbmQgY3VzdG9tIEh1ZmZtYW4gdGFibGUiKX1mdW5jdGlvbiByZWFkVW5jb21wcmVzc2VkQml0bWFwKGUsdCxpKXtjb25zdCBhPVtdO2ZvcihsZXQgcz0wO3M8aTtzKyspe2NvbnN0IGk9bmV3IFVpbnQ4QXJyYXkodCk7YS5wdXNoKGkpO2ZvcihsZXQgYT0wO2E8dDthKyspaVthXT1lLnJlYWRCaXQoKTtlLmJ5dGVBbGlnbigpfXJldHVybiBhfWZ1bmN0aW9uIGRlY29kZU1NUkJpdG1hcChlLHQsaSxhKXtjb25zdCBzPW5ldyBDQ0lUVEZheERlY29kZXIoZSx7SzotMSxDb2x1bW5zOnQsUm93czppLEJsYWNrSXMxOiEwLEVuZE9mQmxvY2s6YX0pLHI9W107bGV0IG4sZz0hMTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KHQpO3IucHVzaChlKTtsZXQgaT0tMTtmb3IobGV0IGE9MDthPHQ7YSsrKXtpZihpPDApe249cy5yZWFkTmV4dENoYXIoKTtpZigtMT09PW4pe249MDtnPSEwfWk9N31lW2FdPW4+PmkmMTtpLS19fWlmKGEmJiFnKXtjb25zdCBlPTU7Zm9yKGxldCB0PTA7dDxlJiYtMSE9PXMucmVhZE5leHRDaGFyKCk7dCsrKTt9cmV0dXJuIHJ9Y2xhc3MgSmJpZzJJbWFnZXtwYXJzZUNodW5rcyhlKXtyZXR1cm4gZnVuY3Rpb24gcGFyc2VKYmlnMkNodW5rcyhlKXtjb25zdCB0PW5ldyBTaW1wbGVTZWdtZW50VmlzaXRvcjtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9ZVtpXTtwcm9jZXNzU2VnbWVudHMocmVhZFNlZ21lbnRzKHt9LGEuZGF0YSxhLnN0YXJ0LGEuZW5kKSx0KX1yZXR1cm4gdC5idWZmZXJ9KGUpfXBhcnNlKGUpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkOiBKYmlnMkltYWdlLnBhcnNlIil9fWNsYXNzIEpiaWcyU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cmVhbT1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5tYXliZUxlbmd0aD10O3RoaXMucGFyYW1zPWl9Z2V0IGJ5dGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJieXRlcyIsdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpfWVuc3VyZUJ1ZmZlcihlKXt9cmVhZEJsb2NrKCl7dGhpcy5kZWNvZGVJbWFnZSgpfWRlY29kZUltYWdlKGUpe2lmKHRoaXMuZW9mKXJldHVybiB0aGlzLmJ1ZmZlcjtlfHw9dGhpcy5ieXRlcztjb25zdCB0PW5ldyBKYmlnMkltYWdlLGk9W107aWYodGhpcy5wYXJhbXMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXRoaXMucGFyYW1zLmdldCgiSkJJRzJHbG9iYWxzIik7aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2NvbnN0IHQ9ZS5nZXRCeXRlcygpO2kucHVzaCh7ZGF0YTp0LHN0YXJ0OjAsZW5kOnQubGVuZ3RofSl9fWkucHVzaCh7ZGF0YTplLHN0YXJ0OjAsZW5kOmUubGVuZ3RofSk7Y29uc3QgYT10LnBhcnNlQ2h1bmtzKGkpLHM9YS5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxzO2UrKylhW2VdXj0yNTU7dGhpcy5idWZmZXI9YTt0aGlzLmJ1ZmZlckxlbmd0aD1zO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319ZnVuY3Rpb24gY29udmVydFRvUkdCQShlKXtzd2l0Y2goZS5raW5kKXtjYXNlIGI6cmV0dXJuIGNvbnZlcnRCbGFja0FuZFdoaXRlVG9SR0JBKGUpO2Nhc2UgRjpyZXR1cm4gZnVuY3Rpb24gY29udmVydFJHQlRvUkdCQSh7c3JjOmUsc3JjUG9zOnQ9MCxkZXN0OmksZGVzdFBvczphPTAsd2lkdGg6cyxoZWlnaHQ6cn0pe2xldCBuPTA7Y29uc3QgZz1lLmxlbmd0aD4+MixvPW5ldyBVaW50MzJBcnJheShlLmJ1ZmZlcix0LGcpO2lmKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuKXtmb3IoO248Zy0yO24rPTMsYSs9NCl7Y29uc3QgZT1vW25dLHQ9b1tuKzFdLHM9b1tuKzJdO2lbYV09NDI3ODE5MDA4MHxlO2lbYSsxXT1lPj4+MjR8dDw8OHw0Mjc4MTkwMDgwO2lbYSsyXT10Pj4+MTZ8czw8MTZ8NDI3ODE5MDA4MDtpW2ErM109cz4+Pjh8NDI3ODE5MDA4MH1mb3IobGV0IHQ9NCpuLHM9ZS5sZW5ndGg7dDxzO3QrPTMpaVthKytdPWVbdF18ZVt0KzFdPDw4fGVbdCsyXTw8MTZ8NDI3ODE5MDA4MH1lbHNle2Zvcig7bjxnLTI7bis9MyxhKz00KXtjb25zdCBlPW9bbl0sdD1vW24rMV0scz1vW24rMl07aVthXT0yNTV8ZTtpW2ErMV09ZTw8MjR8dD4+Pjh8MjU1O2lbYSsyXT10PDwxNnxzPj4+MTZ8MjU1O2lbYSszXT1zPDw4fDI1NX1mb3IobGV0IHQ9NCpuLHM9ZS5sZW5ndGg7dDxzO3QrPTMpaVthKytdPWVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fDI1NX1yZXR1cm57c3JjUG9zOnQsZGVzdFBvczphfX0oZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gY29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLHNyY1Bvczp0PTAsZGVzdDppLHdpZHRoOmEsaGVpZ2h0OnMsbm9uQmxhY2tDb2xvcjpyPTQyOTQ5NjcyOTUsaW52ZXJzZURlY29kZTpuPSExfSl7Y29uc3QgZz1GZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj80Mjc4MTkwMDgwOjI1NSxbbyxjXT1uP1tyLGddOltnLHJdLEM9YT4+MyxoPTcmYSxsPWUubGVuZ3RoO2k9bmV3IFVpbnQzMkFycmF5KGkuYnVmZmVyKTtsZXQgUT0wO2ZvcihsZXQgYT0wO2E8czthKyspe2Zvcihjb25zdCBhPXQrQzt0PGE7dCsrKXtjb25zdCBhPXQ8bD9lW3RdOjI1NTtpW1ErK109MTI4JmE/YzpvO2lbUSsrXT02NCZhP2M6bztpW1ErK109MzImYT9jOm87aVtRKytdPTE2JmE/YzpvO2lbUSsrXT04JmE/YzpvO2lbUSsrXT00JmE/YzpvO2lbUSsrXT0yJmE/YzpvO2lbUSsrXT0xJmE/YzpvfWlmKDA9PT1oKWNvbnRpbnVlO2NvbnN0IGE9dDxsP2VbdCsrXToyNTU7Zm9yKGxldCBlPTA7ZTxoO2UrKylpW1ErK109YSYxPDw3LWU/YzpvfXJldHVybntzcmNQb3M6dCxkZXN0UG9zOlF9fWNsYXNzIEpwZWdFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkpwZWdFcnJvciIpfX1jbGFzcyBETkxNYXJrZXJFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiRE5MTWFya2VyRXJyb3IiKTt0aGlzLnNjYW5MaW5lcz10fX1jbGFzcyBFT0lNYXJrZXJFcnJvciBleHRlbmRzIGd0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkVPSU1hcmtlckVycm9yIil9fWNvbnN0IGVpPW5ldyBVaW50OEFycmF5KFswLDEsOCwxNiw5LDIsMywxMCwxNywyNCwzMiwyNSwxOCwxMSw0LDUsMTIsMTksMjYsMzMsNDAsNDgsNDEsMzQsMjcsMjAsMTMsNiw3LDE0LDIxLDI4LDM1LDQyLDQ5LDU2LDU3LDUwLDQzLDM2LDI5LDIyLDE1LDIzLDMwLDM3LDQ0LDUxLDU4LDU5LDUyLDQ1LDM4LDMxLDM5LDQ2LDUzLDYwLDYxLDU0LDQ3LDU1LDYyLDYzXSksdGk9NDAxNyxpaT03OTksYWk9MzQwNixzaT0yMjc2LHJpPTE1Njcsbmk9Mzc4NCxnaT01NzkzLG9pPTI4OTY7ZnVuY3Rpb24gYnVpbGRIdWZmbWFuVGFibGUoZSx0KXtsZXQgaSxhLHM9MCxyPTE2O2Zvcig7cj4wJiYhZVtyLTFdOylyLS07Y29uc3Qgbj1be2NoaWxkcmVuOltdLGluZGV4OjB9XTtsZXQgZyxvPW5bMF07Zm9yKGk9MDtpPHI7aSsrKXtmb3IoYT0wO2E8ZVtpXTthKyspe289bi5wb3AoKTtvLmNoaWxkcmVuW28uaW5kZXhdPXRbc107Zm9yKDtvLmluZGV4PjA7KW89bi5wb3AoKTtvLmluZGV4Kys7bi5wdXNoKG8pO2Zvcig7bi5sZW5ndGg8PWk7KXtuLnB1c2goZz17Y2hpbGRyZW46W10saW5kZXg6MH0pO28uY2hpbGRyZW5bby5pbmRleF09Zy5jaGlsZHJlbjtvPWd9cysrfWlmKGkrMTxyKXtuLnB1c2goZz17Y2hpbGRyZW46W10saW5kZXg6MH0pO28uY2hpbGRyZW5bby5pbmRleF09Zy5jaGlsZHJlbjtvPWd9fXJldHVybiBuWzBdLmNoaWxkcmVufWZ1bmN0aW9uIGdldEJsb2NrQnVmZmVyT2Zmc2V0KGUsdCxpKXtyZXR1cm4gNjQqKChlLmJsb2Nrc1BlckxpbmUrMSkqdCtpKX1mdW5jdGlvbiBkZWNvZGVTY2FuKGUsdCxpLGEscyxyLG4sZyxvLGM9ITEpe2NvbnN0IEM9aS5tY3VzUGVyTGluZSxoPWkucHJvZ3Jlc3NpdmUsbD10O2xldCBRPTAsRT0wO2Z1bmN0aW9uIHJlYWRCaXQoKXtpZihFPjApe0UtLTtyZXR1cm4gUT4+RSYxfVE9ZVt0KytdO2lmKDI1NT09PVEpe2NvbnN0IGE9ZVt0KytdO2lmKGEpe2lmKDIyMD09PWEmJmMpe2NvbnN0IGE9cmVhZFVpbnQxNihlLHQrPTIpO3QrPTI7aWYoYT4wJiZhIT09aS5zY2FuTGluZXMpdGhyb3cgbmV3IEROTE1hcmtlckVycm9yKCJGb3VuZCBETkwgbWFya2VyICgweEZGREMpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhIixhKX1lbHNlIGlmKDIxNz09PWEpe2lmKGMpe2NvbnN0IGU9cCooOD09PWkucHJlY2lzaW9uPzg6MCk7aWYoZT4wJiZNYXRoLnJvdW5kKGkuc2NhbkxpbmVzL2UpPj01KXRocm93IG5ldyBETkxNYXJrZXJFcnJvcigiRm91bmQgRU9JIG1hcmtlciAoMHhGRkQ5KSB3aGlsZSBwYXJzaW5nIHNjYW4gZGF0YSwgcG9zc2libHkgY2F1c2VkIGJ5IGluY29ycmVjdCBgc2NhbkxpbmVzYCBwYXJhbWV0ZXIiLGUpfXRocm93IG5ldyBFT0lNYXJrZXJFcnJvcigiRm91bmQgRU9JIG1hcmtlciAoMHhGRkQ5KSB3aGlsZSBwYXJzaW5nIHNjYW4gZGF0YSIpfXRocm93IG5ldyBKcGVnRXJyb3IoYHVuZXhwZWN0ZWQgbWFya2VyICR7KFE8PDh8YSkudG9TdHJpbmcoMTYpfWApfX1FPTc7cmV0dXJuIFE+Pj43fWZ1bmN0aW9uIGRlY29kZUh1ZmZtYW4oZSl7bGV0IHQ9ZTtmb3IoOzspe3Q9dFtyZWFkQml0KCldO3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJudW1iZXIiOnJldHVybiB0O2Nhc2Uib2JqZWN0Ijpjb250aW51ZX10aHJvdyBuZXcgSnBlZ0Vycm9yKCJpbnZhbGlkIGh1ZmZtYW4gc2VxdWVuY2UiKX19ZnVuY3Rpb24gcmVjZWl2ZShlKXtsZXQgdD0wO2Zvcig7ZT4wOyl7dD10PDwxfHJlYWRCaXQoKTtlLS19cmV0dXJuIHR9ZnVuY3Rpb24gcmVjZWl2ZUFuZEV4dGVuZChlKXtpZigxPT09ZSlyZXR1cm4gMT09PXJlYWRCaXQoKT8xOi0xO2NvbnN0IHQ9cmVjZWl2ZShlKTtyZXR1cm4gdD49MTw8ZS0xP3Q6dCsoLTE8PGUpKzF9bGV0IHU9MDtsZXQgZCxmPTA7bGV0IHA9MDtmdW5jdGlvbiBkZWNvZGVNY3UoZSx0LGksYSxzKXtjb25zdCByPWklQztwPShpL0N8MCkqZS52K2E7Y29uc3Qgbj1yKmUuaCtzO3QoZSxnZXRCbG9ja0J1ZmZlck9mZnNldChlLHAsbikpfWZ1bmN0aW9uIGRlY29kZUJsb2NrKGUsdCxpKXtwPWkvZS5ibG9ja3NQZXJMaW5lfDA7Y29uc3QgYT1pJWUuYmxvY2tzUGVyTGluZTt0KGUsZ2V0QmxvY2tCdWZmZXJPZmZzZXQoZSxwLGEpKX1jb25zdCBtPWEubGVuZ3RoO2xldCB5LHcsRCxiLEYsUztTPWg/MD09PXI/MD09PWc/ZnVuY3Rpb24gZGVjb2RlRENGaXJzdChlLHQpe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZURDKSxhPTA9PT1pPzA6cmVjZWl2ZUFuZEV4dGVuZChpKTw8bztlLmJsb2NrRGF0YVt0XT1lLnByZWQrPWF9OmZ1bmN0aW9uIGRlY29kZURDU3VjY2Vzc2l2ZShlLHQpe2UuYmxvY2tEYXRhW3RdfD1yZWFkQml0KCk8PG99OjA9PT1nP2Z1bmN0aW9uIGRlY29kZUFDRmlyc3QoZSx0KXtpZih1PjApe3UtLTtyZXR1cm59bGV0IGk9cjtjb25zdCBhPW47Zm9yKDtpPD1hOyl7Y29uc3QgYT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlQUMpLHM9MTUmYSxyPWE+PjQ7aWYoMD09PXMpe2lmKHI8MTUpe3U9cmVjZWl2ZShyKSsoMTw8ciktMTticmVha31pKz0xNjtjb250aW51ZX1pKz1yO2NvbnN0IG49ZWlbaV07ZS5ibG9ja0RhdGFbdCtuXT1yZWNlaXZlQW5kRXh0ZW5kKHMpKigxPDxvKTtpKyt9fTpmdW5jdGlvbiBkZWNvZGVBQ1N1Y2Nlc3NpdmUoZSx0KXtsZXQgaT1yO2NvbnN0IGE9bjtsZXQgcyxnLGM9MDtmb3IoO2k8PWE7KXtjb25zdCBhPXQrZWlbaV0scj1lLmJsb2NrRGF0YVthXTwwPy0xOjE7c3dpdGNoKGYpe2Nhc2UgMDpnPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyk7cz0xNSZnO2M9Zz4+NDtpZigwPT09cylpZihjPDE1KXt1PXJlY2VpdmUoYykrKDE8PGMpO2Y9NH1lbHNle2M9MTY7Zj0xfWVsc2V7aWYoMSE9PXMpdGhyb3cgbmV3IEpwZWdFcnJvcigiaW52YWxpZCBBQ24gZW5jb2RpbmciKTtkPXJlY2VpdmVBbmRFeHRlbmQocyk7Zj1jPzI6M31jb250aW51ZTtjYXNlIDE6Y2FzZSAyOmlmKGUuYmxvY2tEYXRhW2FdKWUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pO2Vsc2V7Yy0tOzA9PT1jJiYoZj0yPT09Zj8zOjApfWJyZWFrO2Nhc2UgMzppZihlLmJsb2NrRGF0YVthXSllLmJsb2NrRGF0YVthXSs9cioocmVhZEJpdCgpPDxvKTtlbHNle2UuYmxvY2tEYXRhW2FdPWQ8PG87Zj0wfWJyZWFrO2Nhc2UgNDplLmJsb2NrRGF0YVthXSYmKGUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pKX1pKyt9aWYoND09PWYpe3UtLTswPT09dSYmKGY9MCl9fTpmdW5jdGlvbiBkZWNvZGVCYXNlbGluZShlLHQpe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZURDKSxhPTA9PT1pPzA6cmVjZWl2ZUFuZEV4dGVuZChpKTtlLmJsb2NrRGF0YVt0XT1lLnByZWQrPWE7bGV0IHM9MTtmb3IoO3M8NjQ7KXtjb25zdCBpPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyksYT0xNSZpLHI9aT4+NDtpZigwPT09YSl7aWYocjwxNSlicmVhaztzKz0xNjtjb250aW51ZX1zKz1yO2NvbnN0IG49ZWlbc107ZS5ibG9ja0RhdGFbdCtuXT1yZWNlaXZlQW5kRXh0ZW5kKGEpO3MrK319O2xldCBrLFI9MDtjb25zdCBOPTE9PT1tP2FbMF0uYmxvY2tzUGVyTGluZSphWzBdLmJsb2Nrc1BlckNvbHVtbjpDKmkubWN1c1BlckNvbHVtbjtsZXQgRyx4O2Zvcig7Ujw9Tjspe2NvbnN0IGk9cz9NYXRoLm1pbihOLVIscyk6TjtpZihpPjApe2Zvcih3PTA7dzxtO3crKylhW3ddLnByZWQ9MDt1PTA7aWYoMT09PW0pe3k9YVswXTtmb3IoRj0wO0Y8aTtGKyspe2RlY29kZUJsb2NrKHksUyxSKTtSKyt9fWVsc2UgZm9yKEY9MDtGPGk7RisrKXtmb3Iodz0wO3c8bTt3Kyspe3k9YVt3XTtHPXkuaDt4PXkudjtmb3IoRD0wO0Q8eDtEKyspZm9yKGI9MDtiPEc7YisrKWRlY29kZU1jdSh5LFMsUixELGIpfVIrK319RT0wO2s9ZmluZE5leHRGaWxlTWFya2VyKGUsdCk7aWYoIWspYnJlYWs7aWYoay5pbnZhbGlkKXt3YXJuKGBkZWNvZGVTY2FuIC0gJHtpPjA/InVuZXhwZWN0ZWQiOiJleGNlc3NpdmUifSBNQ1UgZGF0YSwgY3VycmVudCBtYXJrZXIgaXM6ICR7ay5pbnZhbGlkfWApO3Q9ay5vZmZzZXR9aWYoIShrLm1hcmtlcj49NjU0ODgmJmsubWFya2VyPD02NTQ5NSkpYnJlYWs7dCs9Mn1yZXR1cm4gdC1sfWZ1bmN0aW9uIHF1YW50aXplQW5kSW52ZXJzZShlLHQsaSl7Y29uc3QgYT1lLnF1YW50aXphdGlvblRhYmxlLHM9ZS5ibG9ja0RhdGE7bGV0IHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkLGYscCxtLHksdztpZighYSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJtaXNzaW5nIHJlcXVpcmVkIFF1YW50aXphdGlvbiBUYWJsZS4iKTtmb3IobGV0IGU9MDtlPDY0O2UrPTgpe1E9c1t0K2VdO0U9c1t0K2UrMV07dT1zW3QrZSsyXTtkPXNbdCtlKzNdO2Y9c1t0K2UrNF07cD1zW3QrZSs1XTttPXNbdCtlKzZdO3k9c1t0K2UrN107USo9YVtlXTtpZigwIT0oRXx1fGR8ZnxwfG18eSkpe0UqPWFbZSsxXTt1Kj1hW2UrMl07ZCo9YVtlKzNdO2YqPWFbZSs0XTtwKj1hW2UrNV07bSo9YVtlKzZdO3kqPWFbZSs3XTtyPWdpKlErMTI4Pj44O249Z2kqZisxMjg+Pjg7Zz11O289bTtjPW9pKihFLXkpKzEyOD4+ODtsPW9pKihFK3kpKzEyOD4+ODtDPWQ8PDQ7aD1wPDw0O3I9cituKzE+PjE7bj1yLW47dz1nKm5pK28qcmkrMTI4Pj44O2c9ZypyaS1vKm5pKzEyOD4+ODtvPXc7Yz1jK2grMT4+MTtoPWMtaDtsPWwrQysxPj4xO0M9bC1DO3I9citvKzE+PjE7bz1yLW87bj1uK2crMT4+MTtnPW4tZzt3PWMqc2krbCphaSsyMDQ4Pj4xMjtjPWMqYWktbCpzaSsyMDQ4Pj4xMjtsPXc7dz1DKmlpK2gqdGkrMjA0OD4+MTI7Qz1DKnRpLWgqaWkrMjA0OD4+MTI7aD13O2lbZV09citsO2lbZSs3XT1yLWw7aVtlKzFdPW4raDtpW2UrNl09bi1oO2lbZSsyXT1nK0M7aVtlKzVdPWctQztpW2UrM109bytjO2lbZSs0XT1vLWN9ZWxzZXt3PWdpKlErNTEyPj4xMDtpW2VdPXc7aVtlKzFdPXc7aVtlKzJdPXc7aVtlKzNdPXc7aVtlKzRdPXc7aVtlKzVdPXc7aVtlKzZdPXc7aVtlKzddPXd9fWZvcihsZXQgZT0wO2U8ODsrK2Upe1E9aVtlXTtFPWlbZSs4XTt1PWlbZSsxNl07ZD1pW2UrMjRdO2Y9aVtlKzMyXTtwPWlbZSs0MF07bT1pW2UrNDhdO3k9aVtlKzU2XTtpZigwIT0oRXx1fGR8ZnxwfG18eSkpe3I9Z2kqUSsyMDQ4Pj4xMjtuPWdpKmYrMjA0OD4+MTI7Zz11O289bTtjPW9pKihFLXkpKzIwNDg+PjEyO2w9b2kqKEUreSkrMjA0OD4+MTI7Qz1kO2g9cDtyPTQxMTIrKHIrbisxPj4xKTtuPXItbjt3PWcqbmkrbypyaSsyMDQ4Pj4xMjtnPWcqcmktbypuaSsyMDQ4Pj4xMjtvPXc7Yz1jK2grMT4+MTtoPWMtaDtsPWwrQysxPj4xO0M9bC1DO3I9citvKzE+PjE7bz1yLW87bj1uK2crMT4+MTtnPW4tZzt3PWMqc2krbCphaSsyMDQ4Pj4xMjtjPWMqYWktbCpzaSsyMDQ4Pj4xMjtsPXc7dz1DKmlpK2gqdGkrMjA0OD4+MTI7Qz1DKnRpLWgqaWkrMjA0OD4+MTI7aD13O1E9citsO3k9ci1sO0U9bitoO209bi1oO3U9ZytDO3A9Zy1DO2Q9bytjO2Y9by1jO1E8MTY/UT0wOlE+PTQwODA/UT0yNTU6UT4+PTQ7RTwxNj9FPTA6RT49NDA4MD9FPTI1NTpFPj49NDt1PDE2P3U9MDp1Pj00MDgwP3U9MjU1OnU+Pj00O2Q8MTY/ZD0wOmQ+PTQwODA/ZD0yNTU6ZD4+PTQ7ZjwxNj9mPTA6Zj49NDA4MD9mPTI1NTpmPj49NDtwPDE2P3A9MDpwPj00MDgwP3A9MjU1OnA+Pj00O208MTY/bT0wOm0+PTQwODA/bT0yNTU6bT4+PTQ7eTwxNj95PTA6eT49NDA4MD95PTI1NTp5Pj49NDtzW3QrZV09UTtzW3QrZSs4XT1FO3NbdCtlKzE2XT11O3NbdCtlKzI0XT1kO3NbdCtlKzMyXT1mO3NbdCtlKzQwXT1wO3NbdCtlKzQ4XT1tO3NbdCtlKzU2XT15fWVsc2V7dz1naSpRKzgxOTI+PjE0O3c9dzwtMjA0MD8wOnc+PTIwMjQ/MjU1OncrMjA1Nj4+NDtzW3QrZV09dztzW3QrZSs4XT13O3NbdCtlKzE2XT13O3NbdCtlKzI0XT13O3NbdCtlKzMyXT13O3NbdCtlKzQwXT13O3NbdCtlKzQ4XT13O3NbdCtlKzU2XT13fX19ZnVuY3Rpb24gYnVpbGRDb21wb25lbnREYXRhKGUsdCl7Y29uc3QgaT10LmJsb2Nrc1BlckxpbmUsYT10LmJsb2Nrc1BlckNvbHVtbixzPW5ldyBJbnQxNkFycmF5KDY0KTtmb3IobGV0IGU9MDtlPGE7ZSsrKWZvcihsZXQgYT0wO2E8aTthKyspe3F1YW50aXplQW5kSW52ZXJzZSh0LGdldEJsb2NrQnVmZmVyT2Zmc2V0KHQsZSxhKSxzKX1yZXR1cm4gdC5ibG9ja0RhdGF9ZnVuY3Rpb24gZmluZE5leHRGaWxlTWFya2VyKGUsdCxpPXQpe2NvbnN0IGE9ZS5sZW5ndGgtMTtsZXQgcz1pPHQ/aTp0O2lmKHQ+PWEpcmV0dXJuIG51bGw7Y29uc3Qgcj1yZWFkVWludDE2KGUsdCk7aWYocj49NjU0NzImJnI8PTY1NTM0KXJldHVybntpbnZhbGlkOm51bGwsbWFya2VyOnIsb2Zmc2V0OnR9O2xldCBuPXJlYWRVaW50MTYoZSxzKTtmb3IoOyEobj49NjU0NzImJm48PTY1NTM0KTspe2lmKCsrcz49YSlyZXR1cm4gbnVsbDtuPXJlYWRVaW50MTYoZSxzKX1yZXR1cm57aW52YWxpZDpyLnRvU3RyaW5nKDE2KSxtYXJrZXI6bixvZmZzZXQ6c319ZnVuY3Rpb24gcHJlcGFyZUNvbXBvbmVudHMoZSl7Y29uc3QgdD1NYXRoLmNlaWwoZS5zYW1wbGVzUGVyTGluZS84L2UubWF4SCksaT1NYXRoLmNlaWwoZS5zY2FuTGluZXMvOC9lLm1heFYpO2Zvcihjb25zdCBhIG9mIGUuY29tcG9uZW50cyl7Y29uc3Qgcz1NYXRoLmNlaWwoTWF0aC5jZWlsKGUuc2FtcGxlc1BlckxpbmUvOCkqYS5oL2UubWF4SCkscj1NYXRoLmNlaWwoTWF0aC5jZWlsKGUuc2NhbkxpbmVzLzgpKmEudi9lLm1heFYpLG49dCphLmgsZz02NCooaSphLnYpKihuKzEpO2EuYmxvY2tEYXRhPW5ldyBJbnQxNkFycmF5KGcpO2EuYmxvY2tzUGVyTGluZT1zO2EuYmxvY2tzUGVyQ29sdW1uPXJ9ZS5tY3VzUGVyTGluZT10O2UubWN1c1BlckNvbHVtbj1pfWZ1bmN0aW9uIHJlYWREYXRhQmxvY2soZSx0KXtjb25zdCBpPXJlYWRVaW50MTYoZSx0KTtsZXQgYT0odCs9MikraS0yO2NvbnN0IHM9ZmluZE5leHRGaWxlTWFya2VyKGUsYSx0KTtpZihzPy5pbnZhbGlkKXt3YXJuKCJyZWFkRGF0YUJsb2NrIC0gaW5jb3JyZWN0IGxlbmd0aCwgY3VycmVudCBtYXJrZXIgaXM6ICIrcy5pbnZhbGlkKTthPXMub2Zmc2V0fWNvbnN0IHI9ZS5zdWJhcnJheSh0LGEpO3JldHVybnthcHBEYXRhOnIsbmV3T2Zmc2V0OnQrPXIubGVuZ3RofX1mdW5jdGlvbiBza2lwRGF0YShlLHQpe2NvbnN0IGk9cmVhZFVpbnQxNihlLHQpLGE9KHQrPTIpK2ktMixzPWZpbmROZXh0RmlsZU1hcmtlcihlLGEsdCk7cmV0dXJuIHM/LmludmFsaWQ/cy5vZmZzZXQ6YX1jbGFzcyBKcGVnSW1hZ2V7Y29uc3RydWN0b3Ioe2RlY29kZVRyYW5zZm9ybTplPW51bGwsY29sb3JUcmFuc2Zvcm06dD0tMX09e30pe3RoaXMuX2RlY29kZVRyYW5zZm9ybT1lO3RoaXMuX2NvbG9yVHJhbnNmb3JtPXR9c3RhdGljIGNhblVzZUltYWdlRGVjb2RlcihlLHQ9LTEpe2xldCBpPTAsYT1udWxsLHM9cmVhZFVpbnQxNihlLGkpO2krPTI7aWYoNjU0OTYhPT1zKXRocm93IG5ldyBKcGVnRXJyb3IoIlNPSSBub3QgZm91bmQiKTtzPXJlYWRVaW50MTYoZSxpKTtpKz0yO0E6Zm9yKDs2NTQ5NyE9PXM7KXtzd2l0Y2gocyl7Y2FzZSA2NTQ3MjpjYXNlIDY1NDczOmNhc2UgNjU0NzQ6YT1lW2krN107YnJlYWsgQTtjYXNlIDY1NTM1OjI1NSE9PWVbaV0mJmktLX1pPXNraXBEYXRhKGUsaSk7cz1yZWFkVWludDE2KGUsaSk7aSs9Mn1yZXR1cm4gNCE9PWEmJigzIT09YXx8MCE9PXQpfXBhcnNlKGUse2RubFNjYW5MaW5lczp0PW51bGx9PXt9KXtsZXQgaSxhLHM9MCxyPW51bGwsbj1udWxsLGc9MDtjb25zdCBvPVtdLGM9W10sQz1bXTtsZXQgaD1yZWFkVWludDE2KGUscyk7cys9MjtpZig2NTQ5NiE9PWgpdGhyb3cgbmV3IEpwZWdFcnJvcigiU09JIG5vdCBmb3VuZCIpO2g9cmVhZFVpbnQxNihlLHMpO3MrPTI7QTpmb3IoOzY1NDk3IT09aDspe2xldCBsLFEsRTtzd2l0Y2goaCl7Y2FzZSA2NTUwNDpjYXNlIDY1NTA1OmNhc2UgNjU1MDY6Y2FzZSA2NTUwNzpjYXNlIDY1NTA4OmNhc2UgNjU1MDk6Y2FzZSA2NTUxMDpjYXNlIDY1NTExOmNhc2UgNjU1MTI6Y2FzZSA2NTUxMzpjYXNlIDY1NTE0OmNhc2UgNjU1MTU6Y2FzZSA2NTUxNjpjYXNlIDY1NTE3OmNhc2UgNjU1MTg6Y2FzZSA2NTUxOTpjYXNlIDY1NTM0OmNvbnN0e2FwcERhdGE6dSxuZXdPZmZzZXQ6ZH09cmVhZERhdGFCbG9jayhlLHMpO3M9ZDs2NTUwND09PWgmJjc0PT09dVswXSYmNzA9PT11WzFdJiY3Mz09PXVbMl0mJjcwPT09dVszXSYmMD09PXVbNF0mJihyPXt2ZXJzaW9uOnttYWpvcjp1WzVdLG1pbm9yOnVbNl19LGRlbnNpdHlVbml0czp1WzddLHhEZW5zaXR5OnVbOF08PDh8dVs5XSx5RGVuc2l0eTp1WzEwXTw8OHx1WzExXSx0aHVtYldpZHRoOnVbMTJdLHRodW1iSGVpZ2h0OnVbMTNdLHRodW1iRGF0YTp1LnN1YmFycmF5KDE0LDE0KzMqdVsxMl0qdVsxM10pfSk7NjU1MTg9PT1oJiY2NT09PXVbMF0mJjEwMD09PXVbMV0mJjExMT09PXVbMl0mJjk4PT09dVszXSYmMTAxPT09dVs0XSYmKG49e3ZlcnNpb246dVs1XTw8OHx1WzZdLGZsYWdzMDp1WzddPDw4fHVbOF0sZmxhZ3MxOnVbOV08PDh8dVsxMF0sdHJhbnNmb3JtQ29kZTp1WzExXX0pO2JyZWFrO2Nhc2UgNjU0OTk6Y29uc3QgZj1yZWFkVWludDE2KGUscyk7cys9Mjtjb25zdCBwPWYrcy0yO2xldCBtO2Zvcig7czxwOyl7Y29uc3QgdD1lW3MrK10saT1uZXcgVWludDE2QXJyYXkoNjQpO2lmKHQ+PjQ9PTApZm9yKFE9MDtRPDY0O1ErKyl7bT1laVtRXTtpW21dPWVbcysrXX1lbHNle2lmKHQ+PjQhPTEpdGhyb3cgbmV3IEpwZWdFcnJvcigiRFFUIC0gaW52YWxpZCB0YWJsZSBzcGVjIik7Zm9yKFE9MDtRPDY0O1ErKyl7bT1laVtRXTtpW21dPXJlYWRVaW50MTYoZSxzKTtzKz0yfX1vWzE1JnRdPWl9YnJlYWs7Y2FzZSA2NTQ3MjpjYXNlIDY1NDczOmNhc2UgNjU0NzQ6aWYoaSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJPbmx5IHNpbmdsZSBmcmFtZSBKUEVHcyBzdXBwb3J0ZWQiKTtzKz0yO2k9e307aS5leHRlbmRlZD02NTQ3Mz09PWg7aS5wcm9ncmVzc2l2ZT02NTQ3ND09PWg7aS5wcmVjaXNpb249ZVtzKytdO2NvbnN0IHk9cmVhZFVpbnQxNihlLHMpO3MrPTI7aS5zY2FuTGluZXM9dHx8eTtpLnNhbXBsZXNQZXJMaW5lPXJlYWRVaW50MTYoZSxzKTtzKz0yO2kuY29tcG9uZW50cz1bXTtpLmNvbXBvbmVudElkcz17fTtjb25zdCB3PWVbcysrXTtsZXQgRD0wLGI9MDtmb3IobD0wO2w8dztsKyspe2NvbnN0IHQ9ZVtzXSxhPWVbcysxXT4+NCxyPTE1JmVbcysxXTtEPGEmJihEPWEpO2I8ciYmKGI9cik7Y29uc3Qgbj1lW3MrMl07RT1pLmNvbXBvbmVudHMucHVzaCh7aDphLHY6cixxdWFudGl6YXRpb25JZDpuLHF1YW50aXphdGlvblRhYmxlOm51bGx9KTtpLmNvbXBvbmVudElkc1t0XT1FLTE7cys9M31pLm1heEg9RDtpLm1heFY9YjtwcmVwYXJlQ29tcG9uZW50cyhpKTticmVhaztjYXNlIDY1NDc2OmNvbnN0IEY9cmVhZFVpbnQxNihlLHMpO3MrPTI7Zm9yKGw9MjtsPEY7KXtjb25zdCB0PWVbcysrXSxpPW5ldyBVaW50OEFycmF5KDE2KTtsZXQgYT0wO2ZvcihRPTA7UTwxNjtRKysscysrKWErPWlbUV09ZVtzXTtjb25zdCByPW5ldyBVaW50OEFycmF5KGEpO2ZvcihRPTA7UTxhO1ErKyxzKyspcltRXT1lW3NdO2wrPTE3K2E7KHQ+PjQ9PTA/QzpjKVsxNSZ0XT1idWlsZEh1ZmZtYW5UYWJsZShpLHIpfWJyZWFrO2Nhc2UgNjU1MDE6cys9MjthPXJlYWRVaW50MTYoZSxzKTtzKz0yO2JyZWFrO2Nhc2UgNjU0OTg6Y29uc3QgUz0xPT0rK2cmJiF0O3MrPTI7Y29uc3Qgaz1lW3MrK10sUj1bXTtmb3IobD0wO2w8aztsKyspe2NvbnN0IHQ9ZVtzKytdLGE9aS5jb21wb25lbnRJZHNbdF0scj1pLmNvbXBvbmVudHNbYV07ci5pbmRleD10O2NvbnN0IG49ZVtzKytdO3IuaHVmZm1hblRhYmxlREM9Q1tuPj40XTtyLmh1ZmZtYW5UYWJsZUFDPWNbMTUmbl07Ui5wdXNoKHIpfWNvbnN0IE49ZVtzKytdLEc9ZVtzKytdLHg9ZVtzKytdO3RyeXtzKz1kZWNvZGVTY2FuKGUscyxpLFIsYSxOLEcseD4+NCwxNSZ4LFMpfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBETkxNYXJrZXJFcnJvcil7d2FybihgJHt0Lm1lc3NhZ2V9IC0tIGF0dGVtcHRpbmcgdG8gcmUtcGFyc2UgdGhlIEpQRUcgaW1hZ2UuYCk7cmV0dXJuIHRoaXMucGFyc2UoZSx7ZG5sU2NhbkxpbmVzOnQuc2NhbkxpbmVzfSl9aWYodCBpbnN0YW5jZW9mIEVPSU1hcmtlckVycm9yKXt3YXJuKGAke3QubWVzc2FnZX0gLS0gaWdub3JpbmcgdGhlIHJlc3Qgb2YgdGhlIGltYWdlIGRhdGEuYCk7YnJlYWsgQX10aHJvdyB0fWJyZWFrO2Nhc2UgNjU1MDA6cys9NDticmVhaztjYXNlIDY1NTM1OjI1NSE9PWVbc10mJnMtLTticmVhaztkZWZhdWx0OmNvbnN0IFU9ZmluZE5leHRGaWxlTWFya2VyKGUscy0yLHMtMyk7aWYoVT8uaW52YWxpZCl7d2FybigiSnBlZ0ltYWdlLnBhcnNlIC0gdW5leHBlY3RlZCBkYXRhLCBjdXJyZW50IG1hcmtlciBpczogIitVLmludmFsaWQpO3M9VS5vZmZzZXQ7YnJlYWt9aWYoIVV8fHM+PWUubGVuZ3RoLTEpe3dhcm4oIkpwZWdJbWFnZS5wYXJzZSAtIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgaW1hZ2UgZGF0YSB3aXRob3V0IGZpbmRpbmcgYW4gRU9JIG1hcmtlciAoMHhGRkQ5KS4iKTticmVhayBBfXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIHVua25vd24gbWFya2VyOiAiK2gudG9TdHJpbmcoMTYpKX1oPXJlYWRVaW50MTYoZSxzKTtzKz0yfWlmKCFpKXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIG5vIGZyYW1lIGRhdGEgZm91bmQuIik7dGhpcy53aWR0aD1pLnNhbXBsZXNQZXJMaW5lO3RoaXMuaGVpZ2h0PWkuc2NhbkxpbmVzO3RoaXMuamZpZj1yO3RoaXMuYWRvYmU9bjt0aGlzLmNvbXBvbmVudHM9W107Zm9yKGNvbnN0IGUgb2YgaS5jb21wb25lbnRzKXtjb25zdCB0PW9bZS5xdWFudGl6YXRpb25JZF07dCYmKGUucXVhbnRpemF0aW9uVGFibGU9dCk7dGhpcy5jb21wb25lbnRzLnB1c2goe2luZGV4OmUuaW5kZXgsb3V0cHV0OmJ1aWxkQ29tcG9uZW50RGF0YSgwLGUpLHNjYWxlWDplLmgvaS5tYXhILHNjYWxlWTplLnYvaS5tYXhWLGJsb2Nrc1BlckxpbmU6ZS5ibG9ja3NQZXJMaW5lLGJsb2Nrc1BlckNvbHVtbjplLmJsb2Nrc1BlckNvbHVtbn0pfXRoaXMubnVtQ29tcG9uZW50cz10aGlzLmNvbXBvbmVudHMubGVuZ3RofV9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxpPSExKXtjb25zdCBhPXRoaXMud2lkdGgvZSxzPXRoaXMuaGVpZ2h0L3Q7bGV0IHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkPTA7Y29uc3QgZj10aGlzLmNvbXBvbmVudHMubGVuZ3RoLHA9ZSp0KmYsbT1uZXcgVWludDhDbGFtcGVkQXJyYXkocCkseT1uZXcgVWludDMyQXJyYXkoZSksdz00Mjk0OTY3Mjg4O2xldCBEO2ZvcihoPTA7aDxmO2grKyl7cj10aGlzLmNvbXBvbmVudHNbaF07bj1yLnNjYWxlWCphO2c9ci5zY2FsZVkqcztkPWg7dT1yLm91dHB1dDtvPXIuYmxvY2tzUGVyTGluZSsxPDwzO2lmKG4hPT1EKXtmb3IoYz0wO2M8ZTtjKyspe2w9MHxjKm47eVtjXT0obCZ3KTw8M3w3Jmx9RD1ufWZvcihDPTA7Qzx0O0MrKyl7bD0wfEMqZztFPW8qKGwmdyl8KDcmbCk8PDM7Zm9yKGM9MDtjPGU7YysrKXttW2RdPXVbRSt5W2NdXTtkKz1mfX19bGV0IGI9dGhpcy5fZGVjb2RlVHJhbnNmb3JtO2l8fDQhPT1mfHxifHwoYj1uZXcgSW50MzJBcnJheShbLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTVdKSk7aWYoYilmb3IoaD0wO2g8cDspZm9yKGw9MCxRPTA7bDxmO2wrKyxoKyssUSs9MiltW2hdPShtW2hdKmJbUV0+PjgpK2JbUSsxXTtyZXR1cm4gbX1nZXQgX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKCl7cmV0dXJuIHRoaXMuYWRvYmU/ISF0aGlzLmFkb2JlLnRyYW5zZm9ybUNvZGU6Mz09PXRoaXMubnVtQ29tcG9uZW50cz8wIT09dGhpcy5fY29sb3JUcmFuc2Zvcm0mJig4MiE9PXRoaXMuY29tcG9uZW50c1swXS5pbmRleHx8NzEhPT10aGlzLmNvbXBvbmVudHNbMV0uaW5kZXh8fDY2IT09dGhpcy5jb21wb25lbnRzWzJdLmluZGV4KToxPT09dGhpcy5fY29sb3JUcmFuc2Zvcm19X2NvbnZlcnRZY2NUb1JnYihlKXtsZXQgdCxpLGE7Zm9yKGxldCBzPTAscj1lLmxlbmd0aDtzPHI7cys9Myl7dD1lW3NdO2k9ZVtzKzFdO2E9ZVtzKzJdO2Vbc109dC0xNzkuNDU2KzEuNDAyKmE7ZVtzKzFdPXQrMTM1LjQ1OS0uMzQ0KmktLjcxNCphO2VbcysyXT10LTIyNi44MTYrMS43NzIqaX1yZXR1cm4gZX1fY29udmVydFljY1RvUmdiYShlLHQpe2ZvcihsZXQgaT0wLGE9MCxzPWUubGVuZ3RoO2k8cztpKz0zLGErPTQpe2NvbnN0IHM9ZVtpXSxyPWVbaSsxXSxuPWVbaSsyXTt0W2FdPXMtMTc5LjQ1NisxLjQwMipuO3RbYSsxXT1zKzEzNS40NTktLjM0NCpyLS43MTQqbjt0W2ErMl09cy0yMjYuODE2KzEuNzcyKnI7dFthKzNdPTI1NX1yZXR1cm4gdH1fY29udmVydFljY2tUb1JnYihlKXtsZXQgdCxpLGEscyxyPTA7Zm9yKGxldCBuPTAsZz1lLmxlbmd0aDtuPGc7bis9NCl7dD1lW25dO2k9ZVtuKzFdO2E9ZVtuKzJdO3M9ZVtuKzNdO2VbcisrXT1pKigtNjYwNjM1NjY5NDIwMzY0ZS0xOSppKy4wMDA0MzcxMzA0NzU5MjYyMzIqYS01NDA4MDYxMDA2NDU5OWUtMTgqdCsuMDAwNDg0NDk3OTcxMjAyODEqcy0uMTU0MzYyMTUxODcxMTI2KS0xMjIuNjcxOTU0MDY4OTQrYSooLS4wMDA5NTc5NjQzNzg0NDU3NzMqYSsuMDAwODE3MDc2OTExMzQ2NjI1KnQtLjAwNDc3MjcxNDA1NDA4NzQ3KnMrMS41MzM4MDI1MzIyMTczNCkrdCooLjAwMDk2MTI1MDE4NDEzMDY4OCp0LS4wMDI2NjI1NzMzMjI4MzkzMypzKy40ODM1NzA4ODQ1MTI2NSkrcyooLS4wMDAzMzYxOTcxNzc2MTgzOTQqcysuNDg0NzkxNTYxNDkwNzc2KTtlW3IrK109MTA3LjI2ODAzOTM5NzcyNCtpKigyMTk5MjcxMDQ1MjU3NDFlLTE5KmktLjAwMDY0MDk5MjAxODI5Nzk0NSphKy4wMDA2NTkzOTcwMDEyNDU1NzcqdCsuMDAwNDI2MTA1NjUyOTM4ODM3KnMtLjE3NjQ5MTc5MjQ2Mjg3NSkrYSooLS4wMDA3NzgyNjk5NDE1MTM2ODMqYSsuMDAxMzA4NzIyNjE0MDgyNzUqdCsuMDAwNzcwNDgyNjMxODAxMTMyKnMtLjE1MTA1MTQ5Mjc3NTU2MikrdCooLjAwMTI2OTM1MzY4MTE0ODQzKnQtLjAwMjY1MDkwMTg5MDEwODk4KnMrLjI1ODAyOTEwMjA2ODQ1KStzKigtLjAwMDMxODkxMzExNzU4ODMyOCpzLS4yMTM3NDI0MDAzMjM2NjUpO2VbcisrXT1pKigtLjAwMDU3MDExNTE5Njk3MzY3NyppLTI2MzQwOTA1MTAwNDU4OWUtMTkqYSsuMDAyMDc0MTA4ODExNTAxMip0LS4wMDI4ODI2MDIzNjg1MzQ0MipzKy44MTQyNzI5NjgzNTkyOTUpLTIwLjgxMDAxMjU0Njk0NythKigtMTUzNDk2MDU3NDQwOTc1ZS0xOSphLS4wMDAxMzI2ODkwNDM5NjE0NDYqdCsuMDAwNTYwODMzNjkxMjQyODEyKnMtLjE5NTE1MjAyNzUzNDA0OSkrdCooLjAwMTc0NDE4MTMyOTI3NTgyKnQtLjAwMjU1MjQzMzIxNDM5MzQ3KnMrLjExNjkzNTAyMDQ2NTE0NSkrcyooLS4wMDAzNDM1MzE5OTY1MTA1NTUqcysuMjQxNjUyNjAyMzI0MDcpfXJldHVybiBlLnN1YmFycmF5KDAscil9X2NvbnZlcnRZY2NrVG9SZ2JhKGUpe2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrPTQpe2NvbnN0IGk9ZVt0XSxhPWVbdCsxXSxzPWVbdCsyXSxyPWVbdCszXTtlW3RdPWEqKC02NjA2MzU2Njk0MjAzNjRlLTE5KmErLjAwMDQzNzEzMDQ3NTkyNjIzMipzLTU0MDgwNjEwMDY0NTk5ZS0xOCppKy4wMDA0ODQ0OTc5NzEyMDI4MSpyLS4xNTQzNjIxNTE4NzExMjYpLTEyMi42NzE5NTQwNjg5NCtzKigtLjAwMDk1Nzk2NDM3ODQ0NTc3MypzKy4wMDA4MTcwNzY5MTEzNDY2MjUqaS0uMDA0NzcyNzE0MDU0MDg3NDcqcisxLjUzMzgwMjUzMjIxNzM0KStpKiguMDAwOTYxMjUwMTg0MTMwNjg4KmktLjAwMjY2MjU3MzMyMjgzOTMzKnIrLjQ4MzU3MDg4NDUxMjY1KStyKigtLjAwMDMzNjE5NzE3NzYxODM5NCpyKy40ODQ3OTE1NjE0OTA3NzYpO2VbdCsxXT0xMDcuMjY4MDM5Mzk3NzI0K2EqKDIxOTkyNzEwNDUyNTc0MWUtMTkqYS0uMDAwNjQwOTkyMDE4Mjk3OTQ1KnMrLjAwMDY1OTM5NzAwMTI0NTU3NyppKy4wMDA0MjYxMDU2NTI5Mzg4Mzcqci0uMTc2NDkxNzkyNDYyODc1KStzKigtLjAwMDc3ODI2OTk0MTUxMzY4MypzKy4wMDEzMDg3MjI2MTQwODI3NSppKy4wMDA3NzA0ODI2MzE4MDExMzIqci0uMTUxMDUxNDkyNzc1NTYyKStpKiguMDAxMjY5MzUzNjgxMTQ4NDMqaS0uMDAyNjUwOTAxODkwMTA4OTgqcisuMjU4MDI5MTAyMDY4NDUpK3IqKC0uMDAwMzE4OTEzMTE3NTg4MzI4KnItLjIxMzc0MjQwMDMyMzY2NSk7ZVt0KzJdPWEqKC0uMDAwNTcwMTE1MTk2OTczNjc3KmEtMjYzNDA5MDUxMDA0NTg5ZS0xOSpzKy4wMDIwNzQxMDg4MTE1MDEyKmktLjAwMjg4MjYwMjM2ODUzNDQyKnIrLjgxNDI3Mjk2ODM1OTI5NSktMjAuODEwMDEyNTQ2OTQ3K3MqKC0xNTM0OTYwNTc0NDA5NzVlLTE5KnMtLjAwMDEzMjY4OTA0Mzk2MTQ0NippKy4wMDA1NjA4MzM2OTEyNDI4MTIqci0uMTk1MTUyMDI3NTM0MDQ5KStpKiguMDAxNzQ0MTgxMzI5Mjc1ODIqaS0uMDAyNTUyNDMzMjE0MzkzNDcqcisuMTE2OTM1MDIwNDY1MTQ1KStyKigtLjAwMDM0MzUzMTk5NjUxMDU1NSpyKy4yNDE2NTI2MDIzMjQwNyk7ZVt0KzNdPTI1NX1yZXR1cm4gZX1fY29udmVydFljY2tUb0NteWsoZSl7bGV0IHQsaSxhO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyO3MrPTQpe3Q9ZVtzXTtpPWVbcysxXTthPWVbcysyXTtlW3NdPTQzNC40NTYtdC0xLjQwMiphO2VbcysxXT0xMTkuNTQxLXQrLjM0NCppKy43MTQqYTtlW3MrMl09NDgxLjgxNi10LTEuNzcyKml9cmV0dXJuIGV9X2NvbnZlcnRDbXlrVG9SZ2IoZSl7bGV0IHQsaSxhLHMscj0wO2ZvcihsZXQgbj0wLGc9ZS5sZW5ndGg7bjxnO24rPTQpe3Q9ZVtuXTtpPWVbbisxXTthPWVbbisyXTtzPWVbbiszXTtlW3IrK109MjU1K3QqKC02NzQ3MTQ3MDczNjAyNDQxZS0yMCp0Ky4wMDA4Mzc5MjYyMTIxMDEzNzI3KmkrLjAwMDI4OTQ3MTgxODg2NDMyOTQqYSsuMDAzMjY0MjMxMDU3NTM3ODA2KnMtMS4xMTg1NjExODY3MjAzOTM3KStpKigyNjM3NDEwNzYxNjA4OTQwNWUtMjEqaS04NjI2OTQ5MTU4NjM4NTcyZS0yMCphLS4wMDAyNzQ4NzY5MDY3NDk5NDkxKnMtLjAyMTU1Njg4Nzk0OTc4OTY3KSthKigtMzg3ODA5OTIxMjg2OTM2M2UtMjAqYS0uMDAwMzI2NzgwODI3OTQ4NTI4NipzKy4wNjg2NzQyMjM4NTk1MzQ1KS1zKiguMDAwMzM2MTk3MTc3NjE4MzkzNypzKy43NDMwNjU5MTUxMzQyMjU0KTtlW3IrK109MjU1K3QqKC4wMDAxMzU5NjM3MjgxMzU4ODg0OCp0Ky4wMDA5MjQ1MzcxMzI1NzM1ODUqaSsuMDAwMTA1NjczNTk2MTg2ODM1OTMqYSsuMDAwNDc5MTg2NDY4NzQzNjUxMipzLS4zMTA5Njg5NTg3NTE1ODc1KStpKigtLjAwMDIzNTQ1MzQ2MTA4MzcwMzQ0KmkrLjAwMDI3MDI4NDUyNTM1MzQ3MTQqYSsuMDAyMDIwMDMwODk3NzMwNzE1NipzLS43NDg4MDUyMTY3MDE1NDk0KSthKig2ODM0ODE1OTk4MjM1NjYyZS0yMCphKy4wMDAxNTE2ODQ1MjM2MzQ2MDk3MypzLS4wOTc1MTkyNzc3NDcyODkzMyktcyooLjAwMDMxODkxMzExNzU4ODMyODEqcysuNzM2NDg4MzgwNzczMzE2OCk7ZVtyKytdPTI1NSt0KigxMzU5ODY1MDQxMTM4NTMwN2UtMjEqdCsuMDAwMTI0MjM5NTYxNzU0OTA4NTEqaSsuMDAwNDc1MTk4NTA5NzU4MzU4OSphLTM2NzI5MzE3NDc2NjMwNDIyZS0yMipzLS4wNTU2MjE4Njk4MDI2NDAzNCkraSooLjAwMDE2MTQxMzgwNTk4NzI0Njc2KmkrLjAwMDk2OTIyMzkxMzA3MjUxODYqYSsuMDAwNzc4MjY5MjQ1MDAzNjI1MypzLS40NDAxNTIzMjM2NzUyNjQ2MykrYSooNS4wNjg4ODI5MTQwNjg3NjllLTcqYSsuMDAxNzc3ODM2OTAxMTM3NTA3MSpzLS43NTkxNDU0NjQ5NzQ5NjA5KS1zKiguMDAwMzQzNTMxOTk2NTEwNTU1MypzKy43MDYzNzcwMTg2MTYwMTQ0KX1yZXR1cm4gZS5zdWJhcnJheSgwLHIpfV9jb252ZXJ0Q215a1RvUmdiYShlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz00KXtjb25zdCBpPWVbdF0sYT1lW3QrMV0scz1lW3QrMl0scj1lW3QrM107ZVt0XT0yNTUraSooLTY3NDcxNDcwNzM2MDI0NDFlLTIwKmkrLjAwMDgzNzkyNjIxMjEwMTM3MjcqYSsuMDAwMjg5NDcxODE4ODY0MzI5NCpzKy4wMDMyNjQyMzEwNTc1Mzc4MDYqci0xLjExODU2MTE4NjcyMDM5MzcpK2EqKDI2Mzc0MTA3NjE2MDg5NDA1ZS0yMSphLTg2MjY5NDkxNTg2Mzg1NzJlLTIwKnMtLjAwMDI3NDg3NjkwNjc0OTk0OTEqci0uMDIxNTU2ODg3OTQ5Nzg5NjcpK3MqKC0zODc4MDk5MjEyODY5MzYzZS0yMCpzLS4wMDAzMjY3ODA4Mjc5NDg1Mjg2KnIrLjA2ODY3NDIyMzg1OTUzNDUpLXIqKC4wMDAzMzYxOTcxNzc2MTgzOTM3KnIrLjc0MzA2NTkxNTEzNDIyNTQpO2VbdCsxXT0yNTUraSooLjAwMDEzNTk2MzcyODEzNTg4ODQ4KmkrLjAwMDkyNDUzNzEzMjU3MzU4NSphKy4wMDAxMDU2NzM1OTYxODY4MzU5MypzKy4wMDA0NzkxODY0Njg3NDM2NTEyKnItLjMxMDk2ODk1ODc1MTU4NzUpK2EqKC0uMDAwMjM1NDUzNDYxMDgzNzAzNDQqYSsuMDAwMjcwMjg0NTI1MzUzNDcxNCpzKy4wMDIwMjAwMzA4OTc3MzA3MTU2KnItLjc0ODgwNTIxNjcwMTU0OTQpK3MqKDY4MzQ4MTU5OTgyMzU2NjJlLTIwKnMrLjAwMDE1MTY4NDUyMzYzNDYwOTczKnItLjA5NzUxOTI3Nzc0NzI4OTMzKS1yKiguMDAwMzE4OTEzMTE3NTg4MzI4MSpyKy43MzY0ODgzODA3NzMzMTY4KTtlW3QrMl09MjU1K2kqKDEzNTk4NjUwNDExMzg1MzA3ZS0yMSppKy4wMDAxMjQyMzk1NjE3NTQ5MDg1MSphKy4wMDA0NzUxOTg1MDk3NTgzNTg5KnMtMzY3MjkzMTc0NzY2MzA0MjJlLTIyKnItLjA1NTYyMTg2OTgwMjY0MDM0KSthKiguMDAwMTYxNDEzODA1OTg3MjQ2NzYqYSsuMDAwOTY5MjIzOTEzMDcyNTE4NipzKy4wMDA3NzgyNjkyNDUwMDM2MjUzKnItLjQ0MDE1MjMyMzY3NTI2NDYzKStzKig1LjA2ODg4MjkxNDA2ODc2OWUtNypzKy4wMDE3Nzc4MzY5MDExMzc1MDcxKnItLjc1OTE0NTQ2NDk3NDk2MDkpLXIqKC4wMDAzNDM1MzE5OTY1MTA1NTUzKnIrLjcwNjM3NzAxODYxNjAxNDQpO2VbdCszXT0yNTV9cmV0dXJuIGV9Z2V0RGF0YSh7d2lkdGg6ZSxoZWlnaHQ6dCxmb3JjZVJHQkE6aT0hMSxmb3JjZVJHQjphPSExLGlzU291cmNlUERGOnM9ITF9KXtpZih0aGlzLm51bUNvbXBvbmVudHM+NCl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJVbnN1cHBvcnRlZCBjb2xvciBtb2RlIik7Y29uc3Qgcj10aGlzLl9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxzKTtpZigxPT09dGhpcy5udW1Db21wb25lbnRzJiYoaXx8YSkpe2NvbnN0IGU9ci5sZW5ndGgqKGk/NDozKSx0PW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtsZXQgYT0wO2lmKGkpIWZ1bmN0aW9uIGdyYXlUb1JHQkEoZSx0KXtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspdFtpXT02NTc5MyplW2ldfDQyNzgxOTAwODA7ZWxzZSBmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspdFtpXT0xNjg0MzAwOCplW2ldfDI1NX0ocixuZXcgVWludDMyQXJyYXkodC5idWZmZXIpKTtlbHNlIGZvcihjb25zdCBlIG9mIHIpe3RbYSsrXT1lO3RbYSsrXT1lO3RbYSsrXT1lfXJldHVybiB0fWlmKDM9PT10aGlzLm51bUNvbXBvbmVudHMmJnRoaXMuX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKXtpZihpKXtjb25zdCBlPW5ldyBVaW50OENsYW1wZWRBcnJheShyLmxlbmd0aC8zKjQpO3JldHVybiB0aGlzLl9jb252ZXJ0WWNjVG9SZ2JhKHIsZSl9cmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NUb1JnYihyKX1pZig0PT09dGhpcy5udW1Db21wb25lbnRzKXtpZih0aGlzLl9pc0NvbG9yQ29udmVyc2lvbk5lZWRlZClyZXR1cm4gaT90aGlzLl9jb252ZXJ0WWNja1RvUmdiYShyKTphP3RoaXMuX2NvbnZlcnRZY2NrVG9SZ2Iocik6dGhpcy5fY29udmVydFljY2tUb0NteWsocik7aWYoaSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYmEocik7aWYoYSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYihyKX1yZXR1cm4gcn19Y2xhc3MgSnBlZ1N0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1pfXN0YXRpYyBnZXQgY2FuVXNlSW1hZ2VEZWNvZGVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYW5Vc2VJbWFnZURlY29kZXIiLCJ1bmRlZmluZWQiPT10eXBlb2YgSW1hZ2VEZWNvZGVyP1Byb21pc2UucmVzb2x2ZSghMSk6SW1hZ2VEZWNvZGVyLmlzVHlwZVN1cHBvcnRlZCgiaW1hZ2UvanBlZyIpKX1nZXQgYnl0ZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsImJ5dGVzIix0aGlzLnN0cmVhbS5nZXRCeXRlcyh0aGlzLm1heWJlTGVuZ3RoKSl9ZW5zdXJlQnVmZmVyKGUpe31yZWFkQmxvY2soKXt0aGlzLmRlY29kZUltYWdlKCl9Z2V0IGpwZWdPcHRpb25zKCl7Y29uc3QgZT17ZGVjb2RlVHJhbnNmb3JtOnZvaWQgMCxjb2xvclRyYW5zZm9ybTp2b2lkIDB9LHQ9dGhpcy5kaWN0LmdldEFycmF5KCJEIiwiRGVjb2RlIik7aWYoKHRoaXMuZm9yY2VSR0JBfHx0aGlzLmZvcmNlUkdCKSYmQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgaT10aGlzLmRpY3QuZ2V0KCJCUEMiLCJCaXRzUGVyQ29tcG9uZW50Iil8fDgsYT10Lmxlbmd0aCxzPW5ldyBJbnQzMkFycmF5KGEpO2xldCByPSExO2NvbnN0IG49KDE8PGkpLTE7Zm9yKGxldCBlPTA7ZTxhO2UrPTIpe3NbZV09MjU2Kih0W2UrMV0tdFtlXSl8MDtzW2UrMV09dFtlXSpufDA7MjU2PT09c1tlXSYmMD09PXNbZSsxXXx8KHI9ITApfXImJihlLmRlY29kZVRyYW5zZm9ybT1zKX1pZih0aGlzLnBhcmFtcyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHQ9dGhpcy5wYXJhbXMuZ2V0KCJDb2xvclRyYW5zZm9ybSIpO051bWJlci5pc0ludGVnZXIodCkmJihlLmNvbG9yVHJhbnNmb3JtPXQpfXJldHVybiBzaGFkb3codGhpcywianBlZ09wdGlvbnMiLGUpfSN5KGUpe2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGgtMTt0PGk7dCsrKWlmKDI1NT09PWVbdF0mJjIxNj09PWVbdCsxXSl7dD4wJiYoZT1lLnN1YmFycmF5KHQpKTticmVha31yZXR1cm4gZX1kZWNvZGVJbWFnZShlKXtpZih0aGlzLmVvZilyZXR1cm4gdGhpcy5idWZmZXI7ZT10aGlzLiN5KGV8fHRoaXMuYnl0ZXMpO2NvbnN0IHQ9bmV3IEpwZWdJbWFnZSh0aGlzLmpwZWdPcHRpb25zKTt0LnBhcnNlKGUpO2NvbnN0IGk9dC5nZXREYXRhKHt3aWR0aDp0aGlzLmRyYXdXaWR0aCxoZWlnaHQ6dGhpcy5kcmF3SGVpZ2h0LGZvcmNlUkdCQTp0aGlzLmZvcmNlUkdCQSxmb3JjZVJHQjp0aGlzLmZvcmNlUkdCLGlzU291cmNlUERGOiEwfSk7dGhpcy5idWZmZXI9aTt0aGlzLmJ1ZmZlckxlbmd0aD1pLmxlbmd0aDt0aGlzLmVvZj0hMDtyZXR1cm4gdGhpcy5idWZmZXJ9Z2V0IGNhbkFzeW5jRGVjb2RlSW1hZ2VGcm9tQnVmZmVyKCl7cmV0dXJuIHRoaXMuc3RyZWFtLmlzQXN5bmN9YXN5bmMgZ2V0VHJhbnNmZXJhYmxlSW1hZ2UoKXtpZighYXdhaXQgSnBlZ1N0cmVhbS5jYW5Vc2VJbWFnZURlY29kZXIpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLmpwZWdPcHRpb25zO2lmKGUuZGVjb2RlVHJhbnNmb3JtKXJldHVybiBudWxsO2xldCB0O3RyeXtjb25zdCBpPXRoaXMuY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXImJmF3YWl0IHRoaXMuc3RyZWFtLmFzeW5jR2V0Qnl0ZXMoKXx8dGhpcy5ieXRlcztpZighaSlyZXR1cm4gbnVsbDtjb25zdCBhPXRoaXMuI3koaSk7aWYoIUpwZWdJbWFnZS5jYW5Vc2VJbWFnZURlY29kZXIoYSxlLmNvbG9yVHJhbnNmb3JtKSlyZXR1cm4gbnVsbDt0PW5ldyBJbWFnZURlY29kZXIoe2RhdGE6YSx0eXBlOiJpbWFnZS9qcGVnIixwcmVmZXJBbmltYXRpb246ITF9KTtyZXR1cm4oYXdhaXQgdC5kZWNvZGUoKSkuaW1hZ2V9Y2F0Y2goZSl7d2FybihgZ2V0VHJhbnNmZXJhYmxlSW1hZ2UgLSBmYWlsZWQ6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH1maW5hbGx5e3Q/LmNsb3NlKCl9fX12YXIgSWksY2k9KElpPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdD8uc3JjOnZvaWQgMCxmdW5jdGlvbihlPXt9KXt2YXIgdCxpLGE9ZTtuZXcgUHJvbWlzZSgoKGUsYSk9Pnt0PWU7aT1hfSkpO2EuZGVjb2RlPWZ1bmN0aW9uKGUse251bUNvbXBvbmVudHM6dD00LGlzSW5kZXhlZENvbG9ybWFwOmk9ITEsc21hc2tJbkRhdGE6cz0hMX0pe2NvbnN0IHI9ZS5sZW5ndGgsbj1hLl9tYWxsb2Mocik7YS5IRUFQVTguc2V0KGUsbik7Y29uc3QgZz1hLl9qcDJfZGVjb2RlKG4scix0PjA/dDowLCEhaSwhIXMpO2EuX2ZyZWUobik7aWYoZyl7Y29uc3R7ZXJyb3JNZXNzYWdlczplfT1hO2lmKGUpe2RlbGV0ZSBhLmVycm9yTWVzc2FnZXM7cmV0dXJuIGV9cmV0dXJuIlVua25vd24gZXJyb3IifWNvbnN0e2ltYWdlRGF0YTpvfT1hO2EuaW1hZ2VEYXRhPW51bGw7cmV0dXJuIG99O3ZhciBzLHI9T2JqZWN0LmFzc2lnbih7fSxhKSxuPSIuL3RoaXMucHJvZ3JhbSIsZz0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0JiYoZz1kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYyk7SWkmJihnPUlpKTtnPWcuc3RhcnRzV2l0aCgiYmxvYjoiKT8iIjpnLnN1YnN0cigwLGcucmVwbGFjZSgvWz8jXS4qLywiIikubGFzdEluZGV4T2YoIi8iKSsxKTt2YXIgbyxjLEMsaCxsLFE9YS5wcmludHx8Y29uc29sZS5sb2cuYmluZChjb25zb2xlKSxFPWEucHJpbnRFcnJ8fGNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKTtPYmplY3QuYXNzaWduKGEscik7cj1udWxsO2EuYXJndW1lbnRzJiZhLmFyZ3VtZW50czthLnRoaXNQcm9ncmFtJiYobj1hLnRoaXNQcm9ncmFtKTthLnF1aXQmJmEucXVpdDthLndhc21CaW5hcnkmJihvPWEud2FzbUJpbmFyeSk7ZnVuY3Rpb24gdHJ5UGFyc2VBc0RhdGFVUkkoZSl7aWYoaXNEYXRhVVJJKGUpKXJldHVybiBmdW5jdGlvbiBpbnRBcnJheUZyb21CYXNlNjQoZSl7Zm9yKHZhciB0PWF0b2IoZSksaT1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCksYT0wO2E8dC5sZW5ndGg7KythKWlbYV09dC5jaGFyQ29kZUF0KGEpO3JldHVybiBpfShlLnNsaWNlKEQubGVuZ3RoKSl9ZnVuY3Rpb24gdXBkYXRlTWVtb3J5Vmlld3MoKXt2YXIgZT1jLmJ1ZmZlcjthLkhFQVA4PUM9bmV3IEludDhBcnJheShlKTthLkhFQVAxNj1uZXcgSW50MTZBcnJheShlKTthLkhFQVBVOD1oPW5ldyBVaW50OEFycmF5KGUpO2EuSEVBUFUxNj1uZXcgVWludDE2QXJyYXkoZSk7YS5IRUFQMzI9bmV3IEludDMyQXJyYXkoZSk7YS5IRUFQVTMyPWw9bmV3IFVpbnQzMkFycmF5KGUpO2EuSEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGUpO2EuSEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGUpfXZhciB1LGQ9W10sZj1bXSxwPVtdLG09MCx5PW51bGwsdz1udWxsLEQ9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiLGlzRGF0YVVSST1lPT5lLnN0YXJ0c1dpdGgoRCk7ZnVuY3Rpb24gaW5zdGFudGlhdGVTeW5jKGUsdCl7dmFyIGksYT1mdW5jdGlvbiBnZXRCaW5hcnlTeW5jKGUpe2lmKGU9PXUmJm8pcmV0dXJuIG5ldyBVaW50OEFycmF5KG8pO3ZhciB0PXRyeVBhcnNlQXNEYXRhVVJJKGUpO2lmKHQpcmV0dXJuIHQ7aWYocylyZXR1cm4gcyhlKTt0aHJvdydzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZDogeW91IGNhbiBwcmVsb2FkIGl0IHRvIE1vZHVsZVsid2FzbUJpbmFyeSJdIG1hbnVhbGx5LCBvciBlbWNjLnB5IHdpbGwgZG8gdGhhdCBmb3IgeW91IHdoZW4gZ2VuZXJhdGluZyBIVE1MIChidXQgbm90IEpTKSd9KGUpO2k9bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShhKTtyZXR1cm5bbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKGksdCksaV19dmFyIGNhbGxSdW50aW1lQ2FsbGJhY2tzPWU9Pntmb3IoO2UubGVuZ3RoPjA7KWUuc2hpZnQoKShhKX07YS5ub0V4aXRSdW50aW1lO3ZhciBiLGdyb3dNZW1vcnk9ZT0+e3ZhciB0PShlLWMuYnVmZmVyLmJ5dGVMZW5ndGgrNjU1MzUpLzY1NTM2O3RyeXtjLmdyb3codCk7dXBkYXRlTWVtb3J5Vmlld3MoKTtyZXR1cm4gMX1jYXRjaChlKXt9fSxGPXt9LGdldEVudlN0cmluZ3M9KCk9PntpZighZ2V0RW52U3RyaW5ncy5zdHJpbmdzKXt2YXIgZT17VVNFUjoid2ViX3VzZXIiLExPR05BTUU6IndlYl91c2VyIixQQVRIOiIvIixQV0Q6Ii8iLEhPTUU6Ii9ob21lL3dlYl91c2VyIixMQU5HOigib2JqZWN0Ij09dHlwZW9mIG5hdmlnYXRvciYmbmF2aWdhdG9yLmxhbmd1YWdlcyYmbmF2aWdhdG9yLmxhbmd1YWdlc1swXXx8IkMiKS5yZXBsYWNlKCItIiwiXyIpKyIuVVRGLTgiLF86bnx8Ii4vdGhpcy5wcm9ncmFtIn07Zm9yKHZhciB0IGluIEYpdm9pZCAwPT09Rlt0XT9kZWxldGUgZVt0XTplW3RdPUZbdF07dmFyIGk9W107Zm9yKHZhciB0IGluIGUpaS5wdXNoKGAke3R9PSR7ZVt0XX1gKTtnZXRFbnZTdHJpbmdzLnN0cmluZ3M9aX1yZXR1cm4gZ2V0RW52U3RyaW5ncy5zdHJpbmdzfSxTPVtudWxsLFtdLFtdXSxrPSJ1bmRlZmluZWQiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik6dm9pZCAwLFVURjhBcnJheVRvU3RyaW5nPShlLHQsaSk9Pntmb3IodmFyIGE9dCtpLHM9dDtlW3NdJiYhKHM+PWEpOykrK3M7aWYocy10PjE2JiZlLmJ1ZmZlciYmaylyZXR1cm4gay5kZWNvZGUoZS5zdWJhcnJheSh0LHMpKTtmb3IodmFyIHI9IiI7dDxzOyl7dmFyIG49ZVt0KytdO2lmKDEyOCZuKXt2YXIgZz02MyZlW3QrK107aWYoMTkyIT0oMjI0Jm4pKXt2YXIgbz02MyZlW3QrK107aWYoKG49MjI0PT0oMjQwJm4pPygxNSZuKTw8MTJ8Zzw8NnxvOig3Jm4pPDwxOHxnPDwxMnxvPDw2fDYzJmVbdCsrXSk8NjU1MzYpcis9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtlbHNle3ZhciBjPW4tNjU1MzY7cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjPj4xMCw1NjMyMHwxMDIzJmMpfX1lbHNlIHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoKDMxJm4pPDw2fGcpfWVsc2Ugcis9U3RyaW5nLmZyb21DaGFyQ29kZShuKX1yZXR1cm4gcn0scHJpbnRDaGFyPShlLHQpPT57dmFyIGk9U1tlXTtpZigwPT09dHx8MTA9PT10KXsoMT09PWU/UTpFKShVVEY4QXJyYXlUb1N0cmluZyhpLDApKTtpLmxlbmd0aD0wfWVsc2UgaS5wdXNoKHQpfSxVVEY4VG9TdHJpbmc9KGUsdCk9PmU/VVRGOEFycmF5VG9TdHJpbmcoaCxlLHQpOiIiLFI9e2M6KGUsdCxpKT0+aC5jb3B5V2l0aGluKGUsdCx0K2kpLGc6ZnVuY3Rpb24gX2NvcHlfcGl4ZWxzXzEoZSx0KXtlPj49Mjtjb25zdCBpPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KSxzPWEuSEVBUDMyLnN1YmFycmF5KGUsZSt0KTtpLnNldChzKX0sZjpmdW5jdGlvbiBfY29weV9waXhlbHNfMyhlLHQsaSxzKXtlPj49Mjt0Pj49MjtpPj49Mjtjb25zdCByPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKnMpLG49YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3MpLGc9YS5IRUFQMzIuc3ViYXJyYXkodCx0K3MpLG89YS5IRUFQMzIuc3ViYXJyYXkoaSxpK3MpO2ZvcihsZXQgZT0wO2U8cztlKyspe3JbMyplXT1uW2VdO3JbMyplKzFdPWdbZV07clszKmUrMl09b1tlXX19LGU6ZnVuY3Rpb24gX2NvcHlfcGl4ZWxzXzQoZSx0LGkscyxyKXtlPj49Mjt0Pj49MjtpPj49MjtzPj49Mjtjb25zdCBuPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KnIpLGc9YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3IpLG89YS5IRUFQMzIuc3ViYXJyYXkodCx0K3IpLGM9YS5IRUFQMzIuc3ViYXJyYXkoaSxpK3IpLEM9YS5IRUFQMzIuc3ViYXJyYXkocyxzK3IpO2ZvcihsZXQgZT0wO2U8cjtlKyspe25bNCplXT1nW2VdO25bNCplKzFdPW9bZV07bls0KmUrMl09Y1tlXTtuWzQqZSszXT1DW2VdfX0sazplPT57dmFyIHQ9aC5sZW5ndGgsaT0yMTQ3NDgzNjQ4O2lmKChlPj4+PTApPmkpcmV0dXJuITE7Zm9yKHZhciBhLHMscj0xO3I8PTQ7cio9Mil7dmFyIG49dCooMSsuMi9yKTtuPU1hdGgubWluKG4sZSsxMDA2NjMyOTYpO3ZhciBnPU1hdGgubWluKGksKGE9TWF0aC5tYXgoZSxuKSkrKChzPTY1NTM2KS1hJXMpJXMpO2lmKGdyb3dNZW1vcnkoZykpcmV0dXJuITB9cmV0dXJuITF9LGw6KGUsdCk9Pnt2YXIgaT0wO2dldEVudlN0cmluZ3MoKS5mb3JFYWNoKCgoYSxzKT0+e3ZhciByPXQraTtsW2UrNCpzPj4yXT1yOygoZSx0KT0+e2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7KytpKUNbdCsrXT1lLmNoYXJDb2RlQXQoaSk7Q1t0XT0wfSkoYSxyKTtpKz1hLmxlbmd0aCsxfSkpO3JldHVybiAwfSxtOihlLHQpPT57dmFyIGk9Z2V0RW52U3RyaW5ncygpO2xbZT4+Ml09aS5sZW5ndGg7dmFyIGE9MDtpLmZvckVhY2goKGU9PmErPWUubGVuZ3RoKzEpKTtsW3Q+PjJdPWE7cmV0dXJuIDB9LG46ZT0+NTIsajpmdW5jdGlvbiBfZmRfc2VlayhlLHQsaSxhLHMpe3JldHVybiA3MH0sYjooZSx0LGksYSk9Pntmb3IodmFyIHM9MCxyPTA7cjxpO3IrKyl7dmFyIG49bFt0Pj4yXSxnPWxbdCs0Pj4yXTt0Kz04O2Zvcih2YXIgbz0wO288ZztvKyspcHJpbnRDaGFyKGUsaFtuK29dKTtzKz1nfWxbYT4+Ml09cztyZXR1cm4gMH0sbzpmdW5jdGlvbiBfZ3JheV90b19yZ2JhKGUsdCl7ZT4+PTI7Y29uc3QgaT1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkoNCp0KSxzPWEuSEVBUDMyLnN1YmFycmF5KGUsZSt0KTtmb3IobGV0IGU9MDtlPHQ7ZSsrKXtpWzQqZV09aVs0KmUrMV09aVs0KmUrMl09c1tlXTtpWzQqZSszXT0yNTV9fSxpOmZ1bmN0aW9uIF9ncmF5YV90b19yZ2JhKGUsdCxpKXtlPj49Mjt0Pj49Mjtjb25zdCBzPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KmkpLHI9YS5IRUFQMzIuc3ViYXJyYXkoZSxlK2kpLG49YS5IRUFQMzIuc3ViYXJyYXkodCx0K2kpO2ZvcihsZXQgZT0wO2U8aTtlKyspe3NbNCplXT1zWzQqZSsxXT1zWzQqZSsyXT1yW2VdO3NbNCplKzNdPW5bZV19fSxkOmZ1bmN0aW9uIF9qc1ByaW50V2FybmluZyhlKXtjb25zdCB0PVVURjhUb1N0cmluZyhlKTsoYS53YXJufHxjb25zb2xlLndhcm4pKGBPcGVuSlBFRzogJHt0fWApfSxoOmZ1bmN0aW9uIF9yZ2JfdG9fcmdiYShlLHQsaSxzKXtlPj49Mjt0Pj49MjtpPj49Mjtjb25zdCByPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KnMpLG49YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3MpLGc9YS5IRUFQMzIuc3ViYXJyYXkodCx0K3MpLG89YS5IRUFQMzIuc3ViYXJyYXkoaSxpK3MpO2ZvcihsZXQgZT0wO2U8cztlKyspe3JbNCplXT1uW2VdO3JbNCplKzFdPWdbZV07cls0KmUrMl09b1tlXTtyWzQqZSszXT0yNTV9fSxhOmZ1bmN0aW9uIF9zdG9yZUVycm9yTWVzc2FnZShlKXtjb25zdCB0PVVURjhUb1N0cmluZyhlKTthLmVycm9yTWVzc2FnZXM/YS5lcnJvck1lc3NhZ2VzKz0iXG4iK3Q6YS5lcnJvck1lc3NhZ2VzPXR9fSxOPWZ1bmN0aW9uIGNyZWF0ZVdhc20oKXt2YXIgZT1mdW5jdGlvbiBnZXRXYXNtSW1wb3J0cygpe3JldHVybnthOlJ9fSgpO2Z1bmN0aW9uIHJlY2VpdmVJbnN0YW5jZShlLHQpe049ZS5leHBvcnRzO2M9Ti5wO3VwZGF0ZU1lbW9yeVZpZXdzKCk7IWZ1bmN0aW9uIGFkZE9uSW5pdChlKXtmLnVuc2hpZnQoZSl9KE4ucSk7IWZ1bmN0aW9uIHJlbW92ZVJ1bkRlcGVuZGVuY3koZSl7bS0tO2EubW9uaXRvclJ1bkRlcGVuZGVuY2llcz8uKG0pO2lmKDA9PW0pe2lmKG51bGwhPT15KXtjbGVhckludGVydmFsKHkpO3k9bnVsbH1pZih3KXt2YXIgdD13O3c9bnVsbDt0KCl9fX0oKTtyZXR1cm4gTn0hZnVuY3Rpb24gYWRkUnVuRGVwZW5kZW5jeShlKXttKys7YS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzPy4obSl9KCk7aWYoYS5pbnN0YW50aWF0ZVdhc20pdHJ5e3JldHVybiBhLmluc3RhbnRpYXRlV2FzbShlLHJlY2VpdmVJbnN0YW5jZSl9Y2F0Y2goZSl7RShgTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogJHtlfWApO2koZSl9dXx8KHU9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJ6Z0VhWUFOL2YzOEJmMkFFZjM5L2Z3Ri9ZQUYvQUdBQ2YzOEFZQUYvQVg5Z0EzOS9md0JnQW45L0FYOWdCSDkvZjM4QVlBTi9mbjhCZm1BRmYzOS9mMzhCZjJBQ2ZuOEJmMkFDZm44QmZtQUZmMzkvZjM4QVlBTi9mbjhCZjJBQUFYOWdCMzkvZjM5L2YzOEJmMkFKZjM5L2YzOS9mMzkvQVg5Z0MzOS9mMzkvZjM5L2YzOS9BWDlnQm45L2YzOS9md0YvWUFaL2ZIOS9mMzhCZjJBSWYzOS9mMzkvZjM4QVlBaC9mMzkvZjM5L2Z3Ri9ZQUFBWUFaL2YzOS9mMzhBWUFkL2YzOS9mMzkvQUdBQ2ZIOEJmQUpiRHdGaEFXRUFBZ0ZoQVdJQUFRRmhBV01BQlFGaEFXUUFBZ0ZoQVdVQURBRmhBV1lBQndGaEFXY0FBd0ZoQVdnQUJ3RmhBV2tBQlFGaEFXb0FDUUZoQVdzQUJBRmhBV3dBQmdGaEFXMEFCZ0ZoQVc0QUJBRmhBVzhBQXdQQUFiNEJCd0lGQUFZRUFBVUdCQVVCQkF3RkZBWUNBZ0lDQUFZUUVRUUNDaElDQlFJRUJ3UUNEZ0lDRFFZQ0ZRTUhBQUFFQXdFV0NRa0RBQWtHQVFRRUJRVU9Ed0VCQXdBREJnSVFCQmNZQWdjR0F3Y0hBUUVDQUFRWkJBWUhCQThNQUFRQ0FnSUFCZ0FHQVFFQkFRRUJBUUVBQUFBQUFBWURBZ0lDQXdNREF3TUFBeE1JQkE0RUFBZ0RBd2tFQ0FvTENBQUFBUUVCQVFFQkFRRU5BUUFFQkFVSkR3RVNFUUVBQUFZREF3RUZCUVVGQlFVRkJRRUxBUUVCQVFFQkFRRUJDZ1FGQVhBQmJtNEZCd0VCZ2dLQWdBSUdDQUYvQVVHUTJRVUxCeHNHQVhBQ0FBRnhBRUVCY2dDWUFRRnpBQkFCZEFFQUFYVUFsd0VKdlFFQkFFRUJDMjFSekFIQ0FYTnpOcWNCbkFHWkFZc0JpZ0dKQVlnQmh3R0dBWVVCaEFGU2dRR0FBWDkrZlh4N2VubDRkM1oxeXdIS0Fja0J5QUhIQWNZQlFNVUJ4QUZBUU1NQndRSEFBYjhCdmdHOUFid0J1d0c2QWJrQnN3R29BYVlCcFFHa0FhTUJvZ0doQWFBQm53R2VBWjBCbXdHYUFVbEtURkpJZ3dGVE9GQ0NBVTlGUms0cko2c0JxZ0dzQWJRQnVBRzFBYThCcVFHdEFhNEJ0Z0czQVhDd0FiRUJzZ0ZSbGdHVkFZd0JqZ0dOQVpJQmt3R1VBWkFCandFS2tab092Z0dDQWdFRGZ5TUFRWkFFYXlJRUpBQUNRQ0FBUlEwQUFrQUNRQUpBQWtBZ0FVRUJhdzRFQUFFRUFnUUxJQUJCREdvaEFRd0NDeUFBUVJCcUlRRWdBRUVFYWlFQURBRUxJQUJCRkdvaEFTQUFRUWhxSVFBTElBRW9BZ0FpQlVVTkFDQUNSUTBBSUFBb0FnQWhCaUFFUVFCQmdBUVFGU0lCSUFNMkFvd0VJd0JCb0FGcklnQWtBQ0FBSUFFMkFwUUJJQUJCL3dNMkFwZ0JJQUJCQUVHUUFSQVZJZ0JCZnpZQ1RDQUFRZVlBTmdJa0lBQkJmellDVUNBQUlBQkJud0ZxTmdJc0lBQWdBRUdVQVdvMkFsUWdBVUVBT2dBQUlBQWdBaUFEUWVjQVFlZ0FFR3NnQUVHZ0FXb2tBQ0FCUVFBNkFQOERJQUVnQmlBRkVRTUFDeUFFUVpBRWFpUUFDOUFDQVFWL0lBQUVRQ0FBUVFScklnTW9BZ0FpQkNFQklBTWhBaUFBUVFocktBSUFJZ0FnQUVGK2NTSUFSd1JBSUFJZ0FHc2lBaWdDQkNJQklBSW9BZ2dpQlRZQ0NDQUZJQUUyQWdRZ0FDQUVhaUVCQ3lBRElBUnFJZ0FvQWdBaUF5QUFJQU5xUVFScktBSUFSd1JBSUFBb0FnUWlCQ0FBS0FJSUlnQTJBZ2dnQUNBRU5nSUVJQUVnQTJvaEFRc2dBaUFCTmdJQUlBSWdBVUY4Y1dwQkJHc2dBVUVCY2pZQ0FDQUNBbjhnQWlnQ0FFRUlheUlBUWY4QVRRUkFJQUJCQTNaQkFXc01BUXNnQUdjaEF5QUFRUjBnQTJ0MlFRUnpJQU5CQW5SclFlNEFhaUFBUWY4ZlRRMEFHa0UvSUFCQkhpQURhM1pCQW5NZ0EwRUJkR3RCeHdCcUlnQWdBRUUvVHhzTElnRkJCSFFpQUVHZ3h3RnFOZ0lFSUFJZ0FFR294d0ZxSWdBb0FnQTJBZ2dnQUNBQ05nSUFJQUlvQWdnZ0FqWUNCRUdvendGQnFNOEJLUU1BUWdFZ0FhMkdoRGNEQUFzTHlRSUJCSDhnQVVFQU5nSUFBa0FnQWtVTkFDQUJJQUpxSVFNQ1FDQUNRUkJKQkVBZ0FDRUJEQUVMQWtBZ0FDQUNhaUFCVFEwQUlBQWdBMDhOQUNBQUlRRU1BUXNnQTBFUWF5RUdJQUFnQWtGd2NTSUZhaUVCSUFNZ0JXc2hBd05BSUFZZ0JHc2dBQ0FFYXYwQUFBRDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlEUThPRFF3TENna0lCd1lGQkFNQ0FRRDlDd0FBSUFSQkVHb2lCQ0FGUncwQUN5QUNJQVZHRFFFTEFrQWdBa0VEY1NJR1JRUkFJQVVoQkF3QkMwRUFJUUFnQlNFRUEwQWdBMEVCYXlJRElBRXRBQUE2QUFBZ0JFRUJhaUVFSUFGQkFXb2hBU0FBUVFGcUlnQWdCa2NOQUFzTElBVWdBbXRCZkVzTkFBTkFJQU5CQVdzZ0FTMEFBRG9BQUNBRFFRSnJJQUV0QUFFNkFBQWdBMEVEYXlBQkxRQUNPZ0FBSUFOQkJHc2lBeUFCTFFBRE9nQUFJQUZCQkdvaEFTQUVRUVJxSWdRZ0FrY05BQXNMQzRBRUFRTi9JQUpCZ0FSUEJFQWdBQ0FCSUFJUUFpQUFEd3NnQUNBQ2FpRURBa0FnQUNBQmMwRURjVVVFUUFKQUlBQkJBM0ZGQkVBZ0FDRUNEQUVMSUFKRkJFQWdBQ0VDREFFTElBQWhBZ05BSUFJZ0FTMEFBRG9BQUNBQlFRRnFJUUVnQWtFQmFpSUNRUU54UlEwQklBSWdBMGtOQUFzTEFrQWdBMEY4Y1NJRVFjQUFTUTBBSUFJZ0JFRkFhaUlGU3cwQUEwQWdBaUFCS0FJQU5nSUFJQUlnQVNnQ0JEWUNCQ0FDSUFFb0FnZzJBZ2dnQWlBQktBSU1OZ0lNSUFJZ0FTZ0NFRFlDRUNBQ0lBRW9BaFEyQWhRZ0FpQUJLQUlZTmdJWUlBSWdBU2dDSERZQ0hDQUNJQUVvQWlBMkFpQWdBaUFCS0FJa05nSWtJQUlnQVNnQ0tEWUNLQ0FDSUFFb0FpdzJBaXdnQWlBQktBSXdOZ0l3SUFJZ0FTZ0NORFlDTkNBQ0lBRW9BamcyQWpnZ0FpQUJLQUk4TmdJOElBRkJRR3NoQVNBQ1FVQnJJZ0lnQlUwTkFBc0xJQUlnQkU4TkFRTkFJQUlnQVNnQ0FEWUNBQ0FCUVFScUlRRWdBa0VFYWlJQ0lBUkpEUUFMREFFTElBTkJCRWtFUUNBQUlRSU1BUXNnQUNBRFFRUnJJZ1JMQkVBZ0FDRUNEQUVMSUFBaEFnTkFJQUlnQVMwQUFEb0FBQ0FDSUFFdEFBRTZBQUVnQWlBQkxRQUNPZ0FDSUFJZ0FTMEFBem9BQXlBQlFRUnFJUUVnQWtFRWFpSUNJQVJORFFBTEN5QUNJQU5KQkVBRFFDQUNJQUV0QUFBNkFBQWdBVUVCYWlFQklBSkJBV29pQWlBRFJ3MEFDd3NnQUFzd0FRRi9Ba0FnQUVVTkFDQUJSUTBBUVFnZ0FDQUJiQ0lCRUNVaUFBUkFJQUJCQUNBQkVCVWFDeUFBSVFJTElBSUxFUUFnQUVVRVFFRUFEd3RCQ0NBQUVDVUw4Z0lDQW44QmZnSkFJQUpGRFFBZ0FDQUJPZ0FBSUFBZ0Ftb2lBMEVCYXlBQk9nQUFJQUpCQTBrTkFDQUFJQUU2QUFJZ0FDQUJPZ0FCSUFOQkEyc2dBVG9BQUNBRFFRSnJJQUU2QUFBZ0FrRUhTUTBBSUFBZ0FUb0FBeUFEUVFScklBRTZBQUFnQWtFSlNRMEFJQUJCQUNBQWEwRURjU0lFYWlJRElBRkIvd0Z4UVlHQ2hBaHNJZ0UyQWdBZ0F5QUNJQVJyUVh4eElnUnFJZ0pCQkdzZ0FUWUNBQ0FFUVFsSkRRQWdBeUFCTmdJSUlBTWdBVFlDQkNBQ1FRaHJJQUUyQWdBZ0FrRU1heUFCTmdJQUlBUkJHVWtOQUNBRElBRTJBaGdnQXlBQk5nSVVJQU1nQVRZQ0VDQURJQUUyQWd3Z0FrRVFheUFCTmdJQUlBSkJGR3NnQVRZQ0FDQUNRUmhySUFFMkFnQWdBa0VjYXlBQk5nSUFJQVFnQTBFRWNVRVljaUlFYXlJQ1FTQkpEUUFnQWExQ2dZQ0FnQkIrSVFVZ0F5QUVhaUVCQTBBZ0FTQUZOd01ZSUFFZ0JUY0RFQ0FCSUFVM0F3Z2dBU0FGTndNQUlBRkJJR29oQVNBQ1FTQnJJZ0pCSDBzTkFBc0xJQUFMSndFQmZ5TUFRUkJySWdNa0FDQURJQUkyQWd3Z0FDQUJJQUpCQUVFQUVHc2dBMEVRYWlRQUMrZ0ZBUWwvSUFGRkJFQkJBQThMQW44Z0FFVUVRRUVJSUFFUUpRd0JDeUFCUlFSQUlBQVFFRUVBREFFTEFrQWdBVUZIU3cwQUlBQUNmMEVJSUFGQkEycEJmSEVnQVVFSVRSc2lCMEVJYWlFQkFrQUNmd0pBSUFCQkJHc2lDaUlFS0FJQUlnVWdCR29pQWlnQ0FDSUpJQUlnQ1dvaUNFRUVheWdDQUVjRVFDQUlJQUVnQkdvaUEwRVFhazhFUUNBQ0tBSUVJZ1VnQWlnQ0NDSUNOZ0lJSUFJZ0JUWUNCQ0FESUFnZ0Eyc2lBallDQUNBRElBSkJmSEZxUVFScklBSkJBWEkyQWdBZ0F3Si9JQU1vQWdCQkNHc2lBa0gvQUUwRVFDQUNRUU4yUVFGckRBRUxJQUpCSFNBQ1p5SUZhM1pCQkhNZ0JVRUNkR3RCN2dCcUlBSkIveDlORFFBYVFUOGdBa0VlSUFWcmRrRUNjeUFGUVFGMGEwSEhBR29pQWlBQ1FUOVBHd3NpQWtFRWRDSUZRYURIQVdvMkFnUWdBeUFGUWFqSEFXb2lCU2dDQURZQ0NDQUZJQU0yQWdBZ0F5Z0NDQ0FETmdJRVFhalBBVUdvendFcEF3QkNBU0FDcllhRU53TUFJQVFnQVRZQ0FBd0VDeUFESUFoTERRRWdBaWdDQkNJQklBSW9BZ2dpQXpZQ0NDQURJQUUyQWdRZ0JDQUZJQWxxSWdFMkFnQU1Bd3NnQlNBQlFSQnFUd1JBSUFRZ0FUWUNBQ0FFSUFGQmZIRnFRUVJySUFFMkFnQWdBU0FFYWlJRElBVWdBV3NpQVRZQ0FDQURJQUZCZkhGcVFRUnJJQUZCQVhJMkFnQWdBd0ovSUFNb0FnQkJDR3NpQVVIL0FFMEVRQ0FCUVFOMlFRRnJEQUVMSUFGQkhTQUJaeUlFYTNaQkJITWdCRUVDZEd0QjdnQnFJQUZCL3g5TkRRQWFRVDhnQVVFZUlBUnJka0VDY3lBRVFRRjBhMEhIQUdvaUFTQUJRVDlQR3dzaUFVRUVkQ0lFUWFESEFXbzJBZ1FnQXlBRVFhakhBV29pQkNnQ0FEWUNDQ0FFSUFNMkFnQWdBeWdDQ0NBRE5nSUVRYWpQQVVHb3p3RXBBd0JDQVNBQnJZYUVOd01BUVFFTUJBdEJBU0FCSUFWTkRRRWFDMEVBQ3d3QkN5QUVJQUZCZkhGcVFRUnJJQUUyQWdCQkFRc05BUnBCQ0NBSEVDVWlBVVVOQUNBQklBQWdCeUFLS0FJQVFRaHJJZ1lnQmlBSFN4c1FFaG9nQUJBUUlBRWhCZ3NnQmdzTE53RUNmeU1BUVJCcklnRWtBQ0FBQkg4Z0FVRU1ha0VRSUFBUWJDRUFRUUFnQVNnQ0RDQUFHd1ZCQUFzaEFpQUJRUkJxSkFBZ0Fnc1hBQ0FBTFFBQVFTQnhSUVJBSUFFZ0FpQUFFRDBhQ3d1OEJBRUZmeUFDSUFBb0FqQWlCVTBFUUNBQklBQW9BaVFnQWhBU0dpQUFJQUFvQWlRZ0FtbzJBaVFnQUNBQUtBSXdJQUpyTmdJd0lBQWdBQ2tET0NBQ3JYdzNBemdnQWc4TElBQXRBRVJCQkhFRVFDQUJJQUFvQWlRZ0JSQVNHaUFBS0FJd0lRRWdBRUVBTmdJd0lBQWdBU0FBS0FJa2FqWUNKQ0FBSUFBcEF6Z2dBYTE4TndNNElBVkJmeUFGR3c4TEFrQWdCUVJBSUFFZ0FDZ0NKQ0FGRUJJaEJDQUFJQUFvQWlBaUJ6WUNKQ0FBS0FJd0lRRWdBRUVBTmdJd0lBQWdBQ2tET0NBQnJYdzNBemdnQWlBQmF5RUNJQUVnQkdvaEFRd0JDeUFBSUFBb0FpQWlCellDSkFzQ1FBSkFBMEFDUUNBQUtBSUFJUVFnQUNnQ0VDRUdBa0FnQUNnQ1FDSUlJQUpMQkVBZ0FDQUhJQWdnQkNBR0VRQUFJZ1kyQWpBZ0JrRi9SZ1JBREFZTElBSWdCazBOQWlBQklBQW9BaVFnQmhBU0dpQUFJQUFvQWlBaUJ6WUNKQ0FBS0FJd0lRUU1BUXNnQUNBQklBSWdCQ0FHRVFBQUlnUTJBakFnQkVGL1JnUkFEQVVMSUFJZ0JFME5BeUFBSUFBb0FpQWlCellDSkNBRUlRWUxJQUJCQURZQ01DQUFJQUFwQXpnZ0JLMThOd000SUFFZ0JHb2hBU0FDSUFScklRSWdCU0FHYWlFRkRBRUxDeUFCSUFBb0FpUWdBaEFTR2lBQUlBQW9BaVFnQW1vMkFpUWdBQ0FBS0FJd0lBSnJOZ0l3SUFBZ0FDa0RPQ0FDclh3M0F6Z2dBaUFGYWc4TElBQkJBRFlDTUNBQUlBQW9BaUEyQWlRZ0FDQUFLUU00SUFTdGZEY0RPQ0FFSUFWcUR3c2dBMEVFUVp2MUFFRUFFQThnQUVFQU5nSXdJQUFnQUNnQ1JFRUVjallDUkNBRlFYOGdCUnNMaXdjQ0RYOEJmaUFBS0FJUUlnZEJJRThFUUNBQUtRTUlwdzhMQWtBZ0FDZ0NHQ0lDUVFST0JFQWdBQ2dDQUNJQktBSUFJUVFnQUNBQ1FRUnJJZ1UyQWhnZ0FDQUJRUVJxTmdJQURBRUxRWDlCQUNBQUtBSWNHeUVFSUFKQkFFd0VRQ0FDSVFVTUFRc2dBa0VCY1NFTUlBQW9BZ0FoQVFKQUlBSkJBVVlFUUNBQklRWU1BUXNnQWtIKy8vLy9CM0VoQ2dOQUlBQWdBVUVCYWpZQ0FDQUJMUUFBSVFrZ0FDQUJRUUpxSWdZMkFnQWdBQ0FDUVFGck5nSVlJQUV0QUFFaEFTQUFJQUpCQW1zaUFqWUNHQ0FFUWY4QklBTjBRWDl6Y1NBSklBTjBja0dBL2dNZ0EzUkJmM054SUFFZ0EwRUljblJ5SVFRZ0EwRVFhaUVESUFZaEFTQUZRUUpxSWdVZ0NrY05BQXNMUVFBaEJTQU1SUTBBSUFBZ0JrRUJhallDQUNBR0xRQUFJUUVnQUNBQ1FRRnJOZ0lZSUFSQi93RWdBM1JCZjNOeElBRWdBM1J5SVFRTElBQW9BaFFoQVNBQUlBUkJHSFlpQ2tIL0FVWTJBaFFnQUVFSFFRZ2dBUnNpQVVFSFFRZ2dCRUgvQVhFaUJrSC9BVVliYWlJQ1FRZEJDQ0FFUVFoMlFmOEJjU0lEUWY4QlJodHFJZ2xCQjBFSUlBUkJFSFpCL3dGeElnUkIvd0ZHR3lBSGFtb2lDRFlDRUNBQUlBQXBBd2dnQXlBQmRDQUVJQUowY2lBS0lBbDBjaUFHY3EwZ0I2MkdoQ0lPTndNSUlBaEJIMDBFUUFKQUlBVkJCRTRFUUNBQUtBSUFJZ0VvQWdBaEFpQUFJQVZCQkdzMkFoZ2dBQ0FCUVFScU5nSUFEQUVMUVFBaEEwRi9RUUFnQUNnQ0hCc2hBaUFGUVFCTURRQWdCVUVCY1NFTklBQW9BZ0FoQVFKQUlBVkJBVVlFUUNBQklRUU1BUXNnQlVIKy8vLy9CM0VoQ1VFQUlRWURRQ0FBSUFGQkFXbzJBZ0FnQVMwQUFDRUxJQUFnQVVFQ2FpSUVOZ0lBSUFBZ0JVRUJhellDR0NBQkxRQUJJUUVnQUNBRlFRSnJJZ1UyQWhnZ0FrSC9BU0FEZEVGL2MzRWdDeUFEZEhKQmdQNERJQU4wUVg5emNTQUJJQU5CQ0hKMGNpRUNJQU5CRUdvaEF5QUVJUUVnQmtFQ2FpSUdJQWxIRFFBTEN5QU5SUTBBSUFBZ0JFRUJhallDQUNBRUxRQUFJUUVnQUNBRlFRRnJOZ0lZSUFKQi93RWdBM1JCZjNOeElBRWdBM1J5SVFJTElBQWdBa0VZZGlJQlFmOEJSallDRkNBQVFRZEJDQ0FLUWY4QlJoc2lCRUVIUVFnZ0FrSC9BWEVpQmtIL0FVWWJhaUlGUVFkQkNDQUNRUWgyUWY4QmNTSURRZjhCUmh0cUlnZEJCMEVJSUFKQkVIWkIvd0Z4SWdKQi93RkdHeUFJYW1vMkFoQWdBQ0FESUFSMElBSWdCWFJ5SUFFZ0IzUnlJQVp5clNBSXJZWWdEb1FpRGpjRENBc2dEcWNMYXdFQmZ5TUFRWUFDYXlJRkpBQUNRQ0FDSUFOTURRQWdCRUdBd0FSeERRQWdCU0FCSUFJZ0Eyc2lBMEdBQWlBRFFZQUNTU0lCR3hBVkdpQUJSUVJBQTBBZ0FDQUZRWUFDRUJrZ0EwR0FBbXNpQTBIL0FVc05BQXNMSUFBZ0JTQURFQmtMSUFWQmdBSnFKQUFMTVFBZ0FRSi9JQUlvQWt4QkFFZ0VRQ0FBSUFFZ0FoQTlEQUVMSUFBZ0FTQUNFRDBMSWdCR0JFQVBDeUFBSUFGdUdnc1hBQ0FBSUFFZ0FpQURJQVFnQlNBR0lBZEJBUkFtR2d1aEFRRUVmeUFCUVFCTUJFQkJBQThMSUFBb0Fnd2hBaUFBS0FJUUlRTURRQ0FCSVFVQ1FDQUREUUFnQUNBQ1FRaDBRWUQrQTNFaUFqWUNEQ0FBUVFkQkNDQUNRWUQrQTBZYklnTTJBaEFnQUNnQ0NDSUJJQUFvQWdSUERRQWdBQ0FCUVFGcU5nSUlJQUFnQWlBQkxRQUFjaUlDTmdJTUN5QUFJQU5CQVdzaUF6WUNFQ0FDSUFOMlFRRnhJQVZCQVdzaUFYUWdCSEloQkNBRlFRRkxEUUFMSUFRTEhnQWdBQ2dDREFSQUlBQkJBRFlDS0FOQUlBQW9BaGhCQUVvTkFBc0xDMm9CQTM4Z0FBUkFJQUFvQWhnaUFRUkFJQUFvQWhBaUFnUi9RUUFoQVFOQUlBQW9BaGdnQVVFMGJHb29BaXdpQXdSQUlBTVFFQ0FBS0FJUUlRSUxJQUZCQVdvaUFTQUNTUTBBQ3lBQUtBSVlCU0FCQ3hBUUN5QUFLQUljSWdFRVFDQUJFQkFMSUFBUUVBc0xraFVCRDM4Q1FBSkFJQUFvQWd4RkJFQkJBU0VQSUFBb0FnUkJBRW9OQVNBQUtBSUlRUUZLRFFFTUFndEJBU0VOSUFBb0FnaEJBRW9OQUNBQUtBSUVRUUpJRFFFTElBQW9BZ0FpQ0NBTlFRVjBhaUVFQWtBZ0FDZ0NFQ0lISUFBb0FoUWlDazhOQUNBRUlBZEJCblJxSVFFQ1FDQUtJQWRyUVFOeElnWkZCRUFnQnlFQ0RBRUxJQWNoQWdOQUlBRWdBZjBBQkFEOURGaDJuVDlZZHAwL1dIYWRQMWgyblQvOTVnSDlDd1FBSUFFZ0FmMEFCQkQ5REZoMm5UOVlkcDAvV0hhZFAxaDJuVC85NWdIOUN3UVFJQUZCUUdzaEFTQUNRUUZxSVFJZ0EwRUJhaUlESUFaSERRQUxDeUFISUFwclFYeExEUUFEUUNBQklBSDlBQVFBL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VBQ0FCSUFIOUFBUVEvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRUVDQUJJQUg5QUFSQS9ReFlkcDAvV0hhZFAxaDJuVDlZZHAwLy9lWUIvUXNFUUNBQklBSDlBQVJRL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VVQ0FCSUFIOUFBU0FBZjBNV0hhZFAxaDJuVDlZZHAwL1dIYWRQLzNtQWYwTEJJQUJJQUVnQWYwQUJKQUIvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRWtBRWdBU0FCL1FBRXdBSDlERmgyblQ5WWRwMC9XSGFkUDFoMm5ULzk1Z0g5Q3dUQUFTQUJJQUg5QUFUUUFmME1XSGFkUDFoMm5UOVlkcDAvV0hhZFAvM21BZjBMQk5BQklBRkJnQUpxSVFFZ0FrRUVhaUlDSUFwSERRQUxDeUFJSUE5QkJYUnFJUVVDUUNBQUtBSVlJZ1lnQUNnQ0hDSUxUdzBBSUFVZ0JrRUdkR29oQVFKQUlBc2dCbXRCQTNFaUNFVUVRQ0FHSVFJTUFRdEJBQ0VESUFZaEFnTkFJQUVnQWYwQUJBRDlEQUFZMEQ4QUdOQS9BQmpRUHdBWTBELzk1Z0g5Q3dRQUlBRWdBZjBBQkJEOURBQVkwRDhBR05BL0FCalFQd0FZMEQvOTVnSDlDd1FRSUFGQlFHc2hBU0FDUVFGcUlRSWdBMEVCYWlJRElBaEhEUUFMQ3lBR0lBdHJRWHhMRFFBRFFDQUJJQUg5QUFRQS9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFQUNBQklBSDlBQVFRL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VFQ0FCSUFIOUFBUkEvUXdBR05BL0FCalFQd0FZMEQ4QUdOQS8vZVlCL1FzRVFDQUJJQUg5QUFSUS9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFVUNBQklBSDlBQVNBQWYwTUFCalFQd0FZMEQ4QUdOQS9BQmpRUC8zbUFmMExCSUFCSUFFZ0FmMEFCSkFCL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VrQUVnQVNBQi9RQUV3QUg5REFBWTBEOEFHTkEvQUJqUVB3QVkwRC85NWdIOUN3VEFBU0FCSUFIOUFBVFFBZjBNQUJqUVB3QVkwRDhBR05BL0FCalFQLzNtQWYwTEJOQUJJQUZCZ0FKcUlRRWdBa0VFYWlJQ0lBdEhEUUFMQ3lBS0lBQW9BZ2dpQ1NBQUtBSUVJZzRnRFdzaUFDQUFJQWxLR3lJSUlBZ2dDa3NiSVF3Z0JFRWdhaUVCQW44Z0IwVUVRQ0FNUlFSQVFRQWhBeUFCREFJTElBUWdCUDBBQkFBZ0JmMEFCQUFnQlAwQUJDRDk1QUg5REZVVDR6NVZFK00rVlJQalBsVVQ0ejc5NWdIOTVRSDlDd1FBSUFRZ0JQMEFCQkFnQmYwQUJCQWdCUDBBQkREOTVBSDlERlVUNHo1VkUrTStWUlBqUGxVVDR6Nzk1Z0g5NVFIOUN3UVFRUUVoQXlBRVFlQUFhZ3dCQ3lBQklBY2lBMEVHZEdvTElRSWdBeUFNU1FSQUEwQWdBa0VnYXlJQUlBRDlBQVFBSUFKQlFHcjlBQVFBSUFMOUFBUUEvZVFCL1F4VkUrTStWUlBqUGxVVDR6NVZFK00rL2VZQi9lVUIvUXNFQUNBQ1FSQnJJZ0FnQVAwQUJBQWdBa0V3YS8wQUJBQWdBdjBBQkJEOTVBSDlERlVUNHo1VkUrTStWUlBqUGxVVDR6Nzk1Z0g5NVFIOUN3UUFJQUpCUUdzaEFpQURRUUZxSWdNZ0RFY05BQXNMSUFnZ0NrOGlEVVVFUUNBQ1FTQnJJZ0FnQVAwQUJBQWdBa0ZBYXYwQUJBRDlERlVUWXo5VkUyTS9WUk5qUDFVVFl6Lzk1Z0g5NVFIOUN3UUFJQUpCRUdzaUFDQUEvUUFFQUNBQ1FUQnIvUUFFQVAwTVZSTmpQMVVUWXo5VkUyTS9WUk5qUC8zbUFmM2xBZjBMQkFBTElBc2dEaUFKSUE5cklnQWdBQ0FPU2hzaURpQUxJQTVKR3lFSklBVkJJR29oQWlBSkFuOGdCa1VFUUNBSlJRUkFJQUloQTBFQURBSUxJQVVnQmYwQUJBQWdCUDBBQkFBZ0JmMEFCQ0Q5NUFIOURIWUdZajkyQm1JL2RnWmlQM1lHWWovOTVnSDk1UUg5Q3dRQUlBVWdCZjBBQkJBZ0JQMEFCQkFnQmYwQUJERDk1QUg5REhZR1lqOTJCbUkvZGdaaVAzWUdZai85NWdIOTVRSDlDd1FRSUFWQjRBQnFJUU5CQVF3QkN5QUNJQVpCQm5ScUlRTWdCZ3NpQUVzRVFBTkFJQU5CSUdzaUNDQUkvUUFFQUNBRFFVQnEvUUFFQUNBRC9RQUVBUDNrQWYwTWRnWmlQM1lHWWo5MkJtSS9kZ1ppUC8zbUFmM2xBZjBMQkFBZ0EwRVFheUlJSUFqOUFBUUFJQU5CTUd2OUFBUUFJQVA5QUFRUS9lUUIvUXgyQm1JL2RnWmlQM1lHWWo5MkJtSS8vZVlCL2VVQi9Rc0VBQ0FEUVVCcklRTWdBRUVCYWlJQUlBbEhEUUFMQ3lBTElBNU5JZ2hGQkVBZ0EwRWdheUlBSUFEOUFBUUFJQU5CUUdyOUFBUUEvUXgyQnVJL2RnYmlQM1lHNGo5MkJ1SS8vZVlCL2VVQi9Rc0VBQ0FEUVJCcklnQWdBUDBBQkFBZ0EwRXdhLzBBQkFEOURIWUc0ajkyQnVJL2RnYmlQM1lHNGovOTVnSDk1UUg5Q3dRQUN3SkFJQWRGQkVBZ0RFVUVRRUVBSVFjTUFnc2dCQ0FFL1FBRUFDQUYvUUFFQUNBRS9RQUVJUDNrQWYwTXJnRlpQYTRCV1QydUFWazlyZ0ZaUGYzbUFmM2tBZjBMQkFBZ0JDQUUvUUFFRUNBRi9RQUVFQ0FFL1FBRU1QM2tBZjBNcmdGWlBhNEJXVDJ1QVZrOXJnRlpQZjNtQWYza0FmMExCQkFnQkVIZ0FHb2hBVUVCSVFjTUFRc2dBU0FIUVFaMGFpRUJDeUFISUF4SkJFQURRQ0FCUVNCcklnQWdBUDBBQkFBZ0FVRkFhdjBBQkFBZ0FmMEFCQUQ5NUFIOURLNEJXVDJ1QVZrOXJnRlpQYTRCV1QzOTVnSDk1QUg5Q3dRQUlBRkJFR3NpQUNBQS9RQUVBQ0FCUVRCci9RQUVBQ0FCL1FBRUVQM2tBZjBNcmdGWlBhNEJXVDJ1QVZrOXJnRlpQZjNtQWYza0FmMExCQUFnQVVGQWF5RUJJQWRCQVdvaUJ5QU1SdzBBQ3dzZ0RVVUVRQ0FCUVNCcklnQWdBUDBBQkFBZ0FVRkFhdjBBQkFEOURLNEIyVDJ1QWRrOXJnSFpQYTRCMlQzOTVnSDk1QUg5Q3dRQUlBRkJFR3NpQUNBQS9RQUVBQ0FCUVRCci9RQUVBUDBNcmdIWlBhNEIyVDJ1QWRrOXJnSFpQZjNtQWYza0FmMExCQUFMQWtBZ0JrVUVRQ0FKUlFSQVFRQWhCZ3dDQ3lBRklBWDlBQVFBSUFUOUFBUUFJQVg5QUFRZy9lUUIvUXh6QnNzL2N3YkxQM01HeXo5ekJzcy8vZVlCL2VRQi9Rc0VBQ0FGSUFYOUFBUVFJQVQ5QUFRUUlBWDlBQVF3L2VRQi9ReHpCc3MvY3diTFAzTUd5ejl6QnNzLy9lWUIvZVFCL1FzRUVDQUZRZUFBYWlFQ1FRRWhCZ3dCQ3lBQ0lBWkJCblJxSVFJTElBWWdDVWtFUUFOQUlBSkJJR3NpQUNBQS9RQUVBQ0FDUVVCcS9RQUVBQ0FDL1FBRUFQM2tBZjBNY3diTFAzTUd5ejl6QnNzL2N3YkxQLzNtQWYza0FmMExCQUFnQWtFUWF5SUFJQUQ5QUFRQUlBSkJNR3Y5QUFRQUlBTDlBQVFRL2VRQi9ReHpCc3MvY3diTFAzTUd5ejl6QnNzLy9lWUIvZVFCL1FzRUFDQUNRVUJySVFJZ0JrRUJhaUlHSUFsSERRQUxDeUFJRFFBZ0FrRWdheUlBSUFEOUFBUUFJQUpCUUdyOUFBUUEvUXh6Qmt0QWN3WkxRSE1HUzBCekJrdEEvZVlCL2VRQi9Rc0VBQ0FDUVJCcklnQWdBUDBBQkFBZ0FrRXdhLzBBQkFEOURITUdTMEJ6Qmt0QWN3WkxRSE1HUzBEOTVnSDk1QUg5Q3dRQUN3dGRBUVIvSUFBRVFDQUFLQUlVSWdFZ0FDZ0NFQ0lDYkFSQUEwQWdBQ2dDR0NBRFFRSjBhaWdDQUNJRUJFQWdCQkFRSUFBb0FoQWhBaUFBS0FJVUlRRUxJQU5CQVdvaUF5QUJJQUpzU1EwQUN3c2dBQ2dDR0JBUUlBQVFFQXNMaFFFQkFuOENRQUpBSUFBb0FnUWlBeUFBS0FJQUlnUkhCRUFnQUNnQ0NDRUREQUVMSUFBZ0EwRUthaUlFTmdJRUlBQW9BZ2dnQkVFQ2RCQVhJZ05GRFFFZ0FDQUROZ0lJSUFBb0FnQWhCQXNnQXlBRVFRSjBhaUFCTmdJQUlBQWdCRUVCYWpZQ0FFRUJEd3NnQUNnQ0NCQVFJQUJDQURjQ0FDQUNRUUZCMGk1QkFCQVBRUUFMa3dRQ0JuOENmZ0pBQWtBRFFDQUFJQUJCQVd0eERRRWdBVUZIU3cwQklBQkJDQ0FBUVFoTElnY2JJUUJCcU04QktRTUFJZ2dDZjBFSUlBRkJBMnBCZkhFZ0FVRUlUUnNpQVVIL0FFMEVRQ0FCUVFOMlFRRnJEQUVMSUFGbklRTWdBVUVkSUFOcmRrRUVjeUFEUVFKMGEwSHVBR29nQVVIL0gwME5BQnBCUHlBQlFSNGdBMnQyUVFKeklBTkJBWFJyUWNjQWFpSURJQU5CUDA4YkN5SURyWWdpQ1VJQVVnUkFBMEFnQ1NBSmVpSUlpQ0VKQW40Z0F5QUlwMm9pQTBFRWRDSUVRYWpIQVdvb0FnQWlBaUFFUWFESEFXb2lCVWNFUUNBQ0lBQWdBUkE4SWdRTkJpQUNLQUlFSWdRZ0FpZ0NDQ0lHTmdJSUlBWWdCRFlDQkNBQ0lBVTJBZ2dnQWlBRktBSUVOZ0lFSUFVZ0FqWUNCQ0FDS0FJRUlBSTJBZ2dnQTBFQmFpRURJQWxDQVlnTUFRdEJxTThCUWFqUEFTa0RBRUorSUFPdGlZTTNBd0FnQ1VJQmhRc2lDVUlBVWcwQUMwR296d0VwQXdBaENBdEJQeUFJZWFkcklRVUNRQ0FJVUFSQVFRQWhBZ3dCQ3lBRlFRUjBJZ1JCcU1jQmFpZ0NBQ0VDSUFoQ2dJQ0FnQVJVRFFCQjR3QWhBeUFDSUFSQm9NY0JhaUlHUmcwQUEwQWdBMFVOQVNBQ0lBQWdBUkE4SWdRTkJDQURRUUZySVFNZ0FpZ0NDQ0lDSUFaSERRQUxDeUFCSUFCQk1HcEJNQ0FIRzJvUWJRMEFDeUFDUlEwQUlBSWdCVUVFZEVHZ3h3RnFJZ05HRFFBRFFDQUNJQUFnQVJBOElnUU5BaUFDS0FJSUlnSWdBMGNOQUFzTFFRQWhCQXNnQkF2YUl3SXJmd043QWtBZ0FDZ0NBQ0lKSUFOSkRRQWdBU0FEVHcwQUlBRWdDVThOQUNBQUtBSUVJZ2tnQkVrTkFDQUNJQVJQRFFBZ0FpQUpUdzBBSUFWQkhHc2hKeUFBS0FJSUlobEJBblFoRVNBSFFRSjBJUThnQmtFQ2RDRWZJQVZCQkdzaEtDQUNJQUFvQWd4dUlSNGdHU0FaSUFFZ0dXNGlLV3dnQVd0cUlTb2dCa0VJUnlFaklBSWhIUU5BSUFBb0Fnd2lDU0VLSUFJZ0hVWUVRQ0FKSUFJZ0NYQnJJUW9MSUFvZ0JDQWRheUlNSUFvZ0RFa2JJaE5CZkhFaEd5QVRRUU54SVJZZ0UwRjRjU0VySUJOQkIzRWhKQ0FUUVFGcklSb2dHU0FKUVFKMElBcEJBblJyUVFScWJDRWdJQVpCQWtZZ0UwRUJSbkVoTENBSklBcHJJQmxzSVNVZ0p5QVBJQjBnQW1zaURHd2lDV29oSmlBSklDaHFJUzBnQlNBSmFpRXVJQVVnQnlBTWJFRUNkR29oSENBcElTRWdBU0VZQTBBZ0tpQVpJQUVnR0VZYklnd2dBeUFZYXlJSklBa2dERXNiSVJBZ0dTQU1heUVKSUNGQkFuUWlEU0FBS0FJWUlBQW9BaEFnSG14QkFuUnFhaWdDQUNFU0FrQUNRQ0FJQkVBQ1FBSkFBa0FDUUFKQUlCSUVRQ0FTSUNWQkFuUnFJQWxCQW5ScUlRb2dHQ0FCYXlFTklBWkJBVVlOQkNBY0lBWWdEV3hCQW5ScUlRc2dFRUVCUmcwRElDd05BaUFqRFFFZ0VFRUhUUTBCSUJORkRRZ2dKaUFOSUI5c2FpQVFRUVYwYWlFVklCSWdJQ0FRUVFKMGFpQU1RUUowYTJvaElpQVFRWHh4SVExQkFDRVNEQVVMSUFaQkFVY0VRQ0FUUlEwSUlCQkJmSEVoRFNBUVFRTnhJUXdnSENBWUlBRnJJQVpzUVFKMGFpRUxRUUFoRWlBUVFRRnJRUU5KSVJRRFFBSkFJQkJGRFFCQkFDRUpRUUFoQ2tFQUlRNGdGRVVFUUFOQUlBc2dCaUFLYkVFQ2RHcEJBRFlDQUNBTElBcEJBWElnQm14QkFuUnFRUUEyQWdBZ0N5QUtRUUp5SUFac1FRSjBha0VBTmdJQUlBc2dDa0VEY2lBR2JFRUNkR3BCQURZQ0FDQUtRUVJxSVFvZ0RrRUVhaUlPSUExSERRQUxDeUFNUlEwQUEwQWdDeUFHSUFwc1FRSjBha0VBTmdJQUlBcEJBV29oQ2lBSlFRRnFJZ2tnREVjTkFBc0xJQXNnRDJvaEN5QVRJQkpCQVdvaUVrY05BQXNNQ0FzZ0UwVU5CeUFRUVFKMElRd2dIQ0FZSUFGclFRSjBhaUVMUVFBaENTQWFRUWRQQkVBRFFDQUxRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFJUXNnQ1VFSWFpSUpJQ3RIRFFBTEMwRUFJUWtnSkVVTkJ3TkFJQXRCQUNBTUVCVWdEMm9oQ3lBSlFRRnFJZ2tnSkVjTkFBc01Cd3NnRTBVTkJpQVFRWHh4SVJRZ0VFRURjU0VTUVFBaERTQVFRUUZyUVFOSklSY01CUXRCQUNFSklCQkJmSEVpRGdSQUEwQWdDeUFKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0NVRUJjaUlVUVFOMGFpQUtJQlJCQW5ScUtBSUFOZ0lBSUFzZ0NVRUNjaUlVUVFOMGFpQUtJQlJCQW5ScUtBSUFOZ0lBSUFzZ0NVRURjaUlVUVFOMGFpQUtJQlJCQW5ScUtBSUFOZ0lBSUFsQkJHb2lDU0FPU1EwQUN3c2dDU0FRVHcwRkFrQWdFQ0FKYXlJVVFSQkpEUUFnTGlBTklCOXNJZzFxSUFsQkEzUnFJQklnSUdvaURpQVFJQXhyUVFKMGFra0VRQ0FPSUFrZ0RHdEJBblJxSUEwZ0xXb2dFRUVEZEdwSkRRRUxJQW9nQ1VFQ2RHb2hEU0FKL1JIOURBQUFBQUFCQUFBQUFnQUFBQU1BQUFEOXJnRWhOQ0FKSUJSQmZIRWlER29oQ1VFQUlRNERRQ0FMSURSQkFmMnJBU0kxL1JzQVFRSjBhaUFOSUE1QkFuUnEvUUFDQUNJMi9Wb0NBQUFnQ3lBMS9Sc0JRUUowYWlBMi9Wb0NBQUVnQ3lBMS9Sc0NRUUowYWlBMi9Wb0NBQUlnQ3lBMS9Sc0RRUUowYWlBMi9Wb0NBQU1nTlAwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRTBJQTVCQkdvaURpQU1SdzBBQ3lBTUlCUkdEUVlMUVFBaERDQUpJUTRnRUNBSmEwRURjU0lOQkVBRFFDQUxJQTVCQTNScUlBb2dEa0VDZEdvb0FnQTJBZ0FnRGtFQmFpRU9JQXhCQVdvaURDQU5SdzBBQ3dzZ0NTQVFhMEY4U3cwRkEwQWdDeUFPUVFOMGFpQUtJQTVCQW5ScUtBSUFOZ0lBSUFzZ0RrRUJhaUlKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0RrRUNhaUlKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0RrRURhaUlKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUE1QkJHb2lEaUFRUncwQUN3d0ZDeUFUUlEwRVFRQWhDU0FhUVFOUEJFQURRQ0FMSUFvb0FnQTJBZ0FnQ3lBUGFpSU1JQW9nRVdvaURTZ0NBRFlDQUNBTUlBOXFJZ3dnRFNBUmFpSU5LQUlBTmdJQUlBd2dEMm9pRENBTklCRnFJZzBvQWdBMkFnQWdEU0FSYWlFS0lBd2dEMm9oQ3lBSlFRUnFJZ2tnRzBjTkFBc0xRUUFoQ1NBV1JRMEVBMEFnQ3lBS0tBSUFOZ0lBSUFvZ0VXb2hDaUFMSUE5cUlRc2dDVUVCYWlJSklCWkhEUUFMREFRTElCd2dEVUVDZEdvaEN5QVFRUVJIQkVBZ0UwVU5CQ0FRUVFKMElRbEJBQ0VPSUJwQkEwOEVRQU5BSUFzZ0NpQUpFQkloTUNBS0lCRnFJZzBnRVdvaUN5QVJhaUlTSUJGcUlRb2dNQ0FQYWlBTklBa1FFaUFQYWlBTElBa1FFaUFQYWlBU0lBa1FFaUFQYWlFTElBNUJCR29pRGlBYlJ3MEFDd3RCQUNFT0lCWkZEUVFEUUNBTElBb2dDUkFTSVRFZ0NpQVJhaUVLSURFZ0Qyb2hDeUFPUVFGcUlnNGdGa2NOQUFzTUJBc2dFMFVOQTBFQUlRa2dHa0VEVHdSQUEwQWdDeUFLL1FBQ0FQMExBZ0FnQ3lBUGFpSU1JQW9nRVdvaURmMEFBZ0Q5Q3dJQUlBd2dEMm9pRENBTklCRnFJZzM5QUFJQS9Rc0NBQ0FNSUE5cUlnd2dEU0FSYWlJTi9RQUNBUDBMQWdBZ0RTQVJhaUVLSUF3Z0Qyb2hDeUFKUVFScUlna2dHMGNOQUFzTFFRQWhDU0FXUlEwREEwQWdDeUFLL1FBQ0FQMExBZ0FnQ2lBUmFpRUtJQXNnRDJvaEN5QUpRUUZxSWdrZ0ZrY05BQXNNQXdzRFFFRUFJUWtnRFFSQUEwQWdDeUFKUVFWMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0NVRUJjaUlNUVFWMGFpQUtJQXhCQW5ScUtBSUFOZ0lBSUFzZ0NVRUNjaUlNUVFWMGFpQUtJQXhCQW5ScUtBSUFOZ0lBSUFzZ0NVRURjaUlNUVFWMGFpQUtJQXhCQW5ScUtBSUFOZ0lBSUFsQkJHb2lDU0FOU1EwQUN3c0NRQ0FKSUJCUERRQUNRQ0FRSUFsckloUkJDRThFUUFKQUlBc2dDVUVGZEdvZ0lpQVJJQkpzYWs4TkFDQUtJQWxCQW5ScUlCVWdEeUFTYkdwUERRQWdDU0VNREFJTElBbjlFZjBNQUFBQUFBRUFBQUFDQUFBQUF3QUFBUDJ1QVNFMElBa2dGRUY4Y1NJWGFpRU1RUUFoRGdOQUlBc2dORUVEL2FzQklqWDlHd0JCQW5ScUlBb2dDU0FPYWtFQ2RHcjlBQUlBSWpiOVdnSUFBQ0FMSURYOUd3RkJBblJxSURiOVdnSUFBU0FMSURYOUd3SkJBblJxSURiOVdnSUFBaUFMSURYOUd3TkJBblJxSURiOVdnSUFBeUEwL1F3RUFBQUFCQUFBQUFRQUFBQUVBQUFBL2E0QklUUWdEa0VFYWlJT0lCZEhEUUFMSUJRZ0YwWU5BZ3dCQ3lBSklRd0xRUUFoRGlBUUlBd2lDV3RCQTNFaUZBUkFBMEFnQ3lBSlFRVjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBbEJBV29oQ1NBT1FRRnFJZzRnRkVjTkFBc0xJQXdnRUd0QmZFc05BQU5BSUFzZ0NVRUZkR29nQ2lBSlFRSjBhaWdDQURZQ0FDQUxJQWxCQVdvaURFRUZkR29nQ2lBTVFRSjBhaWdDQURZQ0FDQUxJQWxCQW1vaURFRUZkR29nQ2lBTVFRSjBhaWdDQURZQ0FDQUxJQWxCQTJvaURFRUZkR29nQ2lBTVFRSjBhaWdDQURZQ0FDQUpRUVJxSWdrZ0VFY05BQXNMSUFvZ0VXb2hDaUFMSUE5cUlRc2dFeUFTUVFGcUloSkhEUUFMREFJTElCSkZCRUJCQVNBQUtBSUlJQUFvQWd4c1FRSjBFQk1pRWtVRVFFRUFEd3NnQUNnQ0dDQUFLQUlRSUI1c1FRSjBhaUFOYWlBU05nSUFDeUFTSUNWQkFuUnFJQWxCQW5ScUlRc2dHQ0FCYXlFSkFrQUNRQUpBQWtBZ0JrRUJSd1JBSUJ3Z0JpQUpiRUVDZEdvaENpQVFRUUZHRFFFZ0l3MENJQkJCQjAwTkFpQVRSUTBHSUNZZ0NTQWZiR29nRUVFRmRHb2hJaUFnSUJCQkFuUnFJQXhCQW5ScklTOGdFRUY4Y1NFVVFRQWhEQU5BUVFBaENTQVVCRUFEUUNBTElBbEJBblJxSUFvZ0NVRUZkR29vQWdBMkFnQWdDeUFKUVFGeUlnMUJBblJxSUFvZ0RVRUZkR29vQWdBMkFnQWdDeUFKUVFKeUlnMUJBblJxSUFvZ0RVRUZkR29vQWdBMkFnQWdDeUFKUVFOeUlnMUJBblJxSUFvZ0RVRUZkR29vQWdBMkFnQWdDVUVFYWlJSklCUkpEUUFMQ3dKQUlBa2dFRThOQUFKQUlCQWdDV3NpRjBFSVR3UkFBa0FnQ3lBSlFRSjBhaUFpSUF3Z0QyeHFUdzBBSUFvZ0NVRUZkR29nRWlBdklBd2dFV3hxYWs4TkFDQUpJUTBNQWdzZ0NmMFIvUXdBQUFBQUFRQUFBQUlBQUFBREFBQUEvYTRCSVRRZ0NTQVhRWHh4SWhWcUlRMUJBQ0VPQTBBZ0N5QUpJQTVxUVFKMGFpQUtJRFJCQS8yckFTSTEvUnNEUVFKMGFpQUtJRFg5R3dKQkFuUnFJQW9nTmYwYkFVRUNkR29nQ2lBMS9Sc0FRUUowYXYwSkFnRDlWZ0lBQWYxV0FnQUMvVllDQUFQOUN3SUFJRFQ5REFRQUFBQUVBQUFBQkFBQUFBUUFBQUQ5cmdFaE5DQU9RUVJxSWc0Z0ZVY05BQXNnRlNBWFJnMENEQUVMSUFraERRdEJBQ0VPSUJBZ0RTSUphMEVEY1NJWEJFQURRQ0FMSUFsQkFuUnFJQW9nQ1VFRmRHb29BZ0EyQWdBZ0NVRUJhaUVKSUE1QkFXb2lEaUFYUncwQUN3c2dEU0FRYTBGOFN3MEFBMEFnQ3lBSlFRSjBhaUFLSUFsQkJYUnFLQUlBTmdJQUlBc2dDVUVCYWlJTlFRSjBhaUFLSUExQkJYUnFLQUlBTmdJQUlBc2dDVUVDYWlJTlFRSjBhaUFLSUExQkJYUnFLQUlBTmdJQUlBc2dDVUVEYWlJTlFRSjBhaUFLSUExQkJYUnFLQUlBTmdJQUlBbEJCR29pQ1NBUVJ3MEFDd3NnQ3lBUmFpRUxJQW9nRDJvaENpQVRJQXhCQVdvaURFY05BQXNNQmdzZ0hDQUpRUUowYWlFS0lCQkJCRVlOQWlBVFJRMEZJQkJCQW5RaENVRUFJUTRnR2tFRFR3UkFBMEFnQ3lBS0lBa1FFaUV5SUFvZ0Qyb2lEU0FQYWlJTElBOXFJaElnRDJvaENpQXlJQkZxSUEwZ0NSQVNJQkZxSUFzZ0NSQVNJQkZxSUJJZ0NSQVNJQkZxSVFzZ0RrRUVhaUlPSUJ0SERRQUxDMEVBSVE0Z0ZrVU5CUU5BSUFzZ0NpQUpFQkloTXlBS0lBOXFJUW9nTXlBUmFpRUxJQTVCQVdvaURpQVdSdzBBQ3d3RkN5QVRSUTBFUVFBaENTQWFRUU5QQkVBRFFDQUxJQW9vQWdBMkFnQWdDeUFSYWlJTUlBb2dEMm9pRFNnQ0FEWUNBQ0FNSUJGcUlnd2dEU0FQYWlJTktBSUFOZ0lBSUF3Z0VXb2lEQ0FOSUE5cUlnMG9BZ0EyQWdBZ0RDQVJhaUVMSUEwZ0Qyb2hDaUFKUVFScUlna2dHMGNOQUFzTFFRQWhDU0FXUlEwRUEwQWdDeUFLS0FJQU5nSUFJQXNnRVdvaEN5QUtJQTlxSVFvZ0NVRUJhaUlKSUJaSERRQUxEQVFMSUJORkRRTWdFRUY4Y1NFVUlCQkJBM0VoRWtFQUlRMGdFRUVCYTBFRFNTRVhEQUVMSUJORkRRSkJBQ0VKSUJwQkEwOEVRQU5BSUFzZ0N2MEFBZ0Q5Q3dJQUlBc2dFV29pRENBS0lBOXFJZzM5QUFJQS9Rc0NBQ0FNSUJGcUlnd2dEU0FQYWlJTi9RQUNBUDBMQWdBZ0RDQVJhaUlNSUEwZ0Qyb2lEZjBBQWdEOUN3SUFJQTBnRDJvaENpQU1JQkZxSVFzZ0NVRUVhaUlKSUJ0SERRQUxDMEVBSVFrZ0ZrVU5BZ05BSUFzZ0N2MEFBZ0Q5Q3dJQUlBb2dEMm9oQ2lBTElCRnFJUXNnQ1VFQmFpSUpJQlpIRFFBTERBSUxBMEFDUUNBUVJRMEFRUUFoRGtFQUlRbEJBQ0VNSUJkRkJFQURRQ0FMSUFsQkFuUnFJQW9nQmlBSmJFRUNkR29vQWdBMkFnQWdDeUFKUVFGeUloVkJBblJxSUFvZ0JpQVZiRUVDZEdvb0FnQTJBZ0FnQ3lBSlFRSnlJaFZCQW5ScUlBb2dCaUFWYkVFQ2RHb29BZ0EyQWdBZ0N5QUpRUU55SWhWQkFuUnFJQW9nQmlBVmJFRUNkR29vQWdBMkFnQWdDVUVFYWlFSklBeEJCR29pRENBVVJ3MEFDd3NnRWtVTkFBTkFJQXNnQ1VFQ2RHb2dDaUFHSUFsc1FRSjBhaWdDQURZQ0FDQUpRUUZxSVFrZ0RrRUJhaUlPSUJKSERRQUxDeUFMSUJGcUlRc2dDaUFQYWlFS0lCTWdEVUVCYWlJTlJ3MEFDd3dCQ3dOQUFrQWdFRVVOQUVFQUlRNUJBQ0VKUVFBaERDQVhSUVJBQTBBZ0N5QUdJQWxzUVFKMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0NVRUJjaUlWSUFac1FRSjBhaUFLSUJWQkFuUnFLQUlBTmdJQUlBc2dDVUVDY2lJVklBWnNRUUowYWlBS0lCVkJBblJxS0FJQU5nSUFJQXNnQ1VFRGNpSVZJQVpzUVFKMGFpQUtJQlZCQW5ScUtBSUFOZ0lBSUFsQkJHb2hDU0FNUVFScUlnd2dGRWNOQUFzTElCSkZEUUFEUUNBTElBWWdDV3hCQW5ScUlBb2dDVUVDZEdvb0FnQTJBZ0FnQ1VFQmFpRUpJQTVCQVdvaURpQVNSdzBBQ3dzZ0NpQVJhaUVLSUFzZ0Qyb2hDeUFOUVFGcUlnMGdFMGNOQUFzTElDRkJBV29oSVNBUUlCaHFJaGdnQTBrTkFBc2dIa0VCYWlFZUlCTWdIV29pSFNBRVNRMEFDd3RCQVF2RE13VW1mdzkrQVhzQmZRRjhJd0JCMEFCcklnNGtBQ0FPUVpEL0F6WUNLQ0FBS0FKc0lBQW9BbWhzSVJjQ2Z3SkFBa0FDUUNBQUtBSUlJZ3RCQ0VjRVFFRUFJQXRCZ0FKSERRUWFJQTVCMmY4RE5nSW9EQUVMSUFBdEFFUkJBWEVOQUNBWFFRRnhJU0lnRjBGOGNTRVBJQmRCQVd1dFFvd3NmaUl4UWlDSXAwRUFSeUVqSURHbklTUWdEa0hOQUdvaEpTQU9RY3dBYWlFb0lBNUJ5QUJxSVNrZ0YwRWtTU0VxUVpEL0F5RUxBa0FDUUFKQUEwQUNRQ0FMUVpQL0EwWU5BQUpBQTBBZ0NTa0RDQ0l4VUFSK1FnQUZJREVnQ1NrRE9IMExVQVJBSUFCQndBQTJBZ2dNQXdzZ0NTQUFLQUlRUVFJZ0NoQWFRUUpIQkVBZ0NrRUJRWllTUVFBUUQwRUFEQXNMSUFBb0FoQWdEa0VrYWtFQ0VCRWdEaWdDSkNJTFFRRk5CRUFnQ2tFQlFZY3VRUUFRRDBFQURBc0xBa0FnRGlnQ0tFR0FnUUpHQkVBZ0NTa0RDQ0l4VUFSK1FnQUZJREVnQ1NrRE9IMExVQTBCSUE0b0FpUWhDd3NnQUNnQ0NDSVVRUkJ4QkVBZ0FDQUFLQUlZSUF0clFRSnJOZ0lZQ3lBT0lBdEJBbXNpRWpZQ0pFSGd2UUVoRENBT0tBSW9JUTBEUUNBTUlnc29BZ0FpR0FSQUlBdEJER29oRENBTklCaEhEUUVMQ3lBTEtBSUVJQlJ4UlFSQUlBcEJBVUg4S0VFQUVBOUJBQXdNQ3dKQUlBQW9BaFFnRWs4RVFDQUFLQUlRSVF3TUFRc2dDU2tEQ0NJeFVBUitRZ0FGSURFZ0NTa0RPSDBMSUJLdFV3UkFJQXBCQVVHTUxFRUFFQTlCQUF3TkN5QUFLQUlRSUE0b0FpUVFGeUlNUlFSQUlBQW9BaEFRRUNBQVFnQTNBeEFnQ2tFQlFkUWxRUUFRRDBFQURBMExJQUFnRERZQ0VDQUFJQTRvQWlRaUVqWUNGQXNnQ1NBTUlCSWdDaEFhSWd3Z0RpZ0NKRWNFUUNBS1FRRkJsaEpCQUJBUFFRQU1EQXNnQ3lnQ0NDSUxSUVJBSUFwQkFVSGExZ0JCQUJBUFFRQU1EQXNnQUNBQUtBSVFJQXdnQ2lBTEVRRUFSUVJBSUE0Z0RpZ0NLRFlDSUNBS1FRRkJsT2dBSUE1QklHb1FEMEVBREF3TElBa3BBemdoTVNBT0tBSWtJUkVnQUNnQ3lBRWlGQ2dDS0NJU0lBQW9Bc3dCSWd4QktHd2lEV29pRmlnQ0ZDSWNRUUZxSWgwZ0ZpZ0NIQ0lMU3dSQUlCWUNmeUFMczBNQUFNaENraUpCUXdBQWdFOWRJRUZEQUFBQUFHQnhCRUFnUWFrTUFRdEJBQXNpQ3pZQ0hDQVdLQUlZSUF0QkdHd1FGeUVMSUJRb0FpZ2lFaUFOYWlFV0lBdEZEUU1nRmlBTE5nSVlJQllvQWhRaUhFRUJhaUVkQ3lBTklCSnFJZzBvQWhnZ0hFRVliR29pQ3lBUlFRUnFOZ0lRSUFzZ01hY2dFV3RCQkdzaURLdzNBd2dnQ3lBWU93RUFJQTBnSFRZQ0ZBSkFJQmhCa1A4RFJ3MEFJQTBvQWhBaUN3UkFJQXNnRFNnQ0RFRVliR29nREswM0F3QUxJQWtwQXppbklBNG9BaVJyUVFScnJTSXhJQUFwQXpCWERRQWdBQ0F4TndNd0N5QUFMUUJFUVFSeEJFQWdDU0FBTlFJWUlBb2dDU2dDS0JFSUFDQUFOUUlZVWdSQUlBcEJBVUdXRWtFQUVBOUJBQXdOQ3lBT1FaUC9BellDS0F3RUN5QUpJQUFvQWhCQkFpQUtFQnBCQWtjRVFDQUtRUUZCbGhKQkFCQVBRUUFNREFzZ0FDZ0NFQ0FPUVNocVFRSVFFU0FPS0FJb1FaUC9BMGNOQVF3REN3c2dBRUhBQURZQ0NBd0JDeUFXS0FJWUVCQWdGQ2dDS0NBTVFTaHNhaUlBUVFBMkFod2dBRUlBTndJVUlBcEJBVUdGSFVFQUVBOUJBQXdJQ3dKQUlBa3BBd2dpTVZBRWZrSUFCU0F4SUFrcEF6aDlDMUFFUUNBQUtBSUlRY0FBUmcwQkN3SkFBa0FnQUMwQVJDSUxRUVJ4UlFSQUlBQW9Bc3dCUVl3c2JDRU1JQUFvQXB3QklTNENRQUpBSUFBb0FqZ0VRQ0FKS1FNSUlqRlFCSDVDQUFVZ01TQUpLUU00ZlF1bklSTU1BUXNnQUNnQ0dDSVRRUUpKRFFFTElBQWdFMEVDYXlJVE5nSVlDeUF1SUF4cUlSZ2dFMFVOQVNBSktRTUlJakZRQkg1Q0FBVWdNU0FKS1FNNGZRc2dFNjFUQkVBZ0FDZ0N1QUVFUUNBS1FRRkJ1U3hCQUJBUFFRQU1EUXNnQ2tFQ1Fia3NRUUFRRHdzZ0FDZ0NHQ0lOUVg1UEJFQWdDa0VCUWY0S1FRQVFEMEVBREF3TEFrQWdHQ2dDM0NzaURBUkFJQmdvQXVBcklndEJmU0FOYTBzRVFDQUtRUUZCbGdsQkFCQVBRUUFNRGdzZ0RDQUxJQTFxUVFKcUVCY2lDd1JBSUJnZ0N6WUMzQ3NNQkFzZ0dDZ0MzQ3NRRUNBWVFRQTJBdHdyREFFTElCZ2dEVUVDYWhBVUlnczJBdHdySUFzTkFnc2dDa0VCUVljdlFRQVFEMEVBREFzTElBQkJDRFlDQ0NBQUlBdEIrZ0Z4T2dCRURBRUxJQUFvQXNnQkloWUVRQ0FXS0FJb0loSWdBQ2dDekFFaUZFRW9iQ0lSYWlJTUtBSVFJQXdvQWd4QkdHeHFJZ3NnQ1NrRE9DSXlRZ0o5SWpFM0F3Z2dDeUF5SUFBMUFoaDhOd01RSUFBb0FoZ2hEUUpBSUF3b0FoUWlIRUVCYWlJZElBd29BaHdpQzAwRVFDQU1LQUlZSVF3TUFRc2dEQUovSUF1elF3QUF5RUtTSWtGREFBQ0FUMTBnUVVNQUFBQUFZSEVFUUNCQnFRd0JDMEVBQ3lJTE5nSWNJQXdvQWhnZ0MwRVliQkFYSVF3Z0ZpZ0NLQ0lTSUJGcUlRc2dERVVOQmlBTElBdzJBaGdnQ3lnQ0ZDSWNRUUZxSVIwTElBd2dIRUVZYkdvaUN5QU5RUUpxTmdJUUlBc2dNY1EzQXdnZ0MwR1Qvd003QVFBZ0VTQVNhaUFkTmdJVUN5QUFLQUlZSVF3Q1FDQVRSUVJBUVFBaEV3d0JDeUFKSUJnb0F0d3JJQmdvQXVBcmFpQU1JQW9RR2lFVElBQW9BaGdoREFzZ0FFRUlRY0FBSUF3Z0UwWWJOZ0lJSUJnZ0dDZ0M0Q3NnRTJvMkF1QXJJQUF0QUVRaUMwRUpjVUVCUncwQUlBQWdDMEVJY2pvQVJDQUFLQUxNQVNFTklBa29BaHhCQWtZTkFDQUpLUU00SWpGQ2YxRU5BQUpBQTBCQkFDRU1JQWtnRGtIR0FHb2lDMEVDSUFvUUdrRUNSdzBCSUFzZ0RrRkFhMEVDRUJFZ0RpZ0NRRUdRL3dOSERRRkJsaEloRWlBSklBdEJBaUFLRUJwQkFrY05DU0FMSUE1QlBHcEJBaEFSSUE0b0FqeEJDa2NFUUVHSExpRVNEQW9MSUE1QkNEWUNQQ0FKSUE1QnhnQnFRUWdnQ2hBYUlnc2dEaWdDUEVjTkNTQUxRUWhIQkVCQnZSNGhFZ3dLQ3lBT1FjWUFhaUFPUVRocVFRSVFFU0FwSUE1Qk5HcEJCQkFSSUNnZ0RrRXdha0VCRUJFZ0pTQU9RU3hxUVFFUUVTQU5JQTRvQWpoSEJFQWdEaWdDTkNJTFFRNUpEUUlnRGlBTFFReHJJZ3MyQWpRZ0NTQUxyU0FLSUFrb0FpZ1JDQUFnRGpVQ05GRU5BUXdDQ3dzZ0RpZ0NNQ0FPS0FJc1JpRU1DeUFKSURFZ0NpQUpLQUlzRVEwQVJRMElJQXhGRFFBZ0FDQUFMUUJFUWU0QmNVRVFjam9BUkFKQUlCZEZEUUFnQUNnQ25BRWhFMEVBSVFzQ1FDQXFEUUFnRTBIWUsyb2lEQ0FrYWlBTVNTQWpjZzBBQTBBZ0V5QUxRWXdzYkdvaUhDZ0MyQ3NpSGYwUklCTWdDMEVCY2tHTUxHeHFJaGdvQXRnckloYjlIQUVnRXlBTFFRSnlRWXdzYkdvaUVTZ0MyQ3NpRlAwY0FpQVRJQXRCQTNKQmpDeHNhaUlOS0FMWUt5SU0vUndEL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RnaVFQMGJBRUVCY1FSQUlCeEIyQ3RxSUIxQkFXbzJBZ0FMSUVEOUd3RkJBWEVFUUNBWVFkZ3JhaUFXUVFGcU5nSUFDeUJBL1JzQ1FRRnhCRUFnRVVIWUsyb2dGRUVCYWpZQ0FBc2dRUDBiQTBFQmNRUkFJQTFCMkN0cUlBeEJBV28yQWdBTElBdEJCR29pQ3lBUFJ3MEFDeUFYSUE4aUMwWU5BUXNnQzBFQmNpRU1JQ0lFUUNBVElBdEJqQ3hzYWlJTktBTFlLeUlMQkVBZ0RVSFlLMm9nQzBFQmFqWUNBQXNnRENFTEN5QU1JQmRHRFFBRFFDQVRJQXRCakN4c2FpSU5LQUxZS3lJTUJFQWdEVUhZSzJvZ0RFRUJhallDQUFzZ0RVSGsxd0JxSWcwb0FnQWlEQVJBSUEwZ0RFRUJhallDQUFzZ0MwRUNhaUlMSUJkSERRQUxDeUFLUVFKQmxNUUFRUUFRRHdzZ0FDMEFSRUVCY1EwQUlBa2dBQ2dDRUVFQ0lBb1FHa0VDUndSQUFrQWdBQ2dDekFGQkFXb2dGMGNOQUNBWFJRMEFJQUFvQXB3QklReEJBQ0VMQTBBZ0RDQUxRWXdzYkdvaUNTZ0MxQ3RGQkVBZ0NTZ0MyQ3RGRFFnTElBdEJBV29pQ3lBWFJ3MEFDd3NnQ2tFQlFaWVNRUUFRRDBFQURBa0xJQUFvQWhBZ0RrRW9ha0VDRUJFZ0RpZ0NLQ0VMSUFBdEFFUkJBWEVOQWlBTFFkbi9BMGNOQVF3Q0N3c2dEaWdDS0NFTEN5QUxRZG4vQTBjTkFpQUFLQUlJUVlBQ1JnMENJQUJCZ0FJMkFnZ2dBRUVBTmdMTUFRd0NDeUFMS0FJWUVCQWdGaWdDS0NBVVFTaHNhaUlBUVFBMkFod2dBRUlBTndJVUlBcEJBVUdGSFVFQUVBOUJBQXdFQ3lBT0lBczJBaEFnQ2tFRVFlZlJBQ0FPUVJCcUVBOGdBQ0FMTmdMTUFTQU9RZG4vQXpZQ0tDQUFRWUFDTmdJSUN5QUFLQUxNQVNFTElBQW9BcHdCSVFrQ1FBSkFJQUF0QUVSQkFYRU5BQUpBQWtBZ0N5QVhUdzBBSUFrZ0MwR01MR3hxSVJNRFFDQVRLQUxjS3cwQklBQWdDMEVCYWlJTE5nTE1BU0FUUVl3c2FpRVRJQXNnRjBjTkFBc01BUXNnQ3lBWFJ3MEJDeUFJUVFBMkFnQU1BUXNDUUFKQUlBcEJBU0FKSUF0QmpDeHNhaUlSS0FLMEtBUi9RWncwQlNBUkxRQ0lMRUVDY1VVTkFnSkFJQkVvQXFnb0lnOUZCRUJCQUNFTURBRUxJQkVvQXF3b0lRbEJBQ0VNUVFBaEN5QVBRUVJQQkVBZ0QwRjhjU0VML1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSVVCQkFDRVNBMEFnQ1NBU1FRTjBhaUlNUVJ4cUlBeEJGR29nREVFTWFpQU0vUWtDQlAxV0FnQUIvVllDQUFMOVZnSUFBeUJBL2E0QklVQWdFa0VFYWlJU0lBdEhEUUFMSUVBZ1FDQkEvUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvYTRCSWtBZ1FDQkEvUTBFQlFZSEFBRUNBd0FCQWdNQUFRSUQvYTRCL1JzQUlRd2dDeUFQUmcwQkN3TkFJQWtnQzBFRGRHb29BZ1FnREdvaERDQUxRUUZxSWdzZ0QwY05BQXNMSUJFZ0RCQVVJZ2syQXJRb0lBa05BVUdYSGd0QkFCQVBJQXBCQVVIMVBFRUFFQTlCQUF3RkN5QVJJQXcyQXJ3b0lCRW9BcXdvSVFrZ0VTZ0NxQ2dpREFSQVFRQWhFa0VBSVFzRFFDQUpJQXRCQTNRaUZHb2lEU2dDQUNJUEJFQWdFU2dDdENnZ0Vtb2dEeUFOS0FJRUVCSWFJQkVvQXF3b0lCUnFJZ2tvQWdRaEx5QUpLQUlBRUJBZ0VTZ0NyQ2dpQ1NBVWFrSUFOd0lBSUM4Z0Vtb2hFaUFSS0FLb0tDRU1DeUFMUVFGcUlnc2dERWtOQUFzTElCRkJBRFlDcUNnZ0NSQVFJQkZCQURZQ3JDZ2dFU0FSS0FLMEtEWUNzQ2dnRVNBUktBSzhLRFlDdUNnTEFuOUJBQ0VvSUFBb0F0QUJJZ3NvQWh3aUppZ0NUQ0FBS0FMTUFTSUpRWXdzYkdvb0F0QXJJUnNnQ3lnQ0dDSVVLQUlZSVNjZ0N5Z0NGQ2dDQUNJZUlDWW9BZ1FnSmlnQ0RDSUxJQWtnQ1NBbUtBSVlJZ2x1SWd3Z0NXeHJiR29pRFNBVUtBSUFJZ2tnQ1NBTlNSc2lEellDQUNBZVFYOGdDeUFOYWlJSklBa2dEVWtiSWdzZ0ZDZ0NDQ0lKSUFrZ0Mwc2JJZ2syQWdnQ1FDQUpJQTlLSUE5QkFFNXhSUVJBSUFwQkFVR0JNMEVBRUE4TUFRc2dIaWdDRkNFUUlCNGdKaWdDQ0NBTUlDWW9BaEFpQzJ4cUlnOGdGQ2dDQkNJSklBa2dEMGtiSWd3MkFnUWdIa0YvSUFzZ0Qyb2lDU0FKSUE5Skd5SUxJQlFvQWd3aUNTQUpJQXRMR3lJSk5nSU1JQWtnREVvZ0RFRUFUbkZGQkVBZ0NrRUJRZHN5UVFBUUR3d0JDd0pBSUJzb0FnUUVRQ0FlS0FJUURRRkJBUXdEQ3lBS1FRRkIxU2hCQUJBUERBRUxBa0FDUUFOQUlDZEJBRFlDSkNBUUlDYzBBZ0FpTlVJQmZTSXhJQjQwQWdCOElEVi9QZ0lBSUJBZ0p6UUNCQ0kwUWdGOUlqSWdIalFDQkh3Z05IOCtBZ1FnRUNBeElCNDBBZ2g4SURWL1BnSUlJQjQwQWd3aE1TQVFJQ2cyQWhBZ0VDQXhJREo4SURSL1BnSU1JQkFnR3lnQ0JDSUxOZ0lVSUJCQkFTQUxJQ1lvQWxBaUNXc2dDU0FMU3hzMkFoZ2dFQ2dDTkJBUUlCQkJBRFlDUkNBUS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NOQ0FMUVpnQmJDRU1Ba0FnRUNnQ0hDSUpSUVJBSUJBZ0RCQVVJZ2syQWh3Z0NVVU5CU0FRSUF3MkFpQWdDVUVBSUF3UUZSb01BUXNnRENBUUtBSWdUUTBBSUFrZ0RCQVhJZ3RGQkVBZ0NrRUJRWUFYUVFBUUR5QVFLQUljRUJBZ0VFSUFOd0ljREFVTElCQWdDellDSENBTElCQW9BaUFpQ1dwQkFDQU1JQWxyRUJVYUlCQWdERFlDSUFzZ0VDZ0NGQ0lMQkVBZ0cwR3dCMm9oSFNBYlFhd0dhaUVZSUJ0QkhHb2hGeUFRS0FJY0lScEJBQ0VyQTBBZ0drSi9JQXRCQVdzaUNhMGlNNFpDZjRVaU1pQVFOQUlBZkNBemg2Y2lGallDQUNBYUlESWdFRFFDQkh3Z000ZW5JaEUyQWdRZ0dpQXlJQkEwQWdoOElET0hJakduSWhRMkFnZ2dHaUF5SUJBMEFneDhJRE9ISWpTbklnMDJBZ3dnTWNSQ0FTQVlJQ3RCQW5RaURHb29BZ0FpSDYwaU1ZWjhRZ0Y5SURHSHB5QWZkQ0lQUVFCSURRUWdOTVJDZnlBTUlCMXFLQUlBSWlDdElqR0dRbitGZkNBeGg2Y2dJSFFpREVFQVNBMEVJQm9nREVGL0lDQjBJQkZ4SWhOcklDQjFRUUFnRFNBUlJ4c2lERFlDRkNBYUlBOUJmeUFmZENBV2NTSWlheUFmZFVFQUlCUWdGa2NiSWc4MkFoQUNRQ0FQUlEwQUlBK3RJQXl0ZmtJZ2lGQU5BQXdFQ3lBTUlBOXNJaU5CNTh5Wk0wOE5BeUFqUVNoc0lTRWdHaUFyQkg4Z0lFRUJheUVnSUI5QkFXc2hIeUFUckVJQmZFSUJpS2NoRXlBaXJFSUJmRUlCaUtjaElrRURCVUVCQ3pZQ0dDQWFRUnhxSVJWQ0FTQUxyU0kyaGlFM1FuOGdHeWdDRENJTElDQWdDeUFnU1JzaUxLMGlQSVpDZjRVaFBVSi9JQnNvQWdnaUN5QWZJQXNnSDBrYklpMnRJajZHUW4rRklUOUJBQ0VwQTBBQ2ZpQXJSUVJBSURJZ0VEUUNCSHdnTTRjaE9DQXlJQkEwQWdCOElET0hJVGxCQUNFTElESWlNU0U2SURNTUFRc2dOeUFwUVFGcUlndEJBWGF0SURPR1FuK0ZmQ0k2SUJBMEFnUjhJRGFISVRnZ055QUxRUUZ4clNBemhrSi9oWHdpTVNBUU5BSUFmQ0EyaHlFNUlEWUxJVHNnRURRQ0NDRTFJQkEwQWd3aE5DQVZJRGcrQWdRZ0ZTQTVQZ0lBSUJVZ0N6WUNFQ0FWSURRZ09ud2dPNGMrQWd3Z0ZTQXhJRFY4SUR1SFBnSUlRUUFoREFKQUlCc29BaFJGRFFBZ0MwVU5BRUVDUVFFZ0MwRURSaHNoREF0RUFBQUFBQUFBOEQ4aFFnSkFJQ2NvQWhnZ0RHb2dGeWdDQUNJTWF5SUxRWUFJVGdSQVJBQUFBQUFBQU9CL0lVSWdDMEgvRDBrRVFDQUxRZjhIYXlFTERBSUxSQUFBQUFBQUFQQi9JVUpCL1JjZ0N5QUxRZjBYVHh0Qi9nOXJJUXNNQVFzZ0MwR0JlRW9OQUVRQUFBQUFBQUJnQXlGQ0lBdEJ1SEJMQkVBZ0MwSEpCMm9oQ3d3QkMwUUFBQUFBQUFBQUFDRkNRZkJvSUFzZ0MwSHdhRTBiUVpJUGFpRUxDeUFWSUJjb0FnUzNSQUFBQUFBQUFFQS9va1FBQUFBQUFBRHdQNkFnUWlBTFFmOEhhcTFDTklhL29xSzJPQUlnSUJVZ0RDQWJLQUtrQm1wQkFXczJBaHdnRlNnQ0ZDRUxBa0FDUUFKQUlDTkZEUUFnQ3cwQUlCVWdJUkFVSWdzMkFoUWdDMFVFUUNBS1FRRkJsQlZCQUJBUERBb0xJQXRCQUNBaEVCVWFJQlVnSVRZQ0dBd0JDeUFoSUJVb0FoaExCRUFnQ3lBaEVCY2lERVVFUUNBS1FRRkJsQlZCQUJBUElCVW9BaFFRRUNBVlFnQTNBaFFNQ2dzZ0ZTQU1OZ0lVSUF3Z0ZTZ0NHQ0lMYWtFQUlDRWdDMnNRRlJvZ0ZTQWhOZ0lZQ3lBalJRMEJDeUFWS0FJVUlRdEJBQ0VrQTBBZ0N5QWtJQ1FnR2lnQ0VDSU1iaUlXSUF4c2F5SU5JQjkwSUNKcUlnOGdGU2dDQUNJTUlBd2dEMGdiSWhFMkFnQWdDeUFXSUNCMElCTnFJZzhnRlNnQ0JDSU1JQXdnRDBnYkloUTJBZ1FnQ3lBTlFRRnFJQjkwSUNKcUlnOGdGU2dDQ0NJTUlBd2dEMG9iSWcwMkFnZ2dDeUFXUVFGcUlDQjBJQk5xSWc4Z0ZTZ0NEQ0lNSUF3Z0Qwb2JJZ3cyQWd3Z0N5QS9JQTJzZkNBK2g2Y2dFU0F0ZFNJV2F5QXRkQ0F0ZFNJUE5nSVFJQXNnUFNBTXJId2dQSWVuSUJRZ0xIVWlFV3NnTEhRZ0xIVWlERFlDRkNBTUlBOXNJaVd0UWdhR1FpQ0lRZ0JTQkVBZ0NrRUJRZVVWUVFBUUR3d0pDeUFsUVFaMElRMENRQUovQWtBZ0N5Z0NHQ0lNRFFBZ0pVVU5BQ0FMSUEwUUZDSU1OZ0lZSUF4RkRRc2dERUVBSUEwUUZSb2dDMEVjYWd3QkN5QU5JQXNvQWh4TkRRRWdEQ0FORUJjaUQwVUVRQ0FMS0FJWUVCQWdDMElBTndJWUlBcEJBVUhqRWtFQUVBOE1Dd3NnQ3lBUE5nSVlJQThnQ3lnQ0hDSU1ha0VBSUEwZ0RHc1FGUm9nQzBFY2Fnc2dEVFlDQUFzZ0N5Z0NGQ0VOSUFzb0FoQWhEeUFMQW44Z0N5Z0NJQ0lNUlFSQUlBOGdEU0FLRUdNTUFRc2dEQ0FQSUEwZ0NoQmhDellDSUNBTEtBSVVJUTBnQ3lnQ0VDRVBJQXNDZnlBTEtBSWtJZ3hGQkVBZ0R5QU5JQW9RWXd3QkN5QU1JQThnRFNBS0VHRUxOZ0lrSUNVRVFFRUFJUklEUUNBU0lBc29BaEFpRFc0aEhBSkFJQXNvQWhnZ0VrRUdkR29pR1NnQ0FDSVVCRUFnR1NnQ09DRVBJQmtvQWdRaERDQVpLQUl3SVNvZ0dTZ0NQQkFRSUJuOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOUN3SW9JQmxDQURjQ09DQVovUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDR0NBWi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NDQ0FaSUJRMkFnQWdHU0FxTmdJd0lDb0VRQ0FVUVFBZ0trRVliQkFWR2dzZ0dTQVBOZ0k0SUJrZ0REWUNCQXdCQ3lBWlFRcEJHQkFUSWd3MkFnQWdERVVOQ3lBWlFRbzJBakFMSUJrZ0VpQU5JQnhzYXlBV2FpSVVJQzEwSWc4Z0N5Z0NBQ0lNSUF3Z0QwZ2JOZ0lJSUJrZ0VTQWNhaUlOSUN4MElnOGdDeWdDQkNJTUlBd2dEMGdiTmdJTUlCa2dGRUVCYWlBdGRDSVBJQXNvQWdnaURDQU1JQTlLR3pZQ0VDQVpJQTFCQVdvZ0xIUWlEeUFMS0FJTUlnd2dEQ0FQU2hzMkFoUWdFa0VCYWlJU0lDVkhEUUFMQ3lBTFFTaHFJUXNnSkVFQmFpSWtJQ05IRFFBTEN5QVhRUWhxSVJjZ0ZVRWthaUVWSUNsQkFXb2lLU0FhS0FJWVNRMEFDeUFhUVpnQmFpRWFJQWtoQ3lBclFRRnFJaXNnRUNnQ0ZFa05BQXNMSUNkQk5Hb2hKeUFRUWN3QWFpRVFJQnRCdUFocUlSc2dLRUVCYWlJb0lCNG9BaEJKRFFBTFFRRU1Bd3NnQ2tFQlFaUVdRUUFRRHd3QkN5QUtRUUZCc3hGQkFCQVBDMEVBQzBVRVFDQUtRUUZCd2h0QkFCQVBRUUFNQkFzZ0FDZ0N6QUVoQ1NBT0lBQW9BbWdnQUNnQ2JHdzJBZ1FnRGlBSlFRRnFOZ0lBSUFwQkJFRysxd0FnRGhBUElBRWdBQ2dDekFFMkFnQWdDRUVCTmdJQUlBSUVRQ0FDSUFBb0F0QUJRUUFRVkNJQk5nSUFRUUFnQVVGL1JnMEVHZ3NnQXlBQUtBTFFBU2dDRkNnQ0FDSUJLQUlBTmdJQUlBUWdBU2dDQkRZQ0FDQUZJQUVvQWdnMkFnQWdCaUFCS0FJTU5nSUFJQWNnQVNnQ0VEWUNBQ0FBSUFBb0FnaEJnQUZ5TmdJSUMwRUJEQUlMSUFwQkFTQVNRUUFRRHdzZ0NrRUJRZVFiUVFBUUQwRUFDeUV3SUE1QjBBQnFKQUFnTUF2ZUVBSU5md0orQWtBZ0FDZ0NJQ0lGRFFBQ1FDQUFLQUlRSWdsQkJVb0VRQ0FKSVFNTUFRc0NRQUpBSUFBb0FoUWlBa0VGVGdSQUlBQW9BZ0FpQVNnQ0FDRUZJQUFnQVVFRWFqWUNBQ0FDUVFScklRY01BUXNnQWtFQVRBUkFRWDhoQlF3Q0N5QUFLQUlBSVFFQ2Z5QUNRUUZHQkVCQmZ5RUdRUUFNQVF0QmZ5RUdJQUpCQVdzaUEwRUJjU0VOQWtBZ0FrRUNSZ1JBUVFBaEJTQUNJUVFNQVFzZ0EwRitjU0VMUVFBaEJTQUJJUU1nQWlFRUEwQWdBQ0FEUVFGcU5nSUFJQU10QUFBaERDQUFJQU5CQW1vaUFUWUNBQ0FBSUFSQkFXczJBaFFnQXkwQUFTRURJQUFnQkVFQ2F5SUVOZ0lVSUFaQi93RWdCWFJCZjNOeElBd2dCWFJ5UVlEK0F5QUZkRUYvYzNFZ0F5QUZRUWh5ZEhJaEJpQUZRUkJxSVFVZ0FTRURJQWhCQW1vaUNDQUxSdzBBQ3dzZ0RRUkFJQUFnQVVFQmFpSUROZ0lBSUFFdEFBQWhBU0FBSUFSQkFXczJBaFFnQmtIL0FTQUZkRUYvYzNFZ0FTQUZkSEloQmlBRElRRUxJQUpCQTNSQkNHc0xJUVVnQUNBQlFRRnFOZ0lBSUFaQi93RWdCWFJCZjNOeElBRXRBQUJCRDNJZ0JYUnlJUVVMSUFBZ0J6WUNGQXNnQUNnQ0dDRUJJQUFnQlVFWWRpSUhRZjhCUmpZQ0dDQUFJQWtnQlVFUWRrSC9BWEVpQ0VIL0FVWWlDaUFGUVFoMlFmOEJjU0lMUWY4QlJpSU1JQUVnQlVIL0FYRWlCRUgvQVVZaUFtcHFhaUlCYTBFZ2FpSUROZ0lRSUFBZ0FDa0RDQ0FFUVFkQkNDQUNHM1FnQzNKQkIwRUlJQXdiZENBSWNrRUhRUWdnQ2h0MElBZHlyU0FCSUFsclFTQnFyWWFFTndNSVFRQWhCU0FEUVFaSURRRUxJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUJyQ0FBS1FNb1FrQ0RoRGNES0VFQklRVWdBMEVHU0EwQUlBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQUtRTW9RdjlBZ3lBQnJFSUhob1EzQXloQkFpRUZJQU5CQmtnTkFDQUFLQUljSWdGQkFuUkJvSjBCYWlnQ0FDRUNBbjRnQUNrRENDSU9RZ0JUQkVCQkRDQUJRUUZxSUFGQkMwNGJJUVFnQTBFQmF5RURRWDhnQW5SQmYzTkJBWFFoQVVJQkRBRUxJQUZCQVd0QkFDQUJRUUZLR3lFRUlBNUJQeUFDYTYySXAwRi9JQUowUVg5emNVRUJkRUVCY2lFQklBTWdBa0VCYWlJQ2F5RURJQUt0Q3lFUElBQWdBellDRUNBQUlBUTJBaHdnQUNBT0lBK0dOd01JSUFBZ0FDa0RLRUwvLzBDRElBR3NRZzZHaERjREtFRURJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXYvLy8wQ0RJQUdzUWhXR2hEY0RLRUVFSVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2Ly8vLzlBZ3lBQnJFSWNob1EzQXloQkJTRUZJQU5CQmtnTkFDQUFLQUljSWdGQkFuUkJvSjBCYWlnQ0FDRUNBbjRnQUNrRENDSU9RZ0JUQkVCQkRDQUJRUUZxSUFGQkMwNGJJUVFnQTBFQmF5RURRWDhnQW5SQmYzTkJBWFFoQVVJQkRBRUxJQUZCQVd0QkFDQUJRUUZLR3lFRUlBNUJQeUFDYTYySXAwRi9JQUowUVg5emNVRUJkRUVCY2lFQklBTWdBa0VCYWlJQ2F5RURJQUt0Q3lFUElBQWdBellDRUNBQUlBUTJBaHdnQUNBT0lBK0dOd01JSUFBZ0FDa0RLRUwvLy8vLy8wQ0RJQUd0UWlPR2hEY0RLRUVHSVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2Ly8vLy8vLzBDRElBR3RRaXFHaERjREtFRUhJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXYvLy8vLy8vLzlBZ3lBQnJVSXhob1EzQXloQkNDRUZDeUFBSUFWQkFXczJBaUFnQUNBQUtRTW9JZzVDQjRnM0F5Z2dEcWRCL3dCeEN5SUJBWDhnQUFSQUlBQW9BZ3dpQVFSQUlBRVFFQ0FBUVFBMkFnd0xJQUFRRUFzTGlnRUNBWDRGZndKQUlBQkNnSUNBZ0JCVUJFQWdBQ0VDREFFTEEwQWdBVUVCYXlJQklBQkNDb0FpQWtMMkFYNGdBSHluUVRCeU9nQUFJQUJDLy8vLy81OEJWaUVHSUFJaEFDQUdEUUFMQ3lBQ1FnQlNCRUFnQXFjaEF3TkFJQUZCQVdzaUFTQURRUXB1SWdSQjlnRnNJQU5xUVRCeU9nQUFJQU5CQ1VzaEJ5QUVJUU1nQncwQUN3c2dBUXY1NGdFRWVuOEdld2grQVgwakFFRVFheUpPSkFBQ1FDQUFMUUFJUVlBQmNVVU5BQ0FBS0FMTUFTQUJSdzBBSUFBb0Fwd0JJQUZCakN4c2FpSlBLQUxjS3lJVlJRUkFJRThRTGd3QkN5QUFLQUxJQVJvZ0FDZ0MwQUVoR1NBQUtBSk1JZ2RGQkVBZ0FDZ0NTQ0VIQ3lBSEtBSUFJUVlnQnlnQ0JDRUxJQWNvQWdnaENTQUhLQUlNSVEwZ0FDZ0NQQ0VISUFBb0FrQWhDQ0JQS0FMZ0t5RUtJd0JCRUdzaVFDUUFJQmtnQVRZQ0pDQVpLQUljS0FKTUlRd2dHVUVCTmdKQUlCa2dEVFlDUENBWklBazJBamdnR1NBTE5nSTBJQmtnQmpZQ01DQVpJQXdnQVVHTUxHeHFOZ0lnSUJrb0FrUVFFRUVBSVFzZ0dVRUFOZ0pFQWtBZ0J3UkFRUVFnR1NnQ0dDZ0NFQkFUSWd0RkJFQU1BZ3RCQUNFTlFRQWhDU0FIUVFSUEJFQWdCMEY4Y1NFTVFRQWhBUU5BSUFzZ0NDQUpRUUowYWlJR0tBSUFRUUowYWtFQk5nSUFJQXNnQmlnQ0JFRUNkR3BCQVRZQ0FDQUxJQVlvQWdoQkFuUnFRUUUyQWdBZ0N5QUdLQUlNUVFKMGFrRUJOZ0lBSUFsQkJHb2hDU0FCUVFScUlnRWdERWNOQUFzTElBZEJBM0VpQVFSQUEwQWdDeUFJSUFsQkFuUnFLQUlBUVFKMGFrRUJOZ0lBSUFsQkFXb2hDU0FOUVFGcUlnMGdBVWNOQUFzTElCa2dDellDUkFzQ1FBSkFJQmtvQWhnaUJpZ0NFQ0lOUlEwQVFRQWhDUUpBQTBBQ1FDQUxCRUFnQ3lBSlFRSjBhaWdDQUVVTkFRc2dCaWdDR0NBSlFUUnNhaUlCTlFJRUlvWUJRZ0Y5SW9vQklCazFBang4SUlZQmdDR0xBU0FCTlFJQUlvY0JRZ0Y5SW9nQklCazFBamg4SUljQmdDR01BU0NLQVNBWk5RSTBmQ0NHQVlBaGhnRWdHU2dDRkNnQ0FDZ0NGQ0FKUWN3QWJHb2lBU2dDRkNBQktBSVlheUlIUVI5TERRQUNRQ0NJQVNBWk5RSXdmQ0NIQVlDbklnZ2dBU2dDQUdzaURFRUFJQWdnREU4YklBZDJEUUFnaGdHbklnZ2dBU2dDQkdzaURFRUFJQWdnREU4YklBZDJEUUFnQVNnQ0NDSUlJSXdCcDJzaURFRUFJQWdnREU4YklBZDJEUUFnQVNnQ0RDSUJJSXNCcDJzaUNFRUFJQUVnQ0U4YklBZDJSUTBCQ3lBWlFRQTJBa0FNQWdzZ0NVRUJhaUlKSUExSERRQUxJQmtvQWtCRkRRQWdEVVVOQVVFQUlRMERRQ0FaS0FJVUtBSUFLQUlVSUExQnpBQnNhaUlCS0FJY0lBRW9BaGhCbUFGc2FpSUhRWlFCYXlnQ0FDRUdJQWRCakFGcktBSUFJUXNnQjBHWUFXc29BZ0FoQ1NBSFFaQUJheWdDQUNFSUFrQWdHU2dDUkNJSEJFQWdCeUFOUVFKMGFpZ0NBRVVOQVFzZ0N5QUdheUVISUFnZ0NXc2hDUUpBSUFZZ0MwWU5BQ0FIclNBSnJYNUNJSWhRRFFBZ0JVRUJRWlFXUVFBUUR3d0dDeUFISUFsc0lnZEJnSUNBZ0FSUEJFQWdCVUVCUVpRV1FRQVFEd3dHQ3lBQklBZEJBblFpQnpZQ0xBSi9Ba0FDUUFKQUlBRW9BaVFpQmdSQUlBY2dBU2dDTUUwTkJTQUJLQUlvRFFFTElBRWdCeEFZSWdjMkFpUWdCMEVCSUFFb0Fpd2lCeHRGRFFFZ0FTQUhOZ0l3SUFGQktHb01Bd3NnQmhBUUlBRWdBU2dDTEJBWUlnYzJBaVFnQncwQklBRkJBRFlDTUNBQlFnQTNBaWdMSUFWQkFVR1VGa0VBRUE4TUJ3c2dBU0FCS0FJc05nSXdJQUZCS0dvTFFRRTJBZ0FMSUExQkFXb2lEU0FaS0FJWUlnWW9BaEJKRFFBTERBRUxJQTFGRFFBZ0JpZ0NHQ0VQSUJrb0FoUW9BZ0FvQWhRaEZrRUFJUUVEUUFKQUlBc0VRQ0FMSUFGQkFuUnFLQUlBUlEwQkN5QVdJQUZCekFCc2FpSUhJQWNvQWdBaUNTQVBJQUZCTkd4cUlnZzFBZ0FpaGdGQ0FYMGlpZ0VnR1RVQ01Id2doZ0dBcHlJTUlBa2dERXNiSWdrMkFqZ2dCeUFIS0FJRUlnd2dDRFVDQkNLSEFVSUJmU0tMQVNBWk5RSTBmQ0NIQVlDbklnZ2dDQ0FNU1JzaUNEWUNQQ0FISUFjb0FnZ2lEQ0NLQVNBWk5RSTRmQ0NHQVlDbkloY2dEQ0FYU1JzaUREWUNRQ0FISUFjb0Fnd2lGeUNMQVNBWk5RSThmQ0NIQVlDbklnNGdEaUFYU3hzaUZ6WUNSQ0FKSUF4TERRTWdDQ0FYU3cwRElBY29BaFFpRGtVTkFDQU9yU0dMQVNBWHJTR0lBU0FNclNHTUFTQUlyU0dOQVNBSnJTR0pBU0FIS0FJY0lRbENBQ0dIQVFOQUlBa2dod0duSWdoQm1BRnNhaUlIUW44Z0RpQUlRWDl6YXEwaWhnR0dRbitGSW9vQklJZ0JmQ0NHQVlnK0FwUUJJQWNnaWdFZ2pBRjhJSVlCaUQ0Q2tBRWdCeUNLQVNDTkFYd2doZ0dJUGdLTUFTQUhJSWtCSUlvQmZDQ0dBWWcrQW9nQklJY0JRZ0Y4SW9jQklJc0JVZzBBQ3dzZ0FVRUJhaUlCSUExSERRQUxDeUJBUVFBMkFnZ2dHU2dDSENFQlFRRkJDQkFUSWhzRVFDQWJJQUUyQWdRZ0d5QUdOZ0lBQ3lBYlJRMEJJQmtvQWlRaEVTQVpLQUlVS0FJQUlTQWpBRUh3QUdzaUV5UUFJQkZCakN4c0lnRWdHeWdDQkNJSUtBSk1haUljS0FLa0F5RW9BbjhnR3lnQ0FDSWVJUmNnQlNFelFRQWhEU01BUVNCcklnOGtBQ0FCSUFnb0FreHFJaDBvQXFRRElSZ0NRQ0FYS0FJUUloWkJrQVJzRUJRaURFVU5BQUpBSUJaQkFuUVFGQ0lMUlFSQUlBd2hDd3dCQ3dKL0lBZ29Ba3dnRVVHTUxHeHFJZ2tvQXFRRElocEJBV29pQVVId0FSQVRJZ2NFUUFKQUlBRUVRQ0FYS0FJUUlRNGdCeUVCQTBBZ0FTQXpOZ0xzQVNBQklBNUJFQkFUSWdZMkFzZ0JJQVpGRFFJZ0FTQVhLQUlRSWg4MkFzUUJRUUFoQmtFQUlRNGdId1JBQTBBZ0FTZ0N5QUVnQmtFRWRHb2lEaUFKS0FMUUt5QUdRYmdJYkdvaUh5Z0NCRUVRRUJNaUlUWUNEQ0FoUlEwRUlBNGdIeWdDQkRZQ0NDQUdRUUZxSWdZZ0Z5Z0NFQ0lPU1EwQUN3c2dBVUh3QVdvaEFTQVNJQnBHSVhNZ0VrRUJhaUVTSUhORkRRQUxDeUFIREFJTElBY29BZ1FpQVFSQUlBRVFFQ0FIUVFBMkFnUUxJQWNoQVVFQUlRa0RRQ0FCS0FMSUFTSUdCRUJCQUNFT0lBRW9Bc1FCSWhJRWZ3TkFJQVlvQWd3aUh3UkFJQjhRRUNBR1FRQTJBZ3dnQVNnQ3hBRWhFZ3NnQmtFUWFpRUdJQTVCQVdvaURpQVNTUTBBQ3lBQktBTElBUVVnQmdzUUVDQUJRUUEyQXNnQkN5QUJRZkFCYWlFQklBa2dHa1loZENBSlFRRnFJUWtnZEVVTkFBc2dCeEFRQzBFQUN5SUhCRUFDUUNBV1JRMEFRUUFoQ1NBTUlRWWdGa0VFVHdSQUlBWWdGa0Y4Y1NJSlFaQUViR29oQmlBTUlRRURRQ0FMSUJCQkFuUnFJQUg5RWYwTUFBQUFBQkFDQUFBZ0JBQUFNQVlBQVAydUFmMExBZ0FnQVVIQUVHb2hBU0FRUVFScUloQWdDVWNOQUFzZ0NTQVdSZzBCQ3dOQUlBc2dDVUVDZEdvZ0JqWUNBQ0FHUVpBRWFpRUdJQWxCQVdvaUNTQVdSdzBBQ3dzZ0N5RU9RUUFoRWlBSUtBSk1JQkZCakN4c2FpZ0MwQ3NoQVNBWEtBSVlJUWtnRHlBSUtBSUVJQWdvQWd3Z0VTQVJJQWdvQWhnaUJtNGlDeUFHYkd0c2FpSUdJQmNvQWdBaUVDQUdJQkJMR3pZQ0ZDQVBRWDhnQmlBSUtBSU1haUlRSUFZZ0VFc2JJZ1lnRnlnQ0NDSVFJQVlnRUVrYk5nSVFJQThnQ0NnQ0NDQUlLQUlRSUF0c2FpSUdJQmNvQWdRaUN5QUdJQXRMR3pZQ0RDQVBRWDhnQmlBSUtBSVFhaUlMSUFZZ0Mwc2JJZ1lnRnlnQ0RDSUxJQVlnQzBrYk5nSUlJQTlCQURZQ0dDQVBRUUEyQWh3Z0QwSC8vLy8vQnpZQ0JDQVBRZi8vLy84SE5nSUFJQmNvQWhBRVFBTkFJQTRFZnlBT0lCSkJBblJxS0FJQUJVRUFDeUVMSUFrMUFnUWloZ0ZDQVgwaWlnRWdEelVDQ0h3Z2hnR0FJWXNCSUFrMUFnQWlod0ZDQVgwaWlBRWdEelVDRUh3Z2h3R0FJWXdCSUlvQklBODFBZ3g4SUlZQmdDR0dBU0NJQVNBUE5RSVVmQ0NIQVlBaGh3RWdBU2dDQkNJSUlBOG9BaHhMQkVBZ0R5QUlOZ0ljSUFFb0FnUWhDQXNnQ0FSQUlJc0JRdi8vLy84UGd5R0tBU0NNQVVMLy8vLy9ENE1oaXdFZ2hnRkMvLy8vL3crRElZZ0JJSWNCUXYvLy8vOFBneUdNQVNBQlFiQUhhaUVmSUFGQnJBWnFJU0ZCQUNFYUEwQWdIeUFhUVFKMEloQnFLQUlBSVFZZ0VDQWhhaWdDQUNFUlFRQWhFQ0FMQkVBZ0N5QUdOZ0lFSUFzZ0VUWUNBQ0FMUVFocUlSQUxBa0FnRVNBSVFRRnJJZ2hxSWd0Qkgwc05BQ0FKS0FJQUlpSkJmeUFMZGtzTkFDQVBJQThvQWdRaUp5QWlJQXQwSWdzZ0N5QW5TeHMyQWdRTEFrQWdCaUFJYWlJTFFSOUxEUUFnQ1NnQ0JDSWlRWDhnQzNaTERRQWdEeUFQS0FJQUlpY2dJaUFMZENJTElBc2dKMHNiTmdJQUMwRUFJUXNnaWdGQ2Z5QUlyU0tHQVlaQ2Y0VWlod0Y4SUlZQmlDS05BVUwvLy8vL0Q0TkNBU0FHclNLSkFZWjhRZ0Y5SUlrQmlLY2dod0VnaUFGOElJWUJpS2NpSWlBR2RtdEJmeUFHZG5GQkFDQWlJSTBCcDBjYklRWWdod0VnaXdGOElJWUJpQ0tOQVVMLy8vLy9ENE5DQVNBUnJTS0pBWVo4UWdGOUlJa0JpS2NnaHdFZ2pBRjhJSVlCaUtjaUlpQVJkbXRCZnlBUmRuRkJBQ0FpSUkwQnAwY2JJUkVnRUFSQUlCQWdCallDQkNBUUlCRTJBZ0FnRUVFSWFpRUxDeUFHSUJGc0lnWWdEeWdDR0VzRVFDQVBJQVkyQWhnTElCcEJBV29pR2lBQktBSUVTUTBBQ3dzZ0NVRTBhaUVKSUFGQnVBaHFJUUVnRWtFQmFpSVNJQmNvQWhCSkRRQUxDeUFZUVFGcUlTRWdEeWdDSENFUklBOG9BaGdoRWlBSFFRQTJBZ1FDUUNBZEtBSUlRUUZxSWdHdElCRWdFaUFXYkNJaWJDSWFyWDVDSUloUUJFQWdCeUFCSUJwc0lnRTJBZ2dnQnlBQlFRSVFFeUlCTmdJRUlBRU5BUXNnREJBUUlBNFFFQ0FIS0FJRUlnRUVRQ0FCRUJBZ0IwRUFOZ0lFQ3lBaFJRUkFJQWNoQ3d3REMwRUFJUXNnQnlFQkEwQWdBU2dDeUFFaUNRUkFRUUFoQmlBQktBTEVBU0lRQkg4RFFDQUpLQUlNSWdnRVFDQUlFQkFnQ1VFQU5nSU1JQUVvQXNRQklSQUxJQWxCRUdvaENTQUdRUUZxSWdZZ0VFa05BQXNnQVNnQ3lBRUZJQWtMRUJBZ0FVRUFOZ0xJQVFzZ0FVSHdBV29oQVNBTElCaEdJWFVnQzBFQmFpRUxJSFZGRFFBTElBY2hDd3dDQ3lBWEtBSVlJUmNnQnlBUEtBSVVJaWMyQXN3QklBY2dEeWdDRENJd05nTFFBU0FISUE4b0FoQWlMVFlDMUFFZ0J5QVBLQUlJSWlzMkF0Z0JJQWNnR2pZQ0RDQUhJQ0kyQWhBZ0J5QVNOZ0lVUVFFaEh5QUhRUUUyQWhnZ0ZnUkFJQWNvQXNnQklRRkJBQ0VJSUJjaEN3TkFJQTRnQ0VFQ2RHb29BZ0FoQ1NBQklBc29BZ0EyQWdBZ0FTQUxLQUlFTmdJRUFrQWdBU2dDQ0NJTlJRMEFJQUVvQWd3aEJpQU5RUUZIQkVBZ0RVRitjU0V2UVFBaEVBTkFJQVlnQ1NnQ0FEWUNBQ0FHSUFrb0FnUTJBZ1FnQmlBSktBSUlOZ0lJSUFZZ0NTZ0NERFlDRENBR0lBa29BaEEyQWhBZ0JpQUpLQUlVTmdJVUlBWWdDU2dDR0RZQ0dDQUdJQWtvQWh3MkFod2dCa0VnYWlFR0lBbEJJR29oQ1NBUVFRSnFJaEFnTDBjTkFBc0xJQTFCQVhGRkRRQWdCaUFKS0FJQU5nSUFJQVlnQ1NnQ0JEWUNCQ0FHSUFrb0FnZzJBZ2dnQmlBSktBSU1OZ0lNQ3lBTFFUUnFJUXNnQVVFUWFpRUJJQWhCQVdvaUNDQVdSdzBBQ3dzZ0lVRUJTd1JBSUFjaERRTkFJQTBnS3pZQ3lBTWdEU0F0TmdMRUF5QU5JREEyQXNBRElBMGdKellDdkFNZ0RVRUJOZ0tJQWlBTklCSTJBb1FDSUEwZ0lqWUNnQUlnRFNBYU5nTDhBU0FXQkVBZ0RTZ0N1QU1oQVVFQUlRZ2dGeUVMQTBBZ0RpQUlRUUowYWlnQ0FDRUpJQUVnQ3lnQ0FEWUNBQ0FCSUFzb0FnUTJBZ1FDUUNBQktBSUlJaUZGRFFBZ0FTZ0NEQ0VHSUNGQkFVY0VRQ0FoUVg1eElTOUJBQ0VRQTBBZ0JpQUpLQUlBTmdJQUlBWWdDU2dDQkRZQ0JDQUdJQWtvQWdnMkFnZ2dCaUFKS0FJTU5nSU1JQVlnQ1NnQ0VEWUNFQ0FHSUFrb0FoUTJBaFFnQmlBSktBSVlOZ0lZSUFZZ0NTZ0NIRFlDSENBR1FTQnFJUVlnQ1VFZ2FpRUpJQkJCQW1vaUVDQXZSdzBBQ3dzZ0lVRUJjVVVOQUNBR0lBa29BZ0EyQWdBZ0JpQUpLQUlFTmdJRUlBWWdDU2dDQ0RZQ0NDQUdJQWtvQWd3MkFnd0xJQXRCTkdvaEN5QUJRUkJxSVFFZ0NFRUJhaUlJSUJaSERRQUxDeUFOSUEwcEFnUTNBdlFCSUJnZ0gwY2hkaUFOUWZBQmFpRU5JQjlCQVdvaEh5QjJEUUFMQ3lBTUVCQWdEaEFRSUIwb0FxUURJUXNDUUNBZExRQ0lMRUVFY1FSQUlBdEJmMFlOQVNBZFFhZ0RhaUVHSUIwb0FnZ2hBVUVBSVJBZ0J5RUpBMEFnQmlnQ0pDRU5JQWxCQVRZQ0xDQUpJQTAyQWxRZ0NTQUdLQUlBTmdJd0lBWW9BZ1FoRFNBSlFnQTNBa1FnQ1NBTk5nSTBJQWtnQmlnQ0REWUNQQ0FKSUFZb0FoQTJBa0FnQmlnQ0NDRU5JQWtnRWpZQ1RDQUpJQTBnQVNBQklBMUxHellDT0NBR1FaUUJhaUVHSUFsQjhBRnFJUWtnQ3lBUVJpRjNJQkJCQVdvaEVDQjNSUTBBQ3d3QkN5QUxRWDlHRFFBZ0hTZ0NDQ0VHSUIwb0FnUWhEU0FISVFrZ0N3UkFJQXRCQVdwQmZuRWhDRUVBSVFFRFFDQUpRZ0EzQWtRZ0NVRUFOZ0kwSUFsQ0FUY0NMQ0FKSUEwMkFsUWdDU0FSTmdJOElBa2dEVFlDeEFJZ0NTQVNOZ0pNSUFrZ0JqWUNPQ0FKUWdBM0FyUUNJQWxCQURZQ3BBSWdDVUlCTndLY0FpQUpJQkUyQXF3Q0lBa2dCallDcUFJZ0NTQVNOZ0s4QWlBSklBa29Bc1FCTmdKQUlBa2dDU2dDdEFNMkFyQUNJQWxCNEFOcUlRa2dBVUVDYWlJQklBaEhEUUFMQ3lBTFFRRnhEUUFnQ1VJQU53SkVJQWxCQURZQ05DQUpRZ0UzQWl3Z0NTQU5OZ0pVSUFrZ0VUWUNQQ0FKSUJJMkFrd2dDU0FHTmdJNElBa2dDU2dDeEFFMkFrQUxJQWNoRFF3Q0N5QU1FQkFMSUFzUUVBc2dEMEVnYWlRQVFRQWdEU0lIUlEwQUdpQW9RUUZxSVE0Z0ZTRWRJQWNoQ3dKQUFrQURRQ0FMS0FKVVFYOUdEUUlnSGlnQ0VFRUNkQkFVSWdGRkRRSWdBVUVCSUI0b0FoQkJBblFRRlNFSklBc1FWd1JBQTBBZ0lDZ0NGQ0VJQWtBQ1FDQUxLQUlvSUJ3b0FneFBEUUFnQ3lnQ0lDSUJJQWdnQ3lnQ0hFSE1BR3hxSWdZb0FoaFBEUUFnQmlnQ0hDQUJRWmdCYkdvaURTZ0NHRVVOQUNBTlFSeHFJUWhCQUNFQkFrQURRQ0FaSUFzb0Fod2dDeWdDSUNBSUlBRkJKR3hxSWdZb0FoQWdCaWdDRkNBTEtBSWtRU2hzYWlJR0tBSUFJQVlvQWdRZ0JpZ0NDQ0FHS0FJTUVEbEZCRUFnQVVFQmFpSUJJQTBvQWhoSkRRRU1BZ3NMSUFrZ0N5Z0NIRUVDZEdwQkFEWUNBQ0FUUVFBMkFtZ2dHeWdDQkNBZ0tBSVVJQndnQ3lBVFFld0FhaUFkSUJOQjZBQnFJQW9nTXhCV1JRMEdJQXNvQWlBaENDQUxLQUljSVJZZ0V5Z0NhQ0VhSUJNb0Ftd0VRQ0FUUVFBMkFtZ2dJQ2dDRkNBV1Fjd0FiR29vQWh3Z0NFR1lBV3hxSWg4b0FoZ2lBUVIvSUFvZ0dtc2hHQ0FLSUIxcUlTRWdIMEVjYWlFTVFRQWhFVUVBSVE4Z0dpQWRhaUlpSVJJRFFBSkFJQXdvQWdnZ0RDZ0NBRVlOQUNBTUtBSU1JQXdvQWdSR0RRQWdEQ2dDRkNBTEtBSWtRU2hzYWlJR0tBSVVJQVlvQWhCc0lpaEZEUUFnQmlnQ0dDRUJRUUFoRmdOQUlBOEVRQ0FCUVFBMkFqUUxJQUVvQWlRaUZ3UkFJQUVvQWdBaENBSkFJQUVnQVNnQ0tDSUdCSDhnQ0NBR1FSaHNhaUlJUVJScktBSUFJQWhCREdzb0FnQkhCRUFnQ0VFWWF5RUlEQUlMSUFaQkFXb0ZRUUVMTmdJb0N3SkFBMEFDUUFKQUFrQWdDQ2dDRkNJTklCSkJmM05MRFFBZ0R3MEFJQTBnRW1vZ0lVME5BUXNnQ3lnQ0hDRUdJQXNvQWlBaEZ5QUxLQUlrSVE4Z0d5Z0NCQ2dDYUFSQUlCTWdCallDV0NBVElCYzJBbFFnRXlBUk5nSlFJQk1nRHpZQ1RDQVRJQlkyQWtnZ0V5QVlOZ0pFSUJNZ0RUWUNRQ0F6UVFGQjh1MEFJQk5CUUdzUUR3d1JDeUFUSUFZMkFqZ2dFeUFYTmdJMElCTWdFVFlDTUNBVElBODJBaXdnRXlBV05nSW9JQk1nR0RZQ0pDQVRJQTAyQWlBZ00wRUNRZkx0QUNBVFFTQnFFQThnQVVFQU5nSTBJQWdnQ0NnQ0VDSUdJQWdvQWdScU5nSUVJQUVnQVNnQ0pDSU5JQVpySWhjMkFpUkJBU0VQSUFZZ0RVWU5BU0FCSUFFb0FpaEJBV29pQ0RZQ0tBd0RDeUFCS0FJRUlSQWdBU2dDTkNJUElBRW9BamhIQkg4Z0Z3VWdFQ0FQUVFGMFFRRnlJZ1pCQTNRUUZ5SVFSUVJBSUROQkFVR0FDRUVBRUE4TUVRc2dBU0FHTmdJNElBRWdFRFlDQkNBQktBSTBJUThnQ0NnQ0ZDRU5JQUVvQWlRTElRWWdFQ0FQUVFOMGFpSVhJQTAyQWdRZ0Z5QVNOZ0lBSUFFZ0QwRUJhallDTkNBSUlBZ29BZ0FnRFdvMkFnQWdDQ0FJS0FJUUloQWdDQ2dDQkdvaUR6WUNCQ0FCSUFZZ0VHc2lGellDSkNBSUlBODJBZ2dnRFNBU2FpRVNRUUFoRHlBR0lCQkdEUUFnQVNBQktBSW9RUUZxTmdJb0lBaEJHR29oQ0FzZ0Z3MEFDeUFCS0FJb0lRZ0xJQUVnQ0RZQ0xBc2dBVUZBYXlFQklCWkJBV29pRmlBb1J3MEFDeUFmS0FJWUlRRUxJQXhCSkdvaERDQVJRUUZxSWhFZ0FVa05BQXNnQ3lnQ0hDRVdJQXNvQWlBaENDQVlJQklnSW1zZ0R4c0ZRUUFMSUJwcUlSb0xJQjRvQWhnZ0ZrRTBiR29pQVNBSUlBRW9BaVFpQVNBQklBaEpHellDSkF3Q0N5QWdLQUlVSVFnTElCTkJBRFlDYUNBYktBSUVJQWdnSENBTElCTkI3QUJxSUIwZ0UwSG9BR29nQ2lBekVGWkZEUVFnQ3lnQ0hDRVdJQk1vQW1naEdpQVRLQUpzUlEwQUFrQWdJQ2dDRkNBV1Fjd0FiR29vQWh3Z0N5Z0NJQ0lpUVpnQmJHb2lBU2dDR0NJb1JRUkFRUUFoRnd3QkN5QUtJQnBySVJBZ0FVRWNhaUVNSUFzb0FpUWhJVUVBSVJkQkFDRVlBMEFDUUNBTUtBSUlJQXdvQWdCR0RRQWdEQ2dDRENBTUtBSUVSZzBBSUF3b0FoUWdJVUVvYkdvaUFTZ0NGQ0FCS0FJUWJDSW5SUTBBSUFFb0FoZ2hFVUVBSVI4RFFDQVJLQUlrSWdFRVFDQVJLQUlBSVFnQ1FDQVJJQkVvQWlnaUVnUi9JQWdnRWtFWWJHb2lDRUVVYXlnQ0FDQUlRUXhyS0FJQVJ3UkFJQWhCR0dzaENBd0NDeUFTUVFGcUJVRUJDeUlTTmdJb0N3SkFBa0FnQ0NnQ0ZDSVBJQmRxSWcwZ0Qwa05BQ0FOSUJCTERRQURRQ0FOSVJjZ0NDQUlLQUlRSWcwZ0NDZ0NCR28yQWdRZ0FTQU5heUVHSUFFZ0RVWU5BaUFSSUJKQkFXb2lFallDS0NBSUtBSXNJZzhnRjJvaURTQVBUd1JBSUFoQkdHb2hDQ0FHSVFFZ0RTQVFUUTBCQ3dzZ0VTQUdOZ0lrQ3lBYktBSUVLQUpvSVFFZ0V5QVdOZ0lZSUJNZ0lqWUNGQ0FUSUJnMkFoQWdFeUFoTmdJTUlCTWdIellDQ0NBVElCQTJBZ1FnRXlBUE5nSUFJRE5CQVVFQ0lBRWJRWjN0QUNBVEVBOGdBUTBLSUFzb0Fod2hGZ3dGQ3lBUklBWTJBaVFMSUJGQlFHc2hFU0FmUVFGcUloOGdKMGNOQUFzTElBeEJKR29oRENBWVFRRnFJaGdnS0VjTkFBc0xJQmNnR21vaEdnc0NRQ0FKSUJaQkFuUnFLQUlBUlEwQUlCNG9BaGdnRmtFMGJHb2lBU2dDSkEwQUlBRWdJQ2dDRkNBV1Fjd0FiR29vQWhoQkFXczJBaVFMSUFvZ0dtc2hDaUFhSUIxcUlSMGdDeEJYRFFBTEN5QUpFQkFnQzBId0FXb2hDeUFqUVFGcUlpTWdIQ2dDcEFOTkRRQUxJQWNnRGhBNklFQWdIU0FWYXpZQ0NFRUJEQUlMSUFjZ0RoQTZJQWtRRUVFQURBRUxJQWNnRGhBNlFRQUxJWGdnRTBId0FHb2tBQ0FiRUN3Z2VFVU5BU0FaS0FJZ0tBTFFLeUVKSUJrb0FoUW9BZ0FpRmlnQ0ZDRWRJRUJCQVRZQ0RFRUFJUTFCQUNFVklCa29BaUFpQVNnQ0RDQUJLQUlJUmdSQUlBa29BaEJCQkhaQkFYRWhGUXNDUUNBV0tBSVFJakZGRFFBRFFBSkFJQmtvQWtRaUFRUkFJQUVnRFVFQ2RHb29BZ0JGRFFFTElFQkJER29oRTBFQUlURUNRQ0FkS0FJWUlnRkZEUUFnR1NnQ0xDRVFBMEFnSFNnQ0hDQXhRWmdCYkdvaURDZ0NHQ0lMQkVBZ0RFRWNhaUVTSUF3b0FoUWhBU0FNS0FJUUlSZEJBQ0VPQTBBZ0FTQVhiQVJBSUJJZ0RrRWtiR29oRDBFQUlRZ0RRQ0FaSUIwb0FoQWdNU0FQS0FJUUlBOG9BaFFnQ0VFb2JHb2lCeWdDQUNBSEtBSUVJQWNvQWdnZ0J5Z0NEQkE1SVFZZ0J5Z0NGQ0lMSUFjb0FoQWlDbXdoQVFKQUlBWUVRQ0FCUlEwQlFRQWhDZ05BQWtBZ0dTQWRLQUlRSURFZ0R5Z0NFQ0FIS0FJWUlBcEJCblJxSWdZb0FnZ2dCaWdDRENBR0tBSVFJQVlvQWhRUU9VVUVRQ0FHS0FJOElnRkZEUUVnQVJBUUlBWkJBRFlDUEF3QkN5QVpLQUpBUlFSQUlBWW9BandOQVNBR0tBSVFJQVlvQWdoR0RRRWdCaWdDRkNBR0tBSU1SZzBCQzBFQlFTd1FFeUlCUlFSQUlFQkJBRFlDREF3S0N5QVpLQUpBSVFzZ0FVRUFOZ0lrSUFFZ0V6WUNIQ0FCSUFrMkFoUWdBU0FkTmdJUUlBRWdEellDRENBQklBWTJBZ2dnQVNBeE5nSUVJQUVnQ3pZQ0FDQUJJQlUyQWlnZ0FTQXpOZ0lnSUFFZ0VDZ0NCRUVCU2pZQ0dDQVFRUTRnQVJBdElFQW9BZ3hGRFFrTElBcEJBV29pQ2lBSEtBSVVJQWNvQWhCc1NRMEFDd3dCQ3lBQlJRMEFRUUFoRndOQUlBY29BaGdnRjBFR2RHb2lBU2dDUENJR0JFQWdCaEFRSUFGQkFEWUNQQ0FIS0FJUUlRb2dCeWdDRkNFTEN5QVhRUUZxSWhjZ0NpQUxiRWtOQUFzTElBaEJBV29pQ0NBTUtBSVVJZ0VnRENnQ0VDSVhiRWtOQUFzZ0RDZ0NHQ0VMQ3lBT1FRRnFJZzRnQzBrTkFBc2dIU2dDR0NFQkN5QXhRUUZxSWpFZ0FVa05BQXNMSUVBb0FneEZEUUlnRmlnQ0VDRXhDeUFKUWJnSWFpRUpJQjFCekFCcUlSMGdEVUVCYWlJTklERkpEUUFMQzBFQUlURWdHU2dDTEJBZ0lFQW9BZ3hGRFFFQ1FDQVpLQUpBRFFBZ0dTZ0NHQ0lkS0FJUVJRMEFRUUFoQ1FOQUlCa29BaFFvQWdBb0FoUWdDVUhNQUd4cUlnRW9BaHdnSFNnQ0dDQUpRVFJzYWlnQ0pFR1lBV3hxSWdjb0FvZ0JJUVlnQnlnQ2tBRWhDeUFIS0FLTUFTRUtJQWNvQXBRQklRY2dBU2dDTkJBUUlBRkJBRFlDTkFKQUlCa29Ba1FpRFFSQUlBMGdDVUVDZEdvb0FnQkZEUUVMSUFZZ0MwWU5BQ0FISUFwR0RRQWdCeUFLYXlJSHJTQUxJQVpySWdhdGZrSWdpRUlBVWdSQUlETkJBVUdVRmtFQUVBOE1CUXNnQmlBSGJDSUhRWUNBZ0lBRVR3UkFJRE5CQVVHVUZrRUFFQThNQlFzZ0FTQUhRUUowRUJnaUFUWUNOQ0FCRFFBZ00wRUJRWlFXUVFBUUR3d0VDeUFKUVFGcUlna2dHU2dDR0NJZEtBSVFTUTBBQ3dzZ0dTZ0NJQ0VkSUJrb0FoUW9BZ0FpRnlnQ0VBUkFJQmNvQWhRaENTQWRLQUxRS3lFZElCa29BaGdvQWhnaERVRUFJUXNEUUFKQUlCa29Ba1FpQVFSQUlBRWdDMEVDZEdvb0FnQkZEUUVMSUEwb0FpUkJBV29oQVNBZEtBSVVRUUZHQkVBZ0FTRWVRUUFoQmtFQUlRejlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhnQUVqQUVFZ2F5SWxKQUFDUUFKQUlCa29Ba0FFUUVFQklRY2dBVUVCUmcwQ0lBa29BaHdpRENBSktBSVlRWmdCYkdvaUFVR1FBV3NvQWdBaUVDQUJRWmdCYXlnQ0FDSVRSZzBDSUF3b0FnUWhFU0FNS0FJTUlSZ2dEQ2dDQUNFYUlBd29BZ2doR3lBWktBSXNJZzRvQWdRaEZpQWVRUUZySWdvaEZTQU1JUWNDUUNBS1FRUlBCRUFnQ2tFRGNTRVZJQWNnQ2tGOGNTSUlRWmdCYkdvaEIwRUFJUUVEUUNDQUFTQU1JQUZCbUFGc2FpSUdRZWdFYWlBR1FkQURhaUFHUWJnQ2FpQUcvUWtDb0FIOVZnSUFBZjFXQWdBQy9WWUNBQU1nQmtIZ0JHb2dCa0hJQTJvZ0JrR3dBbW9nQnYwSkFwZ0IvVllDQUFIOVZnSUFBdjFXQWdBRC9iRUIvYmtCSUFaQjdBUnFJQVpCMUFOcUlBWkJ2QUpxSUFiOUNRS2tBZjFXQWdBQi9WWUNBQUw5VmdJQUF5QUdRZVFFYWlBR1Fjd0RhaUFHUWJRQ2FpQUcvUWtDbkFIOVZnSUFBZjFXQWdBQy9WWUNBQVA5c1FIOXVRRWhnQUVnQVVFRWFpSUJJQWhIRFFBTElJQUJJSUFCSUlBQi9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9ia0JJb0FCSUlBQklJQUIvUTBFQlFZSEFBRUNBd0FCQWdNQUFRSUQvYmtCL1JzQUlRWWdDQ0FLUmcwQkN3TkFJQVlnQnlnQ29BRWdCeWdDbUFGcklnRWdBU0FHU1JzaUFTQUhLQUtrQVNBSEtBS2NBV3NpQmlBQklBWkxHeUVHSUFkQm1BRnFJUWNnRlVFQmF5SVZEUUFMQzBFQUlRY2dCa0gvLy84L1N3MENJQ1VnQmtFRmRDSVNFREVpRHpZQ0VDQVBSUTBDSUNVZ0R6WUNBQ0FLQkVBZ0VDQVRheUVRSUJnZ0VXc2hDQ0FiSUJwcklRRURRQ0FKS0FJa0lSTWdKU0FJSWhVMkFnZ2dKU0FCSWdjMkFoZ2dEQ2dDbkFFaEJpQU1LQUtrQVNFSUlBd29BcUFCSVFFZ0pTQU1LQUtZQVNJUlFRSnZOZ0ljSUNVZ0FTQVJheUlCSUFkck5nSVVBa0FnRmtFQ1NDSWFSU0FJSUFacklnaEJBVXR4UlFSQVFRQWhCaUFJUlEwQkEwQWdKVUVRYWlBVElBWWdFR3hCQW5ScUVGMGdCa0VCYWlJR0lBaEhEUUFMREFFTElBZ2dGaUFJSUJaSkd5SVJRUUZySVJzZ0NDQVJiaUVZUVFBaEJ3TkFRU1FRRkNJR1JRMEZJQ1g5QUFJUUlZQUJJQVlnRXpZQ0dDQUdJQkEyQWhRZ0JpQUJOZ0lRSUFZZ2dBSDlDd0lBSUFZZ0J5QVliRFlDSENBSElCdEdJUjhnQmlBSUlBZEJBV29pQnlBWWJDQWZHellDSUNBR0lCSVFNU0lmTmdJQUlCOUZCRUJCQUNFSElBNFFJQ0FHRUJBZ0R4QVFEQWNMSUE1QkNpQUdFQzBnQnlBUlJ3MEFDeUFPRUNBTElDVWdDQ0FWYXpZQ0JDQWxJQXdvQXB3QlFRSnZOZ0lNQWtBZ0drVWdBVUVCUzNGRkJFQkJDQ0VIUVFBaEJpQUJRUWhQQkVBRFFDQWxJQk1nQmtFQ2RHb2dFRUVJRURBZ0J5SUdRUWhxSWdjZ0FVME5BQXNMSUFFZ0JrME5BU0FsSUJNZ0JrRUNkR29nRUNBQklBWnJFREFNQVFzZ0FTQVdJQUVnRmtrYkloVkJBV3NoR0NBQklCVnVJUkZCQUNFSEEwQkJKQkFVSWdaRkRRVWdKZjBBQWdBaGdBRWdCaUFUTmdJWUlBWWdFRFlDRkNBR0lBZzJBaEFnQmlDQUFmMExBZ0FnQmlBSElCRnNOZ0ljSUFjZ0dFWWhHaUFHSUFFZ0IwRUJhaUlISUJGc0lCb2JOZ0lnSUFZZ0VoQXhJaG8yQWdBZ0drVUVRRUVBSVFjZ0RoQWdJQVlRRUNBUEVCQU1Cd3NnRGtFTElBWVFMU0FISUJWSERRQUxJQTRRSUFzZ0RFR1lBV29oRENBS1FRRnJJZ29OQUFzTFFRRWhCeUFQRUJBTUFndEJBU0VISUFrb0Fod2lDQ0FlUVpnQmJHb2lOVUdZQVdzaVh5Z0NBQ0ExUVpBQmF5Z0NBRVlOQVNBMVFaUUJheUpnS0FJQUlEVkJqQUZyS0FJQVJnMEJJQWdvQWdRaERpQUlLQUlNSVE4Z0NDZ0NBQ0VXSUFnb0FnZ2hFQ0FKS0FKRUlTRWdDU2dDUUNFaUlBa29BandoS0NBSktBSTRJVEFnQ1NBZUVGd2lPVVVFUUVFQUlRY01BZ3NDUUFKQUlCNUJBVWNFUUFKQUFrQWdIa0VCYXlJS1FRUkpCRUFnQ2lFQklBZ2hCd3dCQ3lBS1FRTnhJUUVnQ0NBS1FYeHhJaFZCbUFGc2FpRUhBMEFnZ0FFZ0NDQU1RWmdCYkdvaUJrSG9CR29nQmtIUUEyb2dCa0c0QW1vZ0J2MEpBcUFCL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJQVpCNEFScUlBWkJ5QU5xSUFaQnNBSnFJQWI5Q1FLWUFmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQS8yeEFmMjVBU0FHUWV3RWFpQUdRZFFEYWlBR1Fid0NhaUFHL1FrQ3BBSDlWZ0lBQWYxV0FnQUMvVllDQUFNZ0JrSGtCR29nQmtITUEyb2dCa0cwQW1vZ0J2MEpBcHdCL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvYkVCL2JrQklZQUJJQXhCQkdvaURDQVZSdzBBQ3lDQUFTQ0FBU0NBQWYwTkNBa0tDd3dORGc4QUFRSURBQUVDQS8yNUFTS0FBU0NBQVNDQUFmME5CQVVHQndBQkFnTUFBUUlEQUFFQ0EvMjVBZjBiQUNFR0lBb2dGVVlOQVFzRFFDQUdJQWNvQXFBQklBY29BcGdCYXlJS0lBWWdDa3NiSWdZZ0J5Z0NwQUVnQnlnQ25BRnJJZ29nQmlBS1N4c2hCaUFIUVpnQmFpRUhJQUZCQVdzaUFRMEFDd3NnQmtHQWdJQ0FBVThOQWlBR1FRUjBFREVpRkVVTkFnSkFJQjVGRFFBZ0R5QU9heUVTSUJBZ0Ztc2hHaUFVUVFScklUc2dGRUVFYWlFa0lCUkJER29oS1NBVVFSeHFJVU1nRkVFWWFpRWZJQlJCRkdvaElDQVVRUXhySVVRZ0ZFRUlhaUVxSUJSQkVHb2hOaUFVUVJCcklUY2dGRUVJYXlGQklDR3RJWVlCSUNLdElZY0JJQ2l0SVlvQklEQ3RJWXNCUVFFaFJnTkFJQWdvQXB3QklnRkJBbThoUnlBSUtBS1lBU0lIUVFKdklUd2dDQ2dDcEFFZ0FXc2lKeUFTYXlFc0lBZ29BcUFCSUFkcklpMGdHbXNoTGlBd0lnd2hCeUFvSWdZaENpQWlJZ0VoT2lBaElnOGhFUUpBSUFrb0FoUWlGU0JHUmcwQUlCVWdSbXNoRlVFQUlRcEJBQ0VISUF3RVFFSi9JQld0SW9nQmhrSi9oU0NMQVh3Z2lBR0lweUVIQ3lBb0JFQkNmeUFWclNLSUFZWkNmNFVnaWdGOElJZ0JpS2NoQ2d0QkFDRVBRUUFoQVNBaUJFQkNmeUFWclNLSUFZWkNmNFVnaHdGOElJZ0JpS2NoQVFzZ0lRUkFRbjhnRmEwaWlBR0dRbitGSUlZQmZDQ0lBWWluSVE4TFFRQWhPa0VBSVF4QkFTQVZRUUZyZENJT0lEQkpCRUFnTUNBT2E2MUNmeUFWclNLSUFZWkNmNFY4SUlnQmlLY2hEQXNnRGlBaVNRUkFJQ0lnRG11dFFuOGdGYTBpaUFHR1FuK0ZmQ0NJQVlpbklUb0xRUUFoRVVFQUlRWWdEaUFvU1FSQUlDZ2dEbXV0UW44Z0ZhMGlpQUdHUW4rRmZDQ0lBWWluSVFZTElBNGdJVThOQUNBaElBNXJyVUovSUJXdElvZ0Joa0ovaFh3Z2lBR0lweUVSQzBGL0lEb2dDQ2dDdEFFaUZXc2lEa0VBSUE0Z09rMGJJZzVCQW1vaUZpQU9JQlpMR3lJT0lDNGdEaUF1U1JzaU5FRi9JQUVnQ0NnQzJBRWlFMnNpRGtFQUlBRWdEazhiSWdGQkFtb2lEaUFCSUE1TEd5SUJJQm9nQVNBYVNSc2lKaUE4RzBFQmRDSUJJQ1lnTkNBOEcwRUJkRUVCY2lJT0lBRWdEa3NiSWtnZ0xVa2hHQ0FNSUJWcklnRkJBQ0FCSUF4Tkd5SUJRUUpySWd4QkFDQUJJQXhQR3lJUUlBY2dFMnNpQVVFQUlBRWdCMDBiSWdGQkFtc2lERUVBSUFFZ0RFOGJJaFlnUEJ0QkFYUWlEQ0FXSUJBZ1BCdEJBWFJCQVhJaUswa2hMeUFLSUFnb0FyZ0JJaHRySWhWQkFDQUtJQlZQR3lJS1FRSnJJaFZCQUNBS0lCVlBHeUlWSVNNZ0JpQUlLQUxjQVNJS2F5SU9RUUFnQmlBT1R4c2lCa0VDYXlJT1FRQWdCaUFPVHhzaURpRTlRWDhnRHlBYmF5SUdRUUFnQmlBUFRSc2lCa0VDYWlJUElBWWdEMHNiSWdZZ0VpQUdJQkpKR3lJYklUNUJmeUFSSUFwcklnWkJBQ0FHSUJGTkd5SUdRUUpxSWdvZ0JpQUtTeHNpQmlBc0lBWWdMRWtiSWh3aFB5QkhCRUFnRlNFOUlCd2hQaUFiSVQ4Z0RpRWpDeUJJSUMwZ0dCc2hTU0FNSUNzZ0x4c2hHQ0FTSUJ4cUlWQWdEaUFTYWlGUklDY0VRQ0FVSUJaQkEzUWlCbW9pUlVFRWFpQTdJQzVCQTNRaUNtb2lVaUFXSUM1SUlnd2JJVk1nQmlBa2FpSUdJQ1lnTGlBbUlDNUlHeUlQSUFjZ0V5QUhJQk5KRzBFQ0lBRWdBVUVDVHh0cUlnRnFJaE1nQjJ0QkFtc2lFVUVEZENJcmFpQUdTU0FwSUFjZ0FXdEJBM1JxSWdFZ0syb2dBVWx5SUJGQi8vLy8vd0ZMY2lGVUlEUWdHa0VCYXlBYUlEUktHeUV2UVFBaEVTQWFRUUZLSUM1QkFFcHlJVlVnSkNBOFFRSjBJZ0ZySUJCQkEzUnFJVllnQVNCRmFpRlhJQllnQjBGL2N5QVRhaUpLUVh4eElqSnFJVGdnRmtFQmFpSVRJREpxSVVJZ0dpQTBhaUZZSUJBZ0dtb2hXU0FXL1JIOURBQUFBQUFCQUFBQUFnQUFBQU1BQUFEOXJnRWhnd0VnRkNBWVFRSjBhaUZhSUVFZ0drRURkQ0lCYWlGTElBRWdPMm9oVENBS0lFRnFJVTBnR2tVZ0xrRUJSbkVoV3lBVUlFbEJBblFpQVdvaFhDQUJJRHRxSVYwZ0UvMFIvUXdBQUFBQUFRQUFBQUlBQUFBREFBQUEvYTRCSVlRQklEc2dGaUF1SUF3YlFRTjBhaUZlQTBBQ1FBSkFJQkVnRzBrZ0VTQVZUM0VOQUNBUklGQkpJQkVnVVU5eERRQWdFVUVCYWlFckRBRUxJQzBnU0VzRVFDQmRRUUEyQWdBZ1hFRUFOZ0lBQ3lBNUlCWWdFU0FtSUJGQkFXb2lLeUJYUVFKQkFCQWVJRGtnV1NBUklGZ2dLeUJXUVFKQkFCQWVBa0FDUUFKQUlEeEZCRUFnVlVVTkF5QVdJQ1pPRFFJQ1FBSkFJQlpCQUVvRVFDQmVLQUlBSVFjTUFRc2dKQ2dDQUNJSElRRWdGa0VBU0EwQkN5QUhJUUVnVXlnQ0FDRUhDeUJGSUVVb0FnQWdBU0FIYWtFQ2FrRUNkV3MyQWdBZ0V5SUhJQTlPRFFGQkFDRUhJSVFCSVlBQklJTUJJWUlCSUJNaEFTQVdJUW9nU2tFVVNTQlVja1VFUUFOQUlCUWdnQUZCQWYyckFTS0JBZjBiQUVFQ2RHb2lBU0FVSUlFQi9Sc0RRUUowYWlJR0lCUWdnUUg5R3dKQkFuUnFJZ29nRkNDQkFmMGJBVUVDZEdvaURDQUIvUWtDQVAxV0FnQUIvVllDQUFMOVZnSUFBeUFVSUlJQlFRSDlxd0g5REFFQUFBQUJBQUFBQVFBQUFBRUFBQUQ5VUNLRkFmMGJBMEVDZEdvZ0ZDQ0ZBZjBiQWtFQ2RHb2dGQ0NGQWYwYkFVRUNkR29nRkNDRkFmMGJBRUVDZEdyOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRElCUWdnUUg5REFFQUFBQUJBQUFBQVFBQUFBRUFBQUQ5VUNLQkFmMGJBMEVDZEdvZ0ZDQ0JBZjBiQWtFQ2RHb2dGQ0NCQWYwYkFVRUNkR29nRkNDQkFmMGJBRUVDZEdyOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRC9hNEIvUXdDQUFBQUFnQUFBQUlBQUFBQ0FBQUEvYTRCUVFMOXJBSDlzUUVpZ1FIOVdnSUFBQ0FNSUlFQi9Wb0NBQUVnQ2lDQkFmMWFBZ0FDSUFZZ2dRSDlXZ0lBQXlDQ0FmME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0dDQVNDQUFmME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0dBQVNBSFFRUnFJZ2NnTWtjTkFBc2dRaUVCSURnaENpQVBJUWNnTWlCS1JnMENDd05BSUJRZ0FVRURkR29pQnlBSEtBSUFJQlFnQ2tFRGRHb29BZ1FnQnlnQ0JHcEJBbXBCQW5Wck5nSUFJQUVpQ2tFQmFpSUJJQTlIRFFBTElBOGhCd3dCQ3dKQUlGdEZCRUFnRmlJSElDWk9EUUVEUUNBVUlBZEJBM1JxSWdFb0FnUWhCaUFCSUFZQ2Z3SkFJQWRCQUU0RVFDQUJJRTBnQnlBdVNCc29BZ0FoT2lBSFFRRnFJUUVNQVFzZ0ZDZ0NBQ0U2UVFBaEFTQVVJQWRCQVdvaUJ3MEJHZ3NnQVNBdVRnUkFJQUVoQnlCTkRBRUxJQlFnQVNJSFFRTjBhZ3NvQWdBZ09tcEJBbXBCQW5Wck5nSUVJQWNnSmtnTkFBc01BUXNnRkNBVUtBSUFRUUp0TmdJQURBTUxJQkFpQnlBMFRnMENBMEFnRkNBSFFRTjBhaUlCS0FJQUlRb0NmeUFIUVFCSUJFQWdKQ2dDQUNFR0lDUU1BUXNnRkNBSFFRTjBha0VFYWlCTUlBY2dHa2diS0FJQUlRWWdKQ0FIUlEwQUdpQk1JQUZCQkdzZ0J5QWFTaHNMSVF3Z0FTQU1LQUlBSUFacVFRRjFJQXBxTmdJQUlBZEJBV29pQnlBMFJ3MEFDd3dDQ3lBSElDWk9EUUFEUUNBVUlBZEJBM1JxSWdFZ0FTZ0NBQUovQWtBZ0IwRUFTZ1JBSURzZ0J5QXVJQWNnTGtnYlFRTjBhaWdDQUNFS0RBRUxJQ1FvQWdBaENpQWtJQWRCQUVnTkFSb0xJRklnQnlBdVRnMEFHaUFVSUFkQkEzUnFRUVJxQ3lnQ0FDQUtha0VDYWtFQ2RXczJBZ0FnQjBFQmFpSUhJQ1pIRFFBTEN5QVFJRFJPRFFBZ0x5QVFJZ0VpQjBvRVFBTkFJQlFnQjBFRGRHb2lBU0FCS0FJRUlCUWdCMEVCYWlJSFFRTjBhaWdDQUNBQktBSUFha0VCZFdvMkFnUWdCeUF2UncwQUN5QXZJUUVMSUFFZ05FNE5BQU5BQW44Q1FDQUJJZ2RCQUU0RVFDQVVJQUZCQTNScUlFc2dBU0FhU0Jzb0FnQWhEQ0FCUVFGcUlRb01BUXNnRkNnQ0FDRU1RUUFoQ2lBVUlBZEJBV29pQVEwQkdnc2dDaUFhVGdSQUlBb2hBU0JMREFFTElCUWdDaUlCUVFOMGFnc2hCaUFVSUFkQkEzUnFJZ2NnQnlnQ0JDQUdLQUlBSUF4cVFRRjFhallDQkNBQklEUklEUUFMQ3lBNUlCZ2dFU0JKSUNzZ1drRUJRUUJCQUJBbVJRMEdDeUFySWhFZ0owY05BQXNMSUFoQm1BRnFJUWdnUGtFQmRDSUJJRDlCQVhSQkFYSWlCeUFCSUFkTEd5SUJJQ2NnQVNBblNSc2hTQ0JESUJWQkJYUWlBV29nT3lBc1FRVjBJZ2RxSUJVZ0xFZ2lCaHNoU2lBQklCOXFJQWNnUVdvZ0Joc2hTeUFCSUNCcUlBY2dSR29nQmhzaFRDQUJJRFpxSUFjZ04yb2dCaHNoVFNBY0lCSkJBV3NnRWlBY1Noc2hEQ0FzUVFCS0lnOGdFa0VCU25JaFVpQUJJQlJxSWlzZ1IwRUVkR29oVXlBcElCSkJBM1FpR2tFSWF5SStRUUFnRWtFQVRCdEJBblFpQ21vaFZDQUtJQ3BxSVZVZ0NpQWthaUZXSUFvZ0ZHb2hWeUFwUVFBZ0xFRURkQ0lLUVFocklqOGdEeHRCQW5RaUQyb2hXQ0FQSUNwcUlWa2dEeUFrYWlGYUlBOGdGR29oV3lBVVFRUWdSMEVDZEd0QkFuUnFJQTVCQlhScUlWd2dHeUFzSUJzZ0xFZ2JJUThnRlVFQmFpRVFJQlFnSTBFQmRDSVdJRDFCQVhSQkFYSWlFeUFUSUJaTEd5SmRRUVIwYWlGZUlBRWdLV29oUFNBQklDcHFJU01nQVNBa2FpRXZJQnBCQVdzaE9DQWFRUUpySVVJZ0drRURheUV1SUJRZ0VrRUZkR29oWVNBYVFRUnJJVFFnQ2tFRmF5RmlJQXBCQm1zaFl5QUtRUWRySVdRZ0VrVWdMRUVCUm5FaFpTQXBJQWRCRUdzaUFXb2hKaUFCSUNwcUlUb2dBU0FrYWlFOElBRWdGR29oUlNBcElENUJBblFpQVdvaGFDQUJJQ3BxSVdrZ0FTQWthaUZxSUFFZ0ZHb2hheUE3SUJVZ0xDQUdHMEVGZENJQmFpRnNJQUVnUVdvaEV5QUJJRVJxSVJFZ0FTQTNhaUZ0SUNrZ1AwRUNkQ0lCYWlGdUlBRWdLbW9oYnlBQklDUnFJWEFnQVNBVWFpRnhBMEFDUUFKQUFuOENRQ0FZSWhZZ1NVa0VRQ0E1SUJZZ0ZVRUVJRWtnRm1zaUFTQUJRUVJQR3lBV2FpSVlJQnNnVTBFQlFRZ1FIaUE1SUJZZ1VTQVlJRkFnWEVFQlFRZ1FIaUJIUlFSQUlGSkZEUVVnRlNBYlRnMEVBbjhnRlVFQVNnUkFJRzBvQWdBaEJ5QVRJUVlnRVNFS0lHd01BUXNnTmlnQ0FDRUhJQlZCQUVnTkF5QWZJUVlnSUNFS0lFTUxJWGtnS3lBcktBSUFJQWNnVFNnQ0FHcEJBbXBCQW5Wck5nSUFJQzhnTHlnQ0FDQUtLQUlBSUV3b0FnQnFRUUpxUVFKMWF6WUNBQ0FqSUNNb0FnQWdCaWdDQUNCTEtBSUFha0VDYWtFQ2RXczJBZ0FnU2lnQ0FDRUhJSGtvQWdBTUF3c2daUVJBSUJRZ0ZDZ0NBRUVDYlRZQ0FDQWtJQ1FvQWdCQkFtMDJBZ0FnS2lBcUtBSUFRUUp0TmdJQUlDa2dLU2dDQUVFQ2JUWUNBQXdGQ3lBYklCVWlCMG9FUUFOQUlBZEJBM1FoQVFKL0FrQWdCMEVBU0FSQUlBZEJmMFlOQVNBVUlBRkJBblJxSWdFZ0FTZ0NFQ0FVS0FJQVFRRjBRUUpxUVFKMWF6WUNFQ0FCSUFFb0FoUWdKQ2dDQUVFQmRFRUNha0VDZFdzMkFoUWdBU0FCS0FJWUlDb29BZ0JCQVhSQkFtcEJBblZyTmdJWUlDa29BZ0JCQVhSQkFtb2hCaUFCUVJ4cURBSUxJQ3dnQjBFQmFpSUdUQVJBSUJRZ0FVRUNkR29pQ2lBS0tBSVFJQlFnQVNBL0lBY2dMRWdpQmh0QkFuUnFLQUlBSUhFb0FnQnFRUUpxUVFKMWF6WUNFQ0FLSUFvb0FoUWdGQ0FCUVFGeUlHUWdCaHRCQW5ScUtBSUFJSEFvQWdCcVFRSnFRUUoxYXpZQ0ZDQUtJQW9vQWhnZ0ZDQUJRUUp5SUdNZ0JodEJBblJxS0FJQUlHOG9BZ0JxUVFKcVFRSjFhellDR0NBVUlBRkJBM0lnWWlBR0cwRUNkR29vQWdBZ2JpZ0NBR3BCQW1vaEJpQUtRUnhxREFJTElCUWdBVUVDZEdvaUFTQUJLQUlRSUFFb0FnQWdGQ0FHUVFWMGFpSUdLQUlBYWtFQ2FrRUNkV3MyQWhBZ0FTQUJLQUlVSUFFb0FnUWdCaWdDQkdwQkFtcEJBblZyTmdJVUlBRWdBU2dDR0NBQktBSUlJQVlvQWdocVFRSnFRUUoxYXpZQ0dDQUJLQUlNSUFZb0FneHFRUUpxSVFZZ0FVRWNhZ3dCQ3lBM0lEY29BZ0FnRkNnQ0FDQmJLQUlBYWtFQ2FrRUNkV3MyQWdBZ1JDQkVLQUlBSUNRb0FnQWdXaWdDQUdwQkFtcEJBblZyTmdJQUlFRWdRU2dDQUNBcUtBSUFJRmtvQWdCcVFRSnFRUUoxYXpZQ0FDQXBLQUlBSUZnb0FnQnFRUUpxSVFZZ093c2lBU0FCS0FJQUlBWkJBblZyTmdJQUlBZEJBV29pQnlBYlJ3MEFDd3NnSENBT0lnZE1EUVFEUUNBSFFRTjBJUUVDZnlBSFFRQklCRUFnRkNBQlFRSjBhaUlCSUFFb0FnQWdOaWdDQUVFQmRFRUJkV28yQWdBZ0FTQUJLQUlFSUJRb0FoUkJBWFJCQVhWcU5nSUVJQUVnQVNnQ0NDQVVLQUlZUVFGMFFRRjFhallDQ0NBVUtBSWNRUUYwSVFvZ0FVRU1hZ3dCQ3lBSEJFQWdGQ0FCUVFKMGFpSUdJQVlvQWdBZ1lTQUdJQWNnRWtvaU1odEJFR3NvQWdBZ0ZDQUJRUVJ5SURRZ0J5QVNTQ0lLRzBFQ2RHb29BZ0JxUVFGMWFqWUNBQ0FHSUFZb0FnUWdSQ0FhSUFFZ01odEJBblFpTW1vb0FnQWdGQ0FCUVFWeUlDNGdDaHRCQW5ScUtBSUFha0VCZFdvMkFnUWdCaUFHS0FJSUlESWdRV29vQWdBZ0ZDQUJRUVp5SUVJZ0NodEJBblJxS0FJQWFrRUJkV28yQWdnZ01pQTdhaWdDQUNBVUlBRkJCM0lnT0NBS0cwRUNkR29vQWdCcUlRb2dCa0VNYWd3QkN5QVVJQlFvQWdBZ05pZ0NBQ0FVUVFRZ05DQUhJQkpJSWdFYlFRSjBhaWdDQUdwQkFYVnFOZ0lBSUNRZ0pDZ0NBQ0FVS0FJVUlCUkJCU0F1SUFFYlFRSjBhaWdDQUdwQkFYVnFOZ0lBSUNvZ0tpZ0NBQ0FVS0FJWUlCUkJCaUJDSUFFYlFRSjBhaWdDQUdwQkFYVnFOZ0lBSUJRb0Fod2dGRUVISURnZ0FSdEJBblJxS0FJQWFpRUtJQ2tMSWdFZ0FTZ0NBQ0FLUVFGMWFqWUNBQ0FIUVFGcUlnY2dIRWNOQUFzTUJBc2dMU0VhSUNjaEVpQkdRUUZxSWtZZ0hrY05CUXdHQ3lBcklDc29BZ0FnQjBFQmRFRUNha0VDZFdzMkFnQWdMeUF2S0FJQUlDQW9BZ0JCQVhSQkFtcEJBblZyTmdJQUlDTWdJeWdDQUNBZktBSUFRUUYwUVFKcVFRSjFhellDQUNCREtBSUFJZ2NMSVFFZ1BTQTlLQUlBSUFFZ0IycEJBbXBCQW5Wck5nSUFJQlVoQmlBUUlnRWlCeUFQU0FSQUEwQWdGQ0FCUVFWMGFpSUhJQWY5QUFJQUlEWWdCa0VGZEdyOUFBSUFJQWY5QUFJUS9hNEIvUXdDQUFBQUFnQUFBQUlBQUFBQ0FBQUEvYTRCUVFMOXJBSDlzUUg5Q3dJQUlBRWlCa0VCYWlJQklBOUhEUUFMSUE4aEJ3c2dCeUFiVGcwQUEwQWdCMEVEZENFQklBY2dMRWdoQmdKQUlBZEJBRXdFUUNBMktBSUFJUW9nQjBFQVRnUkFJQlFnQVVFQ2RDSUJhaUl5SURJb0FnQWdDaUFCSURacUlFVWdCaHNvQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ1JxSWdvZ0NpZ0NBQ0FnS0FJQUlBRWdJR29nUENBR0d5Z0NBR3BCQW1wQkFuVnJOZ0lBSUFFZ0ttb2lDaUFLS0FJQUlCOG9BZ0FnQVNBZmFpQTZJQVliS0FJQWFrRUNha0VDZFdzMkFnQWdReWdDQUNBQklFTnFJQ1lnQmhzb0FnQnFRUUpxSVFZZ0FTQXBhaUVCREFJTElCUWdBVUVDZENJQmFpSUdJQVlvQWdBZ0NrRUJkRUVDYWtFQ2RXczJBZ0FnQVNBa2FpSUdJQVlvQWdBZ0ZDZ0NGRUVCZEVFQ2FrRUNkV3MyQWdBZ0FTQXFhaUlHSUFZb0FnQWdGQ2dDR0VFQmRFRUNha0VDZFdzMkFnQWdBU0FwYWlFQklCUW9BaHhCQVhSQkFtb2hCZ3dCQ3lBVUlBY2dMQ0FHRzBFRGRFRUVhMEVDZENJS2FpZ0NBQ0V5SUFaRkJFQWdGQ0FCUVFKMElnRnFJZ1lnQmlnQ0FDQXlJRVVvQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ1JxSWdZZ0JpZ0NBQ0FLSUNScUtBSUFJRHdvQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ3BxSWdZZ0JpZ0NBQ0FLSUNwcUtBSUFJRG9vQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ2xxSVFFZ0NpQXBhaWdDQUNBbUtBSUFha0VDYWlFR0RBRUxJQlFnQVVFQ2RDSUJhaUlHSUFZb0FnQWdNaUFHS0FJUWFrRUNha0VDZFdzMkFnQWdBU0FrYWlJR0lBWW9BZ0FnQ2lBa2FpZ0NBQ0FHS0FJUWFrRUNha0VDZFdzMkFnQWdBU0FxYWlJR0lBWW9BZ0FnQ2lBcWFpZ0NBQ0FHS0FJUWFrRUNha0VDZFdzMkFnQWdDaUFwYWlnQ0FDQUJJQ2xxSWdFb0FoQnFRUUpxSVFZTElBRWdBU2dDQUNBR1FRSjFhellDQUNBSFFRRnFJZ2NnRzBjTkFBc0xJQTRnSEU0TkFDQU1JQTRpQVNJSFNnUkFBMEFnRkNBQlFRVjBhaUlISUFmOUFBSWdJQWY5QUFJQS9hNEJRUUg5ckFFZ0IvMEFBaEQ5cmdIOUN3SVFJQUZCQVdvaUFTQU1SdzBBQ3lBTUlRY0xJQWNnSEU0TkFBTkFJRU1nQjBFRGRDSUJRUUowYWlJeUFuOGdCMEVBU0FSQUlCUW9BZ0FoQmlBSFFYOUhCRUFnTmlBQlFRSjBJZ0ZxSWdvZ0NpZ0NBQ0FHYWpZQ0FDQUJJQ0JxSWdZZ0JpZ0NBQ0FrS0FJQWFqWUNBQ0FCSUI5cUlnRWdBU2dDQUNBcUtBSUFhallDQUNBcEtBSUFEQUlMSURZZ0FVRUNkQ0lCYWlJS0lBb29BZ0FnVnlnQ0FDQUdha0VCZFdvMkFnQWdBU0FnYWlJR0lBWW9BZ0FnVmlnQ0FDQWtLQUlBYWtFQmRXbzJBZ0FnQVNBZmFpSUJJQUVvQWdBZ1ZTZ0NBQ0FxS0FJQWFrRUJkV28yQWdBZ1ZDZ0NBQ0FwS0FJQWFrRUJkUXdCQ3lBQklENGdCeUFTU0JzaEJpQVNJQWRCQVdvaVprd0VRQ0EySUFGQkFuUWlDbW9pQVNBQktBSUFJR3NvQWdBZ0ZDQUdRUUowYWlJQktBSUFha0VCZFdvMkFnQWdDaUFnYWlJR0lBWW9BZ0FnYWlnQ0FDQUJLQUlFYWtFQmRXbzJBZ0FnQ2lBZmFpSUdJQVlvQWdBZ2FTZ0NBQ0FCS0FJSWFrRUJkV28yQWdBZ2FDZ0NBQ0FCS0FJTWFrRUJkUXdCQ3lBMklBRkJBblFpQ21vaUFTQUJLQUlBSUJRZ1prRUZkR29pQVNnQ0FDQVVJQVpCQW5ScUlnWW9BZ0JxUVFGMWFqWUNBQ0FLSUNCcUltWWdaaWdDQUNBQktBSUVJQVlvQWdScVFRRjFhallDQUNBS0lCOXFJZ29nQ2lnQ0FDQUJLQUlJSUFZb0FnaHFRUUYxYWpZQ0FDQUJLQUlNSUFZb0FneHFRUUYxQ3lBeUtBSUFhallDQUNBSFFRRnFJZ2NnSEVjTkFBc0xJRGtnRmlCZElCZ2dTQ0JlUVFGQkJFRUFFQ1lOQUFzTERBSUxJQlFRRUVFQklRY0xJRGtnTlVFUWF5Z0NBQ0lCSUY4b0FnQWlCbXNnTlVFTWF5Z0NBQ0JnS0FJQUlncHJJRFZCQ0dzb0FnQWlDQ0FHYXlBMVFRUnJLQUlBSUFwcklBa29BalJCQVNBSUlBRnJFQjRnT1JBakRBTUxJRGtRSXlBVUVCQkJBQ0VIREFJTElEa1FJMEVBSVFjTUFRdEJBQ0VISUE0UUlDQVBFQkFMSUNWQklHb2tBQ0FIRFFFTUJRc2dBU0VJUVFBaER2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDR0FBU01BUVVCcUlod2tBQUpBQW44Q1FDQVpLQUpBQkVBZ0NTZ0NIQ0lWSUFrb0FoaEJtQUZzYWlJQlFaZ0JheWdDQUNFYUlBRkJrQUZyS0FJQUlSc2dGU2dDQkNFTUlCVW9BZ3doZWlBVktBSUFJUkFnRlNnQ0NDRVRRUUVoQnlBWktBSXNJaDhvQWdRaEt5QUlRUUZHRFFOQkFDRUdJQWhCQVdzaUZpRUlJQlVoQVFKQUlCWkJCRThFUUNBV1FRTnhJUWdnQVNBV1FYeHhJZ3BCbUFGc2FpRUJRUUFoQndOQUlJQUJJQlVnQjBHWUFXeHFJZ1pCNkFScUlBWkIwQU5xSUFaQnVBSnFJQWI5Q1FLZ0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlBR1FlQUVhaUFHUWNnRGFpQUdRYkFDYWlBRy9Ra0NtQUg5VmdJQUFmMVdBZ0FDL1ZZQ0FBUDlzUUg5dVFFZ0JrSHNCR29nQmtIVUEyb2dCa0c4QW1vZ0J2MEpBcVFCL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJQVpCNUFScUlBWkJ6QU5xSUFaQnRBSnFJQWI5Q1FLY0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQS8yeEFmMjVBU0dBQVNBSFFRUnFJZ2NnQ2tjTkFBc2dnQUVnZ0FFZ2dBSDlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDl1UUVpZ0FFZ2dBRWdnQUg5RFFRRkJnY0FBUUlEQUFFQ0F3QUJBZ1A5dVFIOUd3QWhCaUFLSUJaR0RRRUxBMEFnQmlBQktBS2dBU0FCS0FLWUFXc2lCeUFHSUFkTEd5SUhJQUVvQXFRQklBRW9BcHdCYXlJR0lBWWdCMGtiSVFZZ0FVR1lBV29oQVNBSVFRRnJJZ2dOQUFzTFFRQWhCeUFHUWYvLy96OUxEUU1nSENBR1FRVjBJa1lRR0NJQk5nSWdJQUZGRFFNZ0hDQUJOZ0lBSUJaRkJFQkJBU0VISUFFUUVBd0VDeUI2SUF4cklROGdFeUFRYXlFT1FRSWdLMEVCZGlJQklBRkJBazBiSVVjZ0NTZ0NKQ0lLSUJ0QkhHd2lUU0FhUVJ4c0lsOXJhaUV2SUFvZ0cwRVliQ0pnSUJwQkdHd2lVbXRxSVQwZ0NpQWJRUlJzSWxNZ0drRVViQ0pVYTJvaFBpQUtJQnRCQkhRaVZTQWFRUVIwSWxacmFpRS9JQW9nRzBFTWJDSlhJQnBCREd3aVdHdHFJVGdnR3lBYWF5SVFRUWRzSVVrZ0VFRUdiQ0ZGSUJCQkJXd2hNaUFRUVFOc0lVZ2dFRUVCZENGUUlBb2dFRUVEZENKUmFpRkNJQW9nRUVFQ2RDSkJhaUVVSUJCQkJYUWhXU0FRL1JFaGhBRURRQ0FjSUE4MkFnZ2dIQ0FPSWdFMkFpZ2dGU2dDbkFFaEpDQVZLQUtrQVNFcElCVW9BcUFCSVI0Z0ZTZ0NtQUVoSUNBY1FRQTJBamdnSENBQk5nSTBJQnhCQURZQ01DQWNJQ0JCQW04aUdEWUNMQ0FjSUI0Z0lHc2lEaUFCYXlJVE5nSThJQndnRXpZQ0pBSkFJQ3RCQWtnaVdrVWdLU0FrYXlJUFFROUxjVVVFUUVFQUlRY2dDaUVHSUE5QkNFa05BU0EvSUFZZ1V5QWVRUUowSWdGcUlGUWdJRUVDZENJSWFtdHFJanBKSUQ0Z0JpQUJJRlZxSUFnZ1ZtcHJhaUpEU1hFZ1BTQkRTU0EvSUFZZ0FTQmdhaUFJSUZKcWEyb2lQRWx4Y2lBdklFTkpJRDhnQmlBQklFMXFJQWdnWDJwcmFpSkVTWEZ5SVZzZ1BTQkVTU0F2SUR4SmNTRmNJRDRnUkVrZ0x5QTZTWEVoWFNBOElENUxJRG9nUFV0eElWNGdRaUFHSUFFZ1Yyb2dDQ0JZYW10cUlrcEpJRGdnQmlBQklGRnFJQWhyYWlKTFNYRWhZU0FVSUVwSklEZ2dCaUFiSUI1cUlCb2dJR3ByUVFKMGFpSk1TWEVoWWlBVUlFdEpJRUlnVEVseElXTWdCaUFCSUFocmFpRXFJQTVCZkhFaENDQWNLQUlnSWhNZ0RrRUZkR29pRVVFUWF5RWxJQkZCRkdzaExDQVJRUmhySVM0Z0VVRWNheUUySUJGQkJHc2hPU0FSUVFocklUc2dFVUVNYXlFMFFRQWhHQ0FUUVF4cUlpTWdIaUFnUVg5emFpSU1RUVYwSWdGcUlDTkpJQXhCLy8vL1Awc2lEQ0FUUVFScUlpRWdBV29nSVVrZ0FTQVRhaUFUU1hKeUlCTkJDR29pSWlBQmFpQWlTWEp5SUE1QnlBSkpjaUZrSUJOQkZHb2lLQ0FCYWlBb1NTQVRRUkJxSWljZ0FXb2dKMGx5SUF4eUlCTkJHR29pTUNBQmFpQXdTWElnRTBFY2FpSXRJQUZxSUMxSmNpQU9RZFFBU1hJaFpRTkFJQWNoRENBY1FTQnFJZ0VnQmlBUVFRZ1FPeUFCRUNJQ1FDQU9SUTBBSUJnZ1dXd2hCMEVBSVFFQ1FBSkFJR1FOQUNCaElBWWdOa2tnRXlBSElDcHFJamRKY1NBR0lBY2dTbW9pRWtrZ0tpQTRTM0VnRkNBcVNTQUdJQWNnVEdvaUprbHhJQVlnQnlCTGFpSTFTU0FxSUVKTGNYSnljaUFHSUM1SklDRWdOMGx4Y2lBR0lDeEpJQ0lnTjBseGNpQUdJQ1ZKSUNNZ04wbHhjaUJqY2lCaWNpQVRJQ1pKSUFjZ0ZHb2lOeUEyU1hGeUlDRWdKa2tnTGlBM1MzRnlJQ0lnSmtrZ0xDQTNTM0Z5SUNNZ0pra2dKU0EzUzNGeWNnMEFJQk1nTlVrZ0J5QkNhaUltSURaSmNRMEFJQ0VnTlVrZ0ppQXVTWEVOQUNBaUlEVkpJQ1lnTEVseERRQWdJeUExU1NBbElDWkxjUTBBSUFjZ09Hb2lKaUEyU1NBU0lCTkxjUTBBSUNZZ0xra2dFaUFoUzNFTkFDQW1JQ3hKSUJJZ0lrdHhEUUFnRWlBalN5QWxJQ1pMY1EwQUEwQWdCaUFCUVFKMGFpQVRJQUZCQlhScUloTDlDUUlBSUJJcUFpRDlJQUVnRWtGQWF5b0NBUDBnQWlBU0tnSmcvU0FEL1FzQ0FDQUdJQUVnRUdwQkFuUnFJQkw5Q1FJRUlCSXFBaVQ5SUFFZ0Vpb0NSUDBnQWlBU0tnSmsvU0FEL1FzQ0FDQUdJQUVnVUdwQkFuUnFJQkw5Q1FJSUlCSXFBaWo5SUFFZ0Vpb0NTUDBnQWlBU0tnSm8vU0FEL1FzQ0FDQUdJQUVnU0dwQkFuUnFJQkw5Q1FJTUlCSXFBaXo5SUFFZ0Vpb0NUUDBnQWlBU0tnSnMvU0FEL1FzQ0FDQUJRUVJxSWdFZ0NFY05BQXNnQ0NJQklBNUdEUUVMQTBBZ0JpQUJRUUowYWlBVElBRkJCWFJxSWhJcUFnQTRBZ0FnQmlBQklCQnFRUUowYWlBU0tnSUVPQUlBSUFZZ0FTQlFha0VDZEdvZ0Vpb0NDRGdDQUNBR0lBRWdTR3BCQW5ScUlCSXFBZ3c0QWdBZ0FVRUJhaUlCSUE1SERRQUxDMEVBSVFFQ1FDQmxEUUFnWENBSElENXFJaElnTkVrZ0p5QUhJRHBxSWlaSmNTQmJJQWNnUDJvaU5TQTBTU0FuSUFjZ1Eyb2lOMGx4Y2lBb0lEZEpJRFVnTzBseGNpQXdJRGRKSURVZ09VbHhjaUF0SURkSklCRWdOVXR4Y2lCZWNpQmRjbklnRWlBN1NTQW1JQ2hMY1hJZ0VpQTVTU0FtSURCTGNYSWdKaUF0U3lBUklCSkxjWEp5RFFBZ0J5QTlhaUlTSURSSklDY2dCeUE4YWlJbVNYRU5BQ0FTSUR0SklDWWdLRXR4RFFBZ0VpQTVTU0FtSURCTGNRMEFJQ1lnTFVzZ0VTQVNTM0VOQUNBSElDOXFJaElnTkVrZ0p5QUhJRVJxSWdkSmNRMEFJQklnTzBrZ0J5QW9TM0VOQUNBU0lEbEpJQWNnTUV0eERRQWdCeUF0U3lBUklCSkxjUTBBQTBBZ0JpQUJJRUZxUVFKMGFpQVRJQUZCQlhScUlnZjlDUUlRSUFjcUFqRDlJQUVnQnlvQ1VQMGdBaUFIS2dKdy9TQUQvUXNDQUNBR0lBRWdNbXBCQW5ScUlBZjlDUUlVSUFjcUFqVDlJQUVnQnlvQ1ZQMGdBaUFIS2dKMC9TQUQvUXNDQUNBR0lBRWdSV3BCQW5ScUlBZjlDUUlZSUFjcUFqajlJQUVnQnlvQ1dQMGdBaUFIS2dKNC9TQUQvUXNDQUNBR0lBRWdTV3BCQW5ScUlBZjlDUUljSUFjcUFqejlJQUVnQnlvQ1hQMGdBaUFIS2dKOC9TQUQvUXNDQUNBQlFRUnFJZ0VnQ0VjTkFBc2dDQ0lCSUE1R0RRRUxBMEFnQmlBQklFRnFRUUowYWlBVElBRkJCWFJxSWdjcUFoQTRBZ0FnQmlBQklESnFRUUowYWlBSEtnSVVPQUlBSUFZZ0FTQkZha0VDZEdvZ0J5b0NHRGdDQUNBR0lBRWdTV3BCQW5ScUlBY3FBaHc0QWdBZ0FVRUJhaUlCSUE1SERRQUxDeUFZUVFGcUlSZ2dERUVJYWlFSElBWWdVVUVDZEdvaEJpQU1RUTlxSUE5SkRRQUxEQUVMSUE4Z0QwRURkaUlISUNzZ0J5QXJTUnNpRW01QmVIRWhFU0FQUVhoeElRZEJBQ0VJSUFvaEJnTkFRVEFRRkNJTVJRMEVJQXdnUmhBWUlpTTJBZ0FnSTBVRVFDQWZFQ0FnREJBUVFRQU1CZ3NnRENBR05nSW9JQXdnRURZQ0pDQU1JQTQyQWlBZ0RDQVROZ0ljSUF4QkFEWUNHQ0FNSUFFMkFoUWdERUVBTmdJUUlBd2dHRFlDRENBTUlBRTJBZ2dnRENBVE5nSUVJQXdnQnlBSUlCRnNheUFSSUFoQkFXb2lDQ0FTUmhzaUl6WUNMQ0FmUVF3Z0RCQXRJQVlnRUNBamJFRUNkR29oQmlBSUlCSkhEUUFMSUI4UUlBc0NRQ0FISUE5UERRQWdIRUVnYWlJQklBWWdFQ0FQSUFkckloZ1FPeUFCRUNJZ0RrVU5BQ0FjS0FJZ0lpTWdIa0VGZEVFQklCZ2dHRUVCVFJzaUVrRUNkR29nSUVFRmRHdHFRU0JySVI0Z0VrRURjU0VnSUJKQmZIRWhEQ0JCSUJKQkFXdHNJU0ZCQUNFSUEwQWdJeUFJUVFWMGFpRVRRUUFoQndKQUFrQWdHRUVFU1EwQUlCNGdCaUFJUVFKMEloRnFJZ0VnQmlBUklDRnFhaUlSSUFFZ0VVa2JTd1JBSUNNZ0FTQVJJQUVnRVVzYlFRUnFTUTBCQ3lBSS9SRWhnUUg5REFBQUFBQUJBQUFBQWdBQUFBTUFBQUFoZ0FGQkFDRUJBMEFnQmlDQUFTQ0VBZjIxQVNDQkFmMnVBU0tDQWYwYkFFRUNkR29nRXlBQlFRSjBhdjBBQWdBaWd3SDlId0E0QWdBZ0JpQ0NBZjBiQVVFQ2RHb2dnd0g5SHdFNEFnQWdCaUNDQWYwYkFrRUNkR29nZ3dIOUh3STRBZ0FnQmlDQ0FmMGJBMEVDZEdvZ2d3SDlId000QWdBZ2dBSDlEQVFBQUFBRUFBQUFCQUFBQUFRQUFBRDlyZ0VoZ0FFZ0FVRUVhaUlCSUF4SERRQUxJQXdpQnlBU1JnMEJDMEVBSVJFZ0J5RUJJQ0FFUUFOQUlBWWdBU0FRYkNBSWFrRUNkR29nRXlBQlFRSjBhaW9DQURnQ0FDQUJRUUZxSVFFZ0VVRUJhaUlSSUNCSERRQUxDeUFISUJKclFYeExEUUFEUUNBR0lBRWdFR3dnQ0dwQkFuUnFJQk1nQVVFQ2RHb3FBZ0E0QWdBZ0JpQUJRUUZxSWdjZ0VHd2dDR3BCQW5ScUlCTWdCMEVDZEdvcUFnQTRBZ0FnQmlBQlFRSnFJZ2NnRUd3Z0NHcEJBblJxSUJNZ0IwRUNkR29xQWdBNEFnQWdCaUFCUVFOcUlnY2dFR3dnQ0dwQkFuUnFJQk1nQjBFQ2RHb3FBZ0E0QWdBZ0dDQUJRUVJxSWdGSERRQUxDeUFJUVFGcUlnZ2dEa2NOQUFzTElCd2dEeUFjS0FJSUlneHJJaE0yQWdRZ0ZTZ0NuQUVoQVNBY1FRQTJBaEFnSENBTU5nSVVJQnhCQURZQ0dDQWNJQk0yQWh3Z0hDQUJRUUp2SWhnMkFnd0NRQ0JhUlNBT1FROUxjVVVFUUNBS0lRRWdEa0VJU1EwQklBOUJmbkVoSVNBUFFRRnhJU0lnRTBGK2NTRW9JQk5CQVhFaEp5QU1RWDV4SVRBZ0RFRUJjU0V0SUNrZ0pFRi9jMm9oSXlBY0tBSUFJaElnR0VFRmRDSUhhaUVnSUJJZ0IydEJJR29oSGlBTUlCQnNRUUowSVNvZ0RpRUlBMEJCQUNFR1FRQWhCd0pBQWtBQ1FDQU1EZ0lDQVFBTEEwQWdJQ0FHUVFaMGFpSVJJQUVnQmlBUWJFRUNkR29pSmYwQUFnRDlDd0lBSUJFZ0pmMEFBaEQ5Q3dJUUlDQWdCa0VCY2lJUlFRWjBhaUlsSUFFZ0VDQVJiRUVDZEdvaUVmMEFBaEQ5Q3dJUUlDVWdFZjBBQWdEOUN3SUFJQVpCQW1vaEJpQUhRUUpxSWdjZ01FY05BQXNMSUMxRkRRQWdJQ0FHUVFaMGFpSUhJQUVnQmlBUWJFRUNkR29pQnYwQUFnRDlDd0lBSUFjZ0J2MEFBaEQ5Q3dJUUN3SkFJQXdnRDBZTkFDQUJJQ3BxSVFkQkFDRUdRUUFoRVNBTUlDTkhCRUFEUUNBZUlBWkJCblJxSWlVZ0J5QUdJQkJzUVFKMGFpSXMvUUFDQVAwTEFnQWdKU0FzL1FBQ0VQMExBaEFnSGlBR1FRRnlJaVZCQm5ScUlpd2dCeUFRSUNWc1FRSjBhaUlsL1FBQ0VQMExBaEFnTENBbC9RQUNBUDBMQWdBZ0JrRUNhaUVHSUJGQkFtb2lFU0FvUncwQUN3c2dKMFVOQUNBZUlBWkJCblJxSWhFZ0J5QUdJQkJzUVFKMGFpSUgvUUFDQVAwTEFnQWdFU0FIL1FBQ0VQMExBaEFMSUJ3UUlnSkFJQTlGRFFCQkFDRUdRUUFoQnlBakJFQURRQ0FCSUFZZ0VHeEJBblJxSWhFZ0VpQUdRUVYwYWlJbC9RQUNBUDBMQWdBZ0VTQWwvUUFDRVAwTEFoQWdBU0FHUVFGeUloRWdFR3hCQW5ScUlpVWdFaUFSUVFWMGFpSVIvUUFDRVAwTEFoQWdKU0FSL1FBQ0FQMExBZ0FnQmtFQ2FpRUdJQWRCQW1vaUJ5QWhSdzBBQ3dzZ0lrVU5BQ0FCSUFZZ0VHeEJBblJxSWdjZ0VpQUdRUVYwYWlJRy9RQUNBUDBMQWdBZ0J5QUcvUUFDRVAwTEFoQUxJQUZCSUdvaEFTQUlRUWhySWdoQkIwc05BQXNNQVF0QkFTQU9RUU4ySWdFZ1J5QUJJRWRKR3lJSUlBaEJBVTBiSVJFZ0RpQUlia0Y0Y1NFU0lBNUJlSEVoSUVFQUlRY2dDaUVCQTBCQk1CQVVJZ1pGRFFRZ0JpQkdFQmdpSGpZQ0FDQWVSUVJBSUI4UUlDQUdFQkJCQUF3R0N5QUdJQUUyQWlnZ0JpQVFOZ0lrSUFZZ0R6WUNJQ0FHSUJNMkFod2dCa0VBTmdJWUlBWWdERFlDRkNBR1FRQTJBaEFnQmlBWU5nSU1JQVlnRERZQ0NDQUdJQk0yQWdRZ0JpQWdJQWNnRW14cklCSWdCMEVCYWlJSElBaEdHeUllTmdJc0lCOUJEU0FHRUMwZ0FTQWVRUUowYWlFQklBY2dFVWNOQUFzZ0h4QWdDd0pBSUE1QkIzRWlFa1VOQUNBWVFRVjBJU0FnSENnQ0FDRUlBa0FnREVVTkFDQUlJQ0JxSVJFZ0VrRUNkQ0VZUVFBaEJpQU1RUUZIQkVBZ0RFRitjU0VlUVFBaEJ3TkFJQkVnQmtFR2RHb2dBU0FHSUJCc1FRSjBhaUFZRUJJYUlCRWdCa0VCY2lJalFRWjBhaUFCSUJBZ0kyeEJBblJxSUJnUUVob2dCa0VDYWlFR0lBZEJBbW9pQnlBZVJ3MEFDd3NnREVFQmNVVU5BQ0FSSUFaQkJuUnFJQUVnQmlBUWJFRUNkR29nR0JBU0dnc0NRQ0FNSUE5R0RRQWdDQ0FnYTBFZ2FpRUhJQUVnRENBUWJFRUNkR29oRVNBU1FRSjBJUmhCQUNFR0lBd2dLU0FrUVg5emFrY0VRQ0FUUVg1eElTQkJBQ0VNQTBBZ0J5QUdRUVowYWlBUklBWWdFR3hCQW5ScUlCZ1FFaG9nQnlBR1FRRnlJaDVCQm5ScUlCRWdFQ0FlYkVFQ2RHb2dHQkFTR2lBR1FRSnFJUVlnREVFQ2FpSU1JQ0JIRFFBTEN5QVRRUUZ4UlEwQUlBY2dCa0VHZEdvZ0VTQUdJQkJzUVFKMGFpQVlFQklhQ3lBY0VDSWdEMFVOQUNBU1FRSjBJUWRCQUNFR0lDUkJBV29nS1VjRVFDQVBRWDV4SVF4QkFDRVJBMEFnQVNBR0lCQnNRUUowYWlBSUlBWkJCWFJxSUFjUUVob2dBU0FHUVFGeUloTWdFR3hCQW5ScUlBZ2dFMEVGZEdvZ0J4QVNHaUFHUVFKcUlRWWdFVUVDYWlJUklBeEhEUUFMQ3lBUFFRRnhSUTBBSUFFZ0JpQVFiRUVDZEdvZ0NDQUdRUVYwYWlBSEVCSWFDeUFWUVpnQmFpRVZJQlpCQVdzaUZnMEFDMEVCREFJTFFRRWhCeUFKS0FJY0lnd2dDRUdZQVd4cUlpTkJtQUZySWk4b0FnQWdJMEdRQVdzb0FnQkdEUUlnSTBHVUFXc2lQU2dDQUNBalFZd0JheWdDQUVZTkFpQU1LQUlFSVE4Z0RDZ0NEQ0VXSUF3b0FnQWhFQ0FNS0FJSUlSTWdDU2dDUkNFU0lBa29Ba0FoRVNBSktBSThJUm9nQ1NnQ09DRWZJQWtnQ0JCY0loNUZCRUJCQUNFSERBTUxJQWhCQVVZRVFDQWVJQ05CRUdzb0FnQWlBU0F2S0FJQUlnWnJJQ05CREdzb0FnQWdQU2dDQUNJS2F5QWpRUWhyS0FJQUlnZ2dCbXNnSTBFRWF5Z0NBQ0FLYXlBSktBSTBRUUVnQ0NBQmF4QWVJQjRRSXd3REMwRUFJUVlDUUFKQUlBaEJBV3NpQ2tFRVNRUkFJQW9oQnlBTUlRRU1BUXNnQ2tFRGNTRUhJQXdnQ2tGOGNTSVZRWmdCYkdvaEFRTkFJSUFCSUF3Z0RrR1lBV3hxSWdaQjZBUnFJQVpCMEFOcUlBWkJ1QUpxSUFiOUNRS2dBZjFXQWdBQi9WWUNBQUw5VmdJQUF5QUdRZUFFYWlBR1FjZ0RhaUFHUWJBQ2FpQUcvUWtDbUFIOVZnSUFBZjFXQWdBQy9WWUNBQVA5c1FIOXVRRWdCa0hzQkdvZ0JrSFVBMm9nQmtHOEFtb2dCdjBKQXFRQi9WWUNBQUg5VmdJQUF2MVdBZ0FESUFaQjVBUnFJQVpCekFOcUlBWkJ0QUpxSUFiOUNRS2NBZjFXQWdBQi9WWUNBQUw5VmdJQUEvMnhBZjI1QVNHQUFTQU9RUVJxSWc0Z0ZVY05BQXNnZ0FFZ2dBRWdnQUg5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5dVFFaWdBRWdnQUVnZ0FIOURRUUZCZ2NBQVFJREFBRUNBd0FCQWdQOXVRSDlHd0FoQmlBS0lCVkdEUUVMQTBBZ0JpQUJLQUtnQVNBQktBS1lBV3NpQ2lBR0lBcExHeUlHSUFFb0FxUUJJQUVvQXB3QmF5SUtJQVlnQ2tzYklRWWdBVUdZQVdvaEFTQUhRUUZySWdjTkFBc0xBa0FnQmtHQWdJREFBRThOQUNBY0lBWkJCWFFRR0NJaE5nSWdJQ0ZGRFFBZ0hDQWhOZ0lBQWtBZ0NBUkFJQllnRDJzaENpQVRJQkJySVFZZ0lVRWdhaUUrSUFpdElZY0JJQkt0SVlvQklCR3RJWXNCSUJxdElZZ0JJQit0SVl3QklBa29BaFFpUXEwaGpRRkNBU0dHQVFOQUlCd2dDallDQ0NBY0lBWTJBaWdnRENnQ3BBRWhCeUFNS0FLZ0FTRUlJQXdvQXB3QklRRWdIQ0FNS0FLWUFTSVZRUUp2SWlJMkFpd2dIQ0FCUVFKdklqODJBZ3dnSENBSUlCVnJJaUFnQm1zaUtEWUNKQ0FjSUFjZ0FXc2lFeUFLYXlJNE5nSUVJQjhpRmlFSUlCb2lBU0VPSUJFaUJ5RVlJQklpRlNFUEFrQWdoZ0VnalFGUkRRQWdRaUNHQWFkcklSQkJBQ0VPUVFBaENDQVdCRUJDZnlBUXJTS0pBWVpDZjRVZ2pBRjhJSWtCaUtjaENBc2dHZ1JBUW44Z0VLMGlpUUdHUW4rRklJZ0JmQ0NKQVlpbklRNExRUUFoRlVFQUlRY2dFUVJBUW44Z0VLMGlpUUdHUW4rRklJc0JmQ0NKQVlpbklRY0xJQklFUUVKL0lCQ3RJb2tCaGtKL2hTQ0tBWHdnaVFHSXB5RVZDMEVBSVJoQkFDRVdRUUVnRUVFQmEzUWlHeUFmU1FSQUlCOGdHMnV0UW44Z0VLMGlpUUdHUW4rRmZDQ0pBWWluSVJZTElCRWdHMHNFUUNBUklCdHJyVUovSUJDdElva0Joa0ovaFh3Z2lRR0lweUVZQzBFQUlROUJBQ0VCSUJvZ0cwc0VRQ0FhSUJ0cnJVSi9JQkN0SW9rQmhrSi9oWHdnaVFHSXB5RUJDeUFTSUJ0TkRRQWdFaUFiYTYxQ2Z5QVFyU0tKQVlaQ2Y0VjhJSWtCaUtjaER3dEJmeUFZSUF3b0FyUUJJaEJySWh0QkFDQVlJQnRQR3lJWVFRUnFJaHNnR0NBYlN4c2lHQ0FvSUJnZ0tFa2JJaTFCZnlBSElBd29BdGdCSWhocklodEJBQ0FISUJ0UEd5SUhRUVJxSWhzZ0J5QWJTeHNpQnlBR0lBWWdCMHNiSWlzZ0lodEJBWFFpQnlBcklDMGdJaHRCQVhSQkFYSWlHeUFISUJ0TEd5SW9JQ0JKSVJRZ0ZpQVFheUlIUVFBZ0J5QVdUUnNpQjBFRWF5SVdRUUFnQnlBV1R4c2lKeUFJSUJocklnZEJBQ0FISUFoTkd5SUhRUVJySWdoQkFDQUhJQWhQR3lJd0lDSWJRUUYwSWhnZ01DQW5JQ0liUVFGMFFRRnlJaVJKSVNrZ0RpQU1LQUs0QVNJV2F5SUhRUUFnQnlBT1RSc2lCMEVFYXlJSVFRQWdCeUFJVHhzaUNDRVFJQUVnRENnQzNBRWlEbXNpQjBFQUlBRWdCMDhiSWdGQkJHc2lCMEVBSUFFZ0IwOGJJZ0VoQjBGL0lCVWdGbXNpRmtFQUlCVWdGazhiSWhWQkJHb2lGaUFWSUJaTEd5SVZJQW9nQ2lBVlN4c2lGaUVWUVg4Z0R5QU9heUlPUVFBZ0RpQVBUUnNpRGtFRWFpSVBJQTRnRDBzYklnNGdPQ0FPSURoSkd5SWJJUThnUHdSQUlBRWhFQ0FXSVE4Z0d5RVZJQWdoQndzZ0tDQWdJQlFiSVNnZ0dDQWtJQ2tiSVJnZ0hDQXROZ0k4SUJ3Z0p6WUNPQ0FjSUNzMkFqUWdIQ0F3TmdJd0FrQWdFMEVJU1FSQVFRY2hCa0VBSVE0TUFRc2dQaUFpUVFWMElnNXJJQ2RCQm5ScUlUZ2dEaUFoYWlBd1FRWjBhaUVVSUFZZ0xXb2hMU0FHSUNkcUlTY2dDaUFiYWlFa0lBRWdDbW9oS1NBaElCaEJCWFJxSVNwQkFDRU9BMEFDUUFKQUlBNGdGa2tnRGtFSGNpSUdJQWhQY1EwQUlBNGdKRWtnQmlBcFQzRU5BQ0FPUVFocUlRNE1BUXRCQ0NBVElBNXJJZ1lnQmtFSVR4c2hKVUVBSVFZRFFDQWVJREFnQmlBT2FpSWlJQ3NnSWtFQmFpSXNJQlFnQmtFQ2RDSXVha0VRUVFBUUhpQWVJQ2NnSWlBdElDd2dMaUE0YWtFUVFRQVFIaUFHUVFGcUlnWWdKVWNOQUFzZ0hFRWdhaEFpSUI0Z0dDQU9JQ2dnRGtFSWFpSU9JQ3BCQ0VFQlFRQVFKa1VOQlFzZ0RrRUhjaUlHSUJOSkRRQUxDd0pBSUE0Z0UwOE5BQ0FPSUJaSklBWWdDRTl4UlFSQUlBNGdDaUFiYWs4TkFTQUdJQUVnQ21wSkRRRUxJQnhCSUdvaEJrRUFJU0lnRXlBT2F5SXdCRUFEUUNBZUlBWW9BaEFpTFNBT0lDSnFJaWNnQmlnQ0ZDQW5RUUZxSWlzZ0lrRUNkQ0k0SUFZb0FnQWdCaWdDREVFRmRHb2dMVUVHZEdwcVFSQkJBQkFlSUI0Z0JpZ0NHQ0l0SUFZb0FnZ2lGR29nSnlBR0tBSWNJQlJxSUNzZ0JpZ0NBQ0FHS0FJTVFRVjBheUF0UVFaMGFpQTRha0VnYWtFUVFRQVFIaUFpUVFGcUlpSWdNRWNOQUFzTElBWVFJaUFlSUJnZ0RpQW9JQk1nSVNBWVFRVjBha0VJUVFGQkFCQW1SUTBEQ3lBY0lCczJBaHdnSENBQk5nSVlJQndnRmpZQ0ZDQWNJQWcyQWhBZ0dDQW9TUVJBSUJWQkFYUWlCaUFQUVFGMFFRRnlJaFVnQmlBVlN4c2lCaUFUSUFZZ0Uwa2JJUVlnUGlBL1FRVjBJaFZySUFGQkJuUnFJUTRnRlNBaGFpQUlRUVowYWlFVklBb2dHMm9oRHlBQklBcHFJUW9nSVNBUVFRRjBJZ0VnQjBFQmRFRUJjaUlISUFFZ0Iwa2JJZ2RCQlhScUlSQURRQ0FlSUJnZ0NFRUlJQ2dnR0dzaUFTQUJRUWhQR3lBWWFpSUJJQllnRlVFQlFSQVFIaUFlSUJnZ0NpQUJJQThnRGtFQlFSQVFIaUFjRUNJZ0hpQVlJQWNnQVNBR0lCQkJBVUVJUVFBUUprVU5CQ0FZUVFocUloZ2dLRWtOQUFzTElBeEJtQUZxSVF3Z0lDRUdJQk1oQ2lDR0FVSUJmQ0tHQVNDSEFWSU5BQXNMUVFFaEJ5QWVJQ05CRUdzb0FnQWlBU0F2S0FJQUlnWnJJQ05CREdzb0FnQWdQU2dDQUNJS2F5QWpRUWhyS0FJQUlnZ2dCbXNnSTBFRWF5Z0NBQ0FLYXlBSktBSTBRUUVnQ0NBQmF4QWVJQjRRSXlBaEVCQU1CQXNnSGhBaklDRVFFRUVBSVFjTUF3c2dIaEFqUVFBaEJ3d0NDeUFmRUNCQkFBc2hCeUFjS0FJZ0VCQUxJQnhCUUdza0FDQUhEUUFNQkFzZ0hVRzRDR29oSFNBTlFUUnFJUTBnQ1VITUFHb2hDU0FMUVFGcUlnc2dGeWdDRUVrTkFBc2dHU2dDSUNFZElCa29BaFFvQWdBaEZ3c0NRQ0FkS0FJUUlnbEZEUUFnR1NnQ1JBMEFJQmNvQWhRaURTZ0NIQ0VCQWtBQ1FBSkFJQmtvQWtBaUJnUkFJQmNvQWhBaUMwRURTUTBDQWtBZ0RTZ0NHQ0lISUEwb0FtUkdCRUFnQnlBTktBS3dBVVlOQVFzZ00wRUJRZFRLQUVFQUVBOE1Cd3NDUUNBWktBSVlLQUlZSWdvb0FpUWlDQ0FLS0FKWVJ3MEFJQWdnQ2lnQ2pBRkhEUUFnQVNBSFFaZ0JiQ0lLYWlJQlFZd0JheWdDQUNBQlFaUUJheWdDQUdzZ0FVR1FBV3NvQWdBZ0FVR1lBV3NvQWdCcmJDSUJJQTBvQW1nZ0Ntb2lCMEdNQVdzb0FnQWdCMEdVQVdzb0FnQnJJQWRCa0FGcktBSUFJQWRCbUFGcktBSUFhMnhIRFFBZ0RTZ0N0QUVnQ21vaUIwR01BV3NvQWdBZ0IwR1VBV3NvQWdCcklBZEJrQUZyS0FJQUlBZEJtQUZyS0FJQWEyd2dBVVlOQWdzZ00wRUJRZFRLQUVFQUVBOE1CZ3NnRnlnQ0VDSUxRUU5KRFFFQ1FDQVpLQUlZS0FJWUlnY29BaVFpQ2lBSEtBSllSdzBBSUFvZ0J5Z0NqQUVpQ0VjTkFDQUJJQXBCbUFGc0lnZHFJZ0VvQXBRQklBRW9Bb3dCYXlBQktBS1FBU0FCS0FLSUFXdHNJZ0VnQnlBTktBSm9haUlIS0FLVUFTQUhLQUtNQVdzZ0J5Z0NrQUVnQnlnQ2lBRnJiRWNOQUNBTktBSzBBU0FJUVpnQmJHb2lCeWdDbEFFZ0J5Z0NqQUZySUFjb0FwQUJJQWNvQW9nQmEyd2dBVVlOQVFzZ00wRUJRZFRLQUVFQUVBOE1CUXNnQ1VFQ1JnUkFJQjBvQXVnclJRMERJQXRCQW5RUUZDSUxSUTBGSUJjb0FoQWlDRVVOQWlBWktBSkFCRUJCQUNFWEFrQWdDRUVNU1FSQVFRQWhCZ3dCQ3lBTlFTUnFJUW9DUUNBTElBMGdDRUhNQUd4cVFTUnJUdzBBSUFvZ0N5QUlRUUowYWs4TkFFRUFJUVlNQVFzZ0RVR0lBbW9oRENBTlFid0JhaUVWSUExQjhBQnFJUTRnRFNBSVFYeHhJZ1pCekFCc2FpRU5RUUFoQ1FOQUlBc2dDVUVDZEdvZ0RDQUpRY3dBYkNJSGFpQUhJQlZxSUFjZ0Rtb2dCeUFLYXYwSkFnRDlWZ0lBQWYxV0FnQUMvVllDQUFQOUN3SUFJQWxCQkdvaUNTQUdSdzBBQ3lBR0lBaEdEUVFMQWtBZ0NFRURjU0lIUlFSQUlBWWhDUXdCQ3lBR0lRa0RRQ0FMSUFsQkFuUnFJQTBvQWlRMkFnQWdDVUVCYWlFSklBMUJ6QUJxSVEwZ0YwRUJhaUlYSUFkSERRQUxDeUFHSUFoclFYeExEUU1nQzBFTWFpRUdJQXRCQ0dvaENpQUxRUVJxSVF3RFFDQUxJQWxCQW5RaUIyb2dEU2dDSkRZQ0FDQUhJQXhxSUEwb0FuQTJBZ0FnQnlBS2FpQU5LQUs4QVRZQ0FDQUdJQWRxSUEwb0FvZ0NOZ0lBSUExQnNBSnFJUTBnQ1VFRWFpSUpJQWhIRFFBTERBTUxRUUFoRndKQUlBaEJERWtFUUVFQUlRWU1BUXNnRFVFMGFpRUtBa0FnQ3lBTklBaEJ6QUJzYWtFVWEwOE5BQ0FLSUFzZ0NFRUNkR3BQRFFCQkFDRUdEQUVMSUExQm1BSnFJUXdnRFVITUFXb2hGU0FOUVlBQmFpRU9JQTBnQ0VGOGNTSUdRY3dBYkdvaERVRUFJUWtEUUNBTElBbEJBblJxSUF3Z0NVSE1BR3dpQjJvZ0J5QVZhaUFISUE1cUlBY2dDbXI5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FEL1FzQ0FDQUpRUVJxSWdrZ0JrY05BQXNnQmlBSVJnMERDd0pBSUFoQkEzRWlCMFVFUUNBR0lRa01BUXNnQmlFSkEwQWdDeUFKUVFKMGFpQU5LQUkwTmdJQUlBbEJBV29oQ1NBTlFjd0FhaUVOSUJkQkFXb2lGeUFIUncwQUN3c2dCaUFJYTBGOFN3MENJQXRCREdvaEJpQUxRUWhxSVFvZ0MwRUVhaUVNQTBBZ0N5QUpRUUowSWdkcUlBMG9BalEyQWdBZ0J5QU1haUFOS0FLQUFUWUNBQ0FISUFwcUlBMG9Bc3dCTmdJQUlBWWdCMm9nRFNnQ21BSTJBZ0FnRFVHd0Ftb2hEU0FKUVFScUlna2dDRWNOQUFzTUFnc2dIU2dDMENzb0FoUkJBVVlFUUNBR0JFQWdEU2dDSkNBTktBSndJQTBvQXJ3QklBRVFYd3dFQ3lBTktBSTBJQTBvQW9BQklBMG9Bc3dCSUFFUVh3d0RDeUFHQkVBZ0RTZ0NKQ0FOS0FKd0lBMG9BcndCSUFFUVhnd0RDeUFOS0FJMElBMG9Bb0FCSUEwb0Fzd0JJQUVRWGd3Q0N5QkFJQXMyQWdBZ00wRUJRWkhMQUNCQUVBOE1BUXNnR1NnQ0dDZ0NHQ2dDSUJvQ2Z5QWRLQUxvS3lFSFFRQWhEa0VBSUFoQkEzUVFGQ0lOUlEwQUdnSkFJQUZGRFFBZ0NFVU5BQ0FOSUFoQkFuUnFJUk1nQ0VGOGNTRVBJQWhCQTNFaERDQUlRUUZySVJBRFFFRUFJUmRCQUNFSklCQkJBMDhFUUFOQUlBMGdGMEVDZENJR2FpQUdJQXRxS0FJQUtnSUFPQUlBSUEwZ0JrRUVjaUlLYWlBS0lBdHFLQUlBS2dJQU9BSUFJQTBnQmtFSWNpSUthaUFLSUF0cUtBSUFLZ0lBT0FJQUlBMGdCa0VNY2lJR2FpQUdJQXRxS0FJQUtnSUFPQUlBSUJkQkJHb2hGeUFKUVFScUlna2dEMGNOQUFzTFFRQWhDaUFNQkVBRFFDQU5JQmRCQW5RaUJtb2dCaUFMYWlnQ0FDb0NBRGdDQUNBWFFRRnFJUmNnQ2tFQmFpSUtJQXhIRFFBTEMwRUFJUVlnQnlFWEEwQWdFeUFHUVFKMEloSnFJZ2xCQURZQ0FFTUFBQUFBSVk0QlFRQWhDa0VBSVJZZ0VFRUNTd1JBQTBBZ0NTQVhLZ0lBSUEwZ0NrRUNkR29pRlNvQ0FKUWdqZ0dTSW80Qk9BSUFJQWtnRnlvQ0JDQVZLZ0lFbENDT0FaSWlqZ0U0QWdBZ0NTQVhLZ0lJSUJVcUFnaVVJSTRCa2lLT0FUZ0NBQ0FKSUJjcUFnd2dGU29DREpRZ2pnR1NJbzRCT0FJQUlBcEJCR29oQ2lBWFFSQnFJUmNnRmtFRWFpSVdJQTlIRFFBTEMwRUFJUlVnREFSQUEwQWdDU0FYS2dJQUlBMGdDa0VDZEdvcUFnQ1VJSTRCa2lLT0FUZ0NBQ0FLUVFGcUlRb2dGMEVFYWlFWElCVkJBV29pRlNBTVJ3MEFDd3NnQ3lBU2FpSUtJQW9vQWdBaUNrRUVhallDQUNBS0lJNEJPQUlBSUFaQkFXb2lCaUFJUncwQUN5QU9RUUZxSWc0Z0FVY05BQXNMSUEwUUVFRUJDeUY3SUFzUUVDQjdSUTBDQ3lBWktBSVVLQUlBSWhZb0FoQkZCRUJCQVNFeERBSUxJQmtvQWlBb0F0QXJJaGRCdUFocUlSTWdGMEcwQ0dvaEVpQVpLQUpFSVJBZ0ZpZ0NGQ0VISUJrb0FoZ29BaGdoQ2tFQUlRZ0RRQUpBSUJBRVFDQVFJQWhCQW5ScUtBSUFSUTBCQ3lBSEtBSWNJZ0VnQ2lnQ0pFR1lBV3hxSVFzQ2Z5QVpLQUpBUlFSQUlBc29BcFFCSUFzb0Fvd0JheUVHSUFzb0FwQUJJQXNvQW9nQmF5RUJRUUFoREVFMERBRUxJQUVnQnlnQ0dFR1lBV3hxSWdaQmtBRnJLQUlBSUFzb0FnZ2dDeWdDQUdzaUFTQUdRWmdCYXlnQ0FHcHJJUXdnQ3lnQ0RDQUxLQUlFYXlFR1FTUUxJUWtnQ2lnQ0dDRUxBbjhnQ2lnQ0lBUkFRUUVnQzBFQmEzUWlDMEVCYXlFZFFRQWdDMnNNQVF0QmZ5QUxkRUYvY3lFZFFRQUxJUThnQVVVTkFDQUdSUTBBSUFjZ0NXb29BZ0FoQ1NBWEtBSVVRUUZHQkVBZ0V5QUlRYmdJYkNJTGFpRVJJQXNnRW1vaEdDQUJRUUZ4SVJvZ0FVRUNkQ0V6SUFGQmZIRWlEa0VDZENFYklCMzlFU0dDQVNBUC9SRWhnQUZCQUNFVklBRkJCRWtoSHdOQUFrQUNRQUpBSUI4TkFDQUpJQkZKSUJnZ0NTQXpha2x4RFFBZ0NTQWJhaUVOSUJmOUNRSzBDQ0dEQVVFQUlRc0RRQ0FKSUF0QkFuUnFJaUFnZ0FFZ2d3RWdJUDBBQWdEOXJnRWloQUVnZ2dIOXRnRWdoQUVnZ0FIOU9mMVMvUXNDQUNBTFFRUnFJZ3NnRGtjTkFBc2dEaUlMSUFGR0RRSU1BUXNnQ1NFTlFRQWhDd3NnQzBFQmNpRUpJQm9FUUNBTklBOGdGeWdDdEFnZ0RTZ0NBR29pQ3lBZElBc2dIVWdiSUFzZ0QwZ2JOZ0lBSUExQkJHb2hEU0FKSVFzTElBRWdDVVlOQUFOQUlBMGdEeUFYS0FLMENDQU5LQUlBYWlJSklCMGdDU0FkU0JzZ0NTQVBTQnMyQWdBZ0RTQVBJQmNvQXJRSUlBMG9BZ1JxSWdrZ0hTQUpJQjFJR3lBSklBOUlHellDQkNBTlFRaHFJUTBnQzBFQ2FpSUxJQUZIRFFBTEN5QU5JQXhCQW5ScUlRa2dGVUVCYWlJVklBWkhEUUFMREFFTElCMnNJWVlCSUErc0lZY0JRUUFoRlFOQVFRQWhDd05BSUFrQ2Z5QWRJQWtxQWdBaWpnRkRBQUFBVDE0TkFCb2dEeUNPQVVNQUFBRFBYUTBBR2lDSEFTQVhOQUswQ0FKL0lJNEJrQ0tPQVl0REFBQUFUMTBFUUNDT0FhZ01BUXRCZ0lDQWdIZ0xySHdpaWdFZ2hnRWdoZ0VnaWdGVkd5Q0hBU0NLQVZVYnB3czJBZ0FnQ1VFRWFpRUpJQXRCQVdvaUN5QUJSdzBBQ3lBSklBeEJBblJxSVFrZ0ZVRUJhaUlWSUFaSERRQUxDeUFIUWN3QWFpRUhJQmRCdUFocUlSY2dDa0UwYWlFS1FRRWhNU0FJUVFGcUlnZ2dGaWdDRUVrTkFBc01BUXNnQlVFQlFab1pRUUFRRHdzZ1FFRVFhaVFBSURGRkJFQWdUeEF1SUFBZ0FDZ0NDRUdBZ0FKeU5nSUlJQVZCQVVIdzFBQkJBQkFQREFFTEFrQWdBa1VOQUFKL0lBSWhCMEVBSVFZQ1FDQUFLQUxRQVNJVlFRRVFWQ0lCUVg5R0RRQWdBU0FEU3cwQVFRRWdGU2dDR0NJQktBSVFSUTBCR2lBQktBSVlJUWdnRlNnQ0ZDZ0NBQ2dDRkNFWEEwQWdDQ2dDR0NJQlFRZHhJUUlnQVVFRGRpRURJQmNvQWh3aUJpQUlLQUlrUVpnQmJHb2hBUUovSUJVb0FrQUVRQ0FHSUJjb0FoaEJtQUZzYWlJR1FaQUJheWdDQUNBQktBSUlJQUVvQWdCcklnc2dCa0dZQVdzb0FnQnFheUVNSUFFb0Fnd2dBU2dDQkdzaENVRWtEQUVMSUFFb0FwUUJJQUVvQW93QmF5RUpJQUVvQXBBQklBRW9Bb2dCYXlFTFFRQWhERUUwQ3lBWGFpZ0NBQ0VCQWtBQ1FBSkFBa0FDUUVFRUlBTWdBa0VBUjJvaUFpQUNRUU5HRzBFQmF3NEVBUUlFQUFRTElBbEZEUU1nQ3lBTWFpRUdJQXRCQW5RaEFpQUpRUVJQQkVBZ0NVRjhjU0VLUVFBaEN3TkFJQWNnQVNBQ0VCSWhCeUFCSUFaQkFuUWlBMm9pRFNBRGFpSU1JQU5xSWc0Z0Eyb2hBU0FDSUFkcUlBMGdBaEFTSUFKcUlBd2dBaEFTSUFKcUlBNGdBaEFTSUFKcUlRY2dDMEVFYWlJTElBcEhEUUFMQzBFQUlRc2dDVUVEY1NJRFJRMERBMEFnQnlBQklBSVFFaUVISUFFZ0JrRUNkR29oQVNBQ0lBZHFJUWNnQzBFQmFpSUxJQU5IRFFBTERBTUxJQWxGSUF0RmNpRUNJQWdvQWlCRkRRRWdBZzBDSUF0QkFuUWhEaUFMUVh4eElnTkJBblFoRDBFQUlRMERRQUpBQWtBQ1FDQUxRUVJKRFFBZ0FTQUhJQXRxU1NBQklBNXFJQWRMY1EwQUlBTWdCMm9oZkNBQklBOXFJUVpCQUNFS0EwQWdCeUFLYWlBQklBcEJBblJxL1FBQ0FQME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQME5BQVFJREFBQUFBQUFBQUFBQUFBQUFQMWFBQUFBSUFwQkJHb2lDaUFEUncwQUN5QjhJUWNnQXlJQ0lBdEdEUUlNQVFzZ0FTRUdRUUFoQWd0QkFDRUtJQXNnQWlJQmEwRUhjU0lXQkVBRFFDQUhJQVlvQWdBNkFBQWdBVUVCYWlFQklBZEJBV29oQnlBR1FRUnFJUVlnQ2tFQmFpSUtJQlpIRFFBTEN5QUNJQXRyUVhoTERRQURRQ0FISUFZb0FnQTZBQUFnQnlBR0tBSUVPZ0FCSUFjZ0JpZ0NDRG9BQWlBSElBWW9BZ3c2QUFNZ0J5QUdLQUlRT2dBRUlBY2dCaWdDRkRvQUJTQUhJQVlvQWhnNkFBWWdCeUFHS0FJY09nQUhJQWRCQ0dvaEJ5QUdRU0JxSVFZZ0FVRUlhaUlCSUF0SERRQUxDeUFHSUF4QkFuUnFJUUVnRFVFQmFpSU5JQWxIRFFBTERBSUxJQWxGSUF0RmNpRUNJQWdvQWlBRVFDQUNEUUlnQzBFQ2RDRU9JQXRCQVhRaER5QUxRWHh4SWdOQkFuUWhGaUFEUVFGMElSQkJBQ0VOQTBBQ1FBSkFBa0FnQzBFRVNRMEFJQUVnQnlBUGFra2dBU0FPYWlBSFMzRU5BQ0FCSUJacUlRWWdCeUFRYWlGOVFRQWhDZ05BSUFjZ0NrRUJkR29nQVNBS1FRSjBhdjBBQWdEOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOURRQUJCQVVJQ1F3TkFBRUFBUUFCQUFIOVd3RUFBQ0FLUVFScUlnb2dBMGNOQUFzZ2ZTRUhJQU1pQWlBTFJnMENEQUVMSUFFaEJrRUFJUUlMUVFBaENpQUxJQUlpQVd0QkIzRWlFd1JBQTBBZ0J5QUdLQUlBT3dFQUlBRkJBV29oQVNBSFFRSnFJUWNnQmtFRWFpRUdJQXBCQVdvaUNpQVRSdzBBQ3dzZ0FpQUxhMEY0U3cwQUEwQWdCeUFHS0FJQU93RUFJQWNnQmlnQ0JEc0JBaUFISUFZb0FnZzdBUVFnQnlBR0tBSU1Pd0VHSUFjZ0JpZ0NFRHNCQ0NBSElBWW9BaFE3QVFvZ0J5QUdLQUlZT3dFTUlBY2dCaWdDSERzQkRpQUhRUkJxSVFjZ0JrRWdhaUVHSUFGQkNHb2lBU0FMUncwQUN3c2dCaUFNUVFKMGFpRUJJQTFCQVdvaURTQUpSdzBBQ3d3Q0N5QUNEUUVnQzBFQ2RDRU9JQXRCQVhRaER5QUxRWHh4SWdOQkFuUWhGaUFEUVFGMElSQkJBQ0VOQTBBQ1FBSkFBa0FnQzBFRVNRMEFJQUVnQnlBUGFra2dBU0FPYWlBSFMzRU5BQ0FCSUJacUlRWWdCeUFRYWlGK1FRQWhDZ05BSUFjZ0NrRUJkR29nQVNBS1FRSjBhdjBBQWdEOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOURRQUJCQVVJQ1F3TkFBRUFBUUFCQUFIOVd3RUFBQ0FLUVFScUlnb2dBMGNOQUFzZ2ZpRUhJQU1pQWlBTFJnMENEQUVMSUFFaEJrRUFJUUlMUVFBaENpQUxJQUlpQVd0QkIzRWlFd1JBQTBBZ0J5QUdLQUlBT3dFQUlBRkJBV29oQVNBSFFRSnFJUWNnQmtFRWFpRUdJQXBCQVdvaUNpQVRSdzBBQ3dzZ0FpQUxhMEY0U3cwQUEwQWdCeUFHS0FJQU93RUFJQWNnQmlnQ0JEc0JBaUFISUFZb0FnZzdBUVFnQnlBR0tBSU1Pd0VHSUFjZ0JpZ0NFRHNCQ0NBSElBWW9BaFE3QVFvZ0J5QUdLQUlZT3dFTUlBY2dCaWdDSERzQkRpQUhRUkJxSVFjZ0JrRWdhaUVHSUFGQkNHb2lBU0FMUncwQUN3c2dCaUFNUVFKMGFpRUJJQTFCQVdvaURTQUpSdzBBQ3d3QkN5QUNEUUFnQzBFQ2RDRU9JQXRCZkhFaUEwRUNkQ0VQUVFBaERRTkFBa0FDUUFKQUlBdEJCRWtOQUNBQklBY2dDMnBKSUFFZ0Rtb2dCMHR4RFFBZ0F5QUhhaUYvSUFFZ0Qyb2hCa0VBSVFvRFFDQUhJQXBxSUFFZ0NrRUNkR3I5QUFJQS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9RMEFCQWdNQUFBQUFBQUFBQUFBQUFBQS9Wb0FBQUFnQ2tFRWFpSUtJQU5IRFFBTElIOGhCeUFESWdJZ0MwWU5BZ3dCQ3lBQklRWkJBQ0VDQzBFQUlRb2dDeUFDSWdGclFRZHhJaFlFUUFOQUlBY2dCaWdDQURvQUFDQUJRUUZxSVFFZ0IwRUJhaUVISUFaQkJHb2hCaUFLUVFGcUlnb2dGa2NOQUFzTElBSWdDMnRCZUVzTkFBTkFJQWNnQmlnQ0FEb0FBQ0FISUFZb0FnUTZBQUVnQnlBR0tBSUlPZ0FDSUFjZ0JpZ0NERG9BQXlBSElBWW9BaEE2QUFRZ0J5QUdLQUlVT2dBRklBY2dCaWdDR0RvQUJpQUhJQVlvQWh3NkFBY2dCMEVJYWlFSElBWkJJR29oQmlBQlFRaHFJZ0VnQzBjTkFBc0xJQVlnREVFQ2RHb2hBU0FOUVFGcUlnMGdDVWNOQUFzTElCZEJ6QUJxSVJjZ0NFRTBhaUVJUVFFaEJpQnlRUUZxSW5JZ0ZTZ0NHQ2dDRUVrTkFBc0xJQVlMUlEwQklFOG9BdHdySWdGRkRRQWdBUkFRSUU5Q0FEY0MzQ3NMSUFBZ0FDMEFSRUgrQVhFNkFFUWdBQ0FBS0FJSVFmOStjVFlDQ0VFQklXY2dCQ2tEQ0NLR0FWQUVma0lBQlNDR0FTQUVLUU00ZlF0UUlBQW9BZ2dpQVVIQUFFWnhEUUFnQVVHQUFrWU5BQ0FFSUU1QkNtcEJBaUFGRUJwQkFrY0VRQ0FGUVFGQkFpQUFLQUs0QVJ0QmxoSkJBQkFQSUFBb0FyZ0JSU0ZuREFFTElFNUJDbW9nVGtFTWFrRUNFQkVnVGlnQ0RDSUJRWkQvQTBZTkFDQUJRZG4vQTBZRVFDQUFRWUFDTmdJSUlBQkJBRFlDekFFTUFRc2dCQ2tEQ0NLR0FWQUVma0lBQlNDR0FTQUVLUU00ZlF0UUJFQWdBRUhBQURZQ0NDQUZRUUpCckQ5QkFCQVBEQUVMUVFBaFp5QUZRUUZCN0Q1QkFCQVBDeUJPUVJCcUpBQWdad3NMQUNBQUJFQWdBQkFRQ3d1MEFRRUJmeUFBS0FJTVJRUkFJQUlnQUNnQ0pDQUJFUU1BRHdzQ1FFRUlFQlFpQTBVTkFDQURJQUkyQWdRZ0F5QUJOZ0lBUVFnUUZDSUJSUVJBSUFNUUVBOExJQUVnQXpZQ0FDQUFJQUFvQWdSQjVBQnNJZ0kyQWlnRFFDQUFLQUlZSUFKS0RRQUxJQUVnQUNnQ0ZEWUNCQ0FBSUFFMkFoUWdBQ0FBS0FJWVFRRnFOZ0lZSUFBb0Fod2lBVVVOQUNBQktBSUFRUUEyQWdnZ0FDQUJLQUlFTmdJY0lBQWdBQ2dDSUVFQmF6WUNJQ0FCRUJBTEMvb0NBUVIvQWtBZ0FFVU5BQ0FBS0FLc0tDSUJCRUFnQUNnQ3FDZ2lBZ1JBUVFBaEFRTkFJQUFvQXF3b0lBRkJBM1JxS0FJQUlnTUVRQ0FERUJBZ0FDZ0NxQ2doQWdzZ0FVRUJhaUlCSUFKSkRRQUxJQUFvQXF3b0lRRUxJQUJCQURZQ3FDZ2dBUkFRSUFCQkFEWUNyQ2dMSUFBb0FyUW9JZ0VFUUNBQkVCQWdBRUVBTmdLMEtBc2dBQ2dDMENzaUFRUkFJQUVRRUNBQVFRQTJBdEFyQ3lBQUtBTHNLeUlCQkVBZ0FSQVFJQUJCQURZQzdDc0xJQUFvQXVncklnRUVRQ0FCRUJBZ0FFRUFOZ0xvS3dzZ0FDZ0MvQ3NpQVFSQUlBRVFFQ0FBUVFBMkFvUXNJQUJDQURjQy9Dc0xJQUFvQXZBcklnRUVRQ0FBS0FMMEt5SURCSDlCQUNFQ0EwQWdBU2dDRENJRUJFQWdCQkFRSUFGQkFEWUNEQ0FBS0FMMEt5RURDeUFCUVJScUlRRWdBa0VCYWlJQ0lBTkpEUUFMSUFBb0F2QXJCU0FCQ3hBUUlBQkJBRFlDOENzTElBQW9BdVFySWdFRVFDQUJFQkFnQUVFQU5nTGtLd3NnQUNnQzNDc2lBVVVOQUNBQkVCQWdBRUlBTndMY0t3c0x5QWNDRVg4QmZpQUFLQUlRSWdoQklFOEVRQ0FBS1FNSXB3OExBa0FnQUNnQ0ZDSURRUVJPQkVBZ0FDZ0NBQ0lDUVFOcktBSUFJUUVnQUNBRFFRUnJJZ00yQWhRZ0FDQUNRUVJyTmdJQURBRUxJQU5CQUV3RVFBd0JDeUFEUVFGeElRMGdBQ2dDQUNFQ0FrQWdBMEVCUmdSQVFSZ2hCQXdCQ3lBRFFmNy8vLzhIY1NFSlFSZ2hCQU5BSUFBZ0FrRUJheUlHTmdJQUlBSXRBQUFoRENBQUlBSkJBbXNpQWpZQ0FDQUFJQU5CQVdzMkFoUWdCaTBBQUNFR0lBQWdBMEVDYXlJRE5nSVVJQXdnQkhRZ0FYSWdCaUFFUVFocmRISWhBU0FFUVJCcklRUWdCVUVDYWlJRklBbEhEUUFMQ3lBTkJFQWdBQ0FDUVFGck5nSUFJQUl0QUFBaERpQUFJQU5CQVdzMkFoUWdEaUFFZENBQmNpRUJDMEVBSVFNTElBQW9BaGdoQWlBQUlBRkIvd0Z4SWdsQmp3RkxOZ0lZSUFCQkIwRUlJQUZCZ0lDQStBZHhRWUNBZ1BnSFJodEJDQ0FDR3lJQ1FRaEJCMEVJSUFGQmdJRDhBM0ZCZ0lEOEEwWWJJQUZCLy8vLy8zaE5HMm9pQkVFSVFRZEJDQ0FCUVlEK0FYRkJnUDRCUmhzZ0FVRVFka0gvQVhFaUJVR1BBVTBiYWlJR1FRaEJCMEVJSUFGQi93QnhRZjhBUmhzZ0FVRUlka0gvQVhFaUIwR1BBVTBiSUFocWFpSUtOZ0lRSUFBZ0FDa0RDQ0FGSUFKMElBRkJHSFp5SUFjZ0JIUnlJQWtnQm5SeXJTQUlyWWFFSWhJM0F3Z2dDa0VmVFFSQUFrQWdBMEVFVGdSQUlBQW9BZ0FpQWtFRGF5Z0NBQ0VCSUFBZ0EwRUVhellDRkNBQUlBSkJCR3MyQWdBTUFRc2dBMEVBVEFSQVFRQWhBUXdCQ3lBRFFRRnhJUkFnQUNnQ0FDRUNBa0FnQTBFQlJnUkFRUmdoQkVFQUlRRU1BUXNnQTBIKy8vLy9CM0VoQmtFWUlRUkJBQ0VCUVFBaEJRTkFJQUFnQWtFQmF5SUhOZ0lBSUFJdEFBQWhEeUFBSUFKQkFtc2lBallDQUNBQUlBTkJBV3MyQWhRZ0J5MEFBQ0VISUFBZ0EwRUNheUlETmdJVUlBOGdCSFFnQVhJZ0J5QUVRUWhyZEhJaEFTQUVRUkJySVFRZ0JVRUNhaUlGSUFaSERRQUxDeUFRUlEwQUlBQWdBa0VCYXpZQ0FDQUNMUUFBSVJFZ0FDQURRUUZyTmdJVUlCRWdCSFFnQVhJaEFRc2dBQ0FCUWY4QmNTSUNRWThCU3pZQ0dDQUFRUWhCQjBFSUlBRkJnSUNBK0FkeFFZQ0FnUGdIUmhzZ0NVR1BBVTBiSWdOQkNFRUhRUWdnQVVHQWdQd0RjVUdBZ1B3RFJoc2dBVUgvLy8vL2VFMGJhaUlFUVFoQkIwRUlJQUZCZ1A0QmNVR0EvZ0ZHR3lBQlFSQjJRZjhCY1NJRlFZOEJUUnRxSWdoQkNFRUhRUWdnQVVIL0FIRkIvd0JHR3lBQlFRaDJRZjhCY1NJSlFZOEJUUnNnQ21wcU5nSVFJQUFnQlNBRGRDQUJRUmgyY2lBSklBUjBjaUFDSUFoMGNxMGdDcTJHSUJLRUloSTNBd2dMSUJLbkM4a1VBaDEvQm5zZ0FDZ0NDQ0lLSUFBb0FnUnFJUWdDUUNBQUtBSU1SUVJBSUFoQkFrZ05BU0FEUVFCTURRRWdBQ2dDQUNJRklBaEJCR3NpQmtFQmRpSU1RUUowSWdrZ0FTQUtRUUowYWlJSElBTkJBblFpQkdwcVFRUnFTU0FGSUF4QkEzUnFRUWhxSWdBZ0IwRUVha3R4SUFVZ0FTQUVhaUFKYWtFRWFra2dBVUVFYWlBQVNYRnlJUklnQ0VFRVNTSVVJQUpCQVVkeUlSVWdBa0VCUmlBR1FRVkxjU0VXSUFoQi9QLy8vd2R4SVJNZ0NFRUJjU0VYSUFwQkFXb2hEeUFJUVFOeElSRWdBU0FGYXlFWUlBVWdDRUVDZEdvaEdTQUZJQWhCQVdzaUFFRUNkR29oR2lBTVFRRnFJaHRCZkhFaUVFRUJkQ0VMSUFJZ0NteEJBblFoSENBQVFRRjJJQUpzUVFKMElSMERRQ0FCS0FJQUlBRWdIR29vQWdBaUNVRUJha0VCZFdzaEJ3SkFJQlFFUUNBSklRUkJBQ0VHREFFTFFRQWhCZ0pBQW45QkFDQVdSUTBBR2tFQUlCSU5BQm9nQ2YwUklTSWdCLzBSSVNIOURBQUFBQUFDQUFBQUJBQUFBQVlBQUFBaEpVRUFJUUFEUUNBQklBQkJBblJxL1FBQ0JDRWtJQUVnQUNBUGFrRUNkR3I5QUFJQUlTTWdCU0FBUVFOMGFpSUVJQ0g5V2dJQUF5QUVRUWhxSUNRZ0l5QWlJQ1A5RFF3TkRnOFFFUklURkJVV0Z4Z1pHaHNpSlAydUFmME1BZ0FBQUFJQUFBQUNBQUFBQWdBQUFQMnVBVUVDL2F3Qi9iRUJJaUw5V2dJQUFDQUVRUkJxSUNMOVdnSUFBU0FFUVJocUlDTDlXZ0lBQWlBRklDWDlEQUVBQUFBQkFBQUFBUUFBQUFFQUFBRDlVQ0ltL1JzQVFRSjBhaUFpSUNFZ0l2ME5EQTBPRHhBUkVoTVVGUllYR0JrYUcvMnVBVUVCL2F3QklDVDlyZ0VpSWYxYUFnQUFJQVVnSnYwYkFVRUNkR29nSWYxYUFnQUJJQVVnSnYwYkFrRUNkR29nSWYxYUFnQUNJQVVnSnYwYkEwRUNkR29nSWYxYUFnQURJQ1g5REFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUQ5cmdFaEpTQWlJU0VnSXlFaUlBQkJCR29pQUNBUVJ3MEFDeUFpL1JzRElRUWdJZjBiQXlFSElCQWdHMFlOQVNBTElRWWdCQ0VKSUJBTElRQURRQ0FCSUFCQkFXb2lDaUFDYkVFQ2RHb29BZ0FoSGlBQklBQWdEMm9nQW14QkFuUnFLQUlBSVFRZ0JTQUdRUUowYWlJT0lBYzJBZ0FnRGlBSElCNGdCQ0FKYWtFQ2FrRUNkV3NpQjJwQkFYVWdDV28yQWdRZ0JrRUNhaUVHSUFBZ0RFY2hIeUFFSVFrZ0NpRUFJQjhOQUFzTUFRc2dDeUVHQ3lBRklBWkJBblJxSUFjMkFnQkJmQ0VBSUJjRWZ5QWFJQUVnSFdvb0FnQWdCRUVCYWtFQmRXc2lBRFlDQUNBQUlBZHFRUUYxSVFkQmVBVkJmQXNnR1dvZ0JDQUhhallDQUVFQUlRWkJBQ0VBUVFBaEJBSkFJQlVnR0NBTlFRSjBha0VRU1hKRkJFQURRQ0FCSUFCQkFuUWlCR29nQkNBRmF2MEFBZ0Q5Q3dJQUlBQkJCR29pQUNBVFJ3MEFDeUFUSWdRZ0NFWU5BUXNnQkNFQUlCRUVRQU5BSUFFZ0FDQUNiRUVDZEdvZ0JTQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQWdCa0VCYWlJR0lCRkhEUUFMQ3lBRUlBaHJRWHhMRFFBRFFDQUJJQUFnQW14QkFuUnFJQVVnQUVFQ2RHb29BZ0EyQWdBZ0FTQUFRUUZxSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBU0FBUVFKcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQVNBQVFRTnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FFRUVhaUlBSUFoSERRQUxDeUFCUVFScUlRRWdEVUVCYWlJTklBTkhEUUFMREFFTEFrQUNRQUpBSUFoQkFXc09BZ0FCQWdzZ0EwRUFUQTBDUVFBaEFnSkFJQU5CQkVrRVFDQUJJUUFNQVFzZ0FTQURRZnovLy84SGNTSUNRUUowYWlFQUEwQWdBU0FHUVFKMGFpSUVJQVQ5QUFJQUlpSDlHd0JCQW0zOUVTQWgvUnNCUVFKdC9Sd0JJQ0g5R3dKQkFtMzlIQUlnSWYwYkEwRUNiZjBjQS8wTEFnQWdCa0VFYWlJR0lBSkhEUUFMSUFJZ0EwWU5Bd3NEUUNBQUlBQW9BZ0JCQW0wMkFnQWdBRUVFYWlFQUlBSkJBV29pQWlBRFJ3MEFDd3dDQ3lBRFFRQk1EUUVnQUNnQ0FDRUpJQUlnQ214QkFuUWhCd05BSUFrZ0FTZ0NBQ0FCSUFkcUlnUW9BZ0JCQVdwQkFYVnJJZ0EyQWdRZ0NTQUFJQVFvQWdCcUlnQTJBZ0FnQVNBQU5nSUFJQUVnQWtFQ2RHb2dDU2dDQkRZQ0FDQUJRUVJxSVFFZ0JrRUJhaUlHSUFOSERRQUxEQUVMSUFoQkEwZ05BQ0FEUVFCTURRQWdBQ2dDQUNJRklBZ2dDRUVCY1NJVVJTSUdhMEVFYXlJSlFRRjJJZ3RCQW5RaUJ5QUJJQU5CQW5RaUFHcHFTU0FGSUF0QkEzUnFRUXhxSWdRZ0FVRUVha3R4SUFWQkJHb2dBQ0FCSUFwQkFuUnFJZ0JxSUFkcVFRaHFTU0FBUVFocUlBUkpjWEloRlNBQ1FRRkhJQWhCQkVseUlSWWdBa0VCUmlBSlFRVkxjU0VYSUFoQi9QLy8vd2R4SVJBZ0NFRURjU0VSSUFFZ0JXc2hHQ0FGSUFoQkFuUnFRUVJySVJrZ0JTQUlRUUpySWdCQkFuUnFJUm9nQzBFQmFpSVNRWHh4SWd4QkFYSWhFeUFNUVFGMFFRRnlJUXNnQWlBS2JFRUNkQ0ViSUFBZ0JtdEJBa2toSENBSVFRRjJRUUZySUFKc1FRSjBJUjBEUUNBRklBRW9BZ0FnQVNBYmFpSVBJQUpCQW5ScUtBSUFJZ2tnRHlnQ0FDSUFha0VDYWtFQ2RXc2lCeUFBYWpZQ0FFRUJJUVFDUUNBY0JFQWdDU0VHREFFTEFrQUNmMEVCSUJkRkRRQWFRUUVnRlEwQUdpQUovUkVoSVNBSC9SRWhJa0VBSVFBRFFDQUZJQUJCQTNScUlnY2dBU0FBUVFKMElnUnEvUUFDQkNBaElBUWdEMnI5QUFJSUlpSDlEUXdORGc4UUVSSVRGQlVXRnhnWkdoc2lKQ0FoL2E0Qi9Rd0NBQUFBQWdBQUFBSUFBQUFDQUFBQS9hNEJRUUw5ckFIOXNRRWlJeUFqSUNJZ0kvME5EQTBPRHhBUkVoTVVGUllYR0JrYUcvMnVBVUVCL2F3QklDVDlyZ0VpSlAwTkJBVUdCeGdaR2hzSUNRb0xIQjBlSC8wTEFoUWdCeUFpSUNUOURRd05EZzhRRVJJVEFBRUNBeFFWRmhjZ0kvME5BQUVDQXdRRkJnY1FFUklUREEwT0QvMExBZ1FnSXlFaUlBQkJCR29pQUNBTVJ3MEFDeUFoL1JzRElRWWdJdjBiQXlFSElBd2dFa1lOQVNBTElRUWdCaUVKSUJNTElRQURRQ0FCSUFBZ0FteEJBblJxS0FJQUlSNGdEeUFBUVFGcUlnb2dBbXhCQW5ScUtBSUFJUVlnQlNBRVFRSjBhaUlPSUFjMkFnQWdEaUFISUI0Z0JpQUpha0VDYWtFQ2RXc2lCMnBCQVhVZ0NXbzJBZ1FnQkVFQ2FpRUVJQUFnRWtjaElDQUtJUUFnQmlFSklDQU5BQXNNQVFzZ0N5RUVDeUFZSUExQkFuUnFJUWtnQlNBRVFRSjBhaUFITmdJQUFrQWdGRVVFUUNBYUlBRWdIV29vQWdBZ0JrRUJha0VCZFdzaUFDQUhha0VCZFNBR2FqWUNBQXdCQ3lBR0lBZHFJUUFMSUJrZ0FEWUNBRUVBSVFaQkFDRUFRUUFoQkFKQUlCWWdDVUVRU1hKRkJFQURRQ0FCSUFCQkFuUWlCR29nQkNBRmF2MEFBZ0Q5Q3dJQUlBQkJCR29pQUNBUVJ3MEFDeUFRSWdRZ0NFWU5BUXNnQkNFQUlCRUVRQU5BSUFFZ0FDQUNiRUVDZEdvZ0JTQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQWdCa0VCYWlJR0lCRkhEUUFMQ3lBRUlBaHJRWHhMRFFBRFFDQUJJQUFnQW14QkFuUnFJQVVnQUVFQ2RHb29BZ0EyQWdBZ0FTQUFRUUZxSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBU0FBUVFKcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQVNBQVFRTnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FFRUVhaUlBSUFoSERRQUxDeUFCUVFScUlRRWdEVUVCYWlJTklBTkhEUUFMQ3dzM0FRSi9Jd0JCRUdzaUFTUUFJQUFFZnlBQlFReHFRU0FnQUJCc0lRQkJBQ0FCS0FJTUlBQWJCVUVBQ3lFQ0lBRkJFR29rQUNBQ0N4c0JBWDhnQUFSQUlBQW9BZ2dpQVFSQUlBRVFFQXNnQUJBUUN3c3hBUUovUVFGQkRCQVRJZ0FFUUNBQVFRbzJBZ1FnQUVFS1FRUVFFeUlCTmdJSUlBRUVRQ0FBRHdzZ0FCQVFDMEVBQ3k4QkFYOGdBQVJBSUFBb0FnUWlBUVJBSUFBb0FnQWdBUkVDQUFzZ0FDZ0NJQkFRSUFCQkFEWUNJQ0FBRUJBTEN5b0FJQUFFUUNBQUtBSXdJQUJCRkVFUUlBQW9Ba3diYWlnQ0FCRUNBQ0FBUVFBMkFqQWdBQkFRQ3d0VEFRSi9JQUJCQURZQ01DQUFJQUFvQWlBMkFpUWdBU0FBS0FJQUlBQW9BaHdSQ2dBaEJDQUFLQUpFSVFJZ0JFVUVRQ0FBSUFKQkJISTJBa1JCQUE4TElBQWdBVGNET0NBQUlBSkJlM0UyQWtSQkFRdUdBd0lGZndwK0l3QkJJR3NpQXlRQUFrQWdBQ2dDRUNJRlJRUkFRUUVoQWd3QkN3SkFJQUEwQWdBaUIwSUFVdzBBSUFBMEFnUWlDRUlBVXcwQUlBQTBBZ2dpQ1VJQVV3MEFJQUEwQWd3aUNrSUFVdzBBSUFBb0FoZ2hBQ0FIUWdGOUlRd2dDRUlCZlNFTklBbENBWDBoQ1NBS1FnRjlJUW9EUUNBQUlBd2dBQ2dDQUNJQ3JTSUhmQ0FIZ0NJTFBnSVFJQUFnRFNBQUtBSUVJZ2F0SWdkOElBZUFJZzQrQWhSQ0FTQUFOUUlvSWdlR0lnOUNBWDBpQ0NBSklBS3NJaEI4SUJCL3hId2dCNGVuSUFnZ0M4UjhJQWVIcDJzaUFrRUFTQVJBSUFNZ0FqWUNCQ0FESUFRMkFnQWdBVUVCUWRQa0FDQURFQTlCQUNFQ0RBTUxJQUFnQWpZQ0NDQUlJQW9nQnF3aUMzd2dDMy9FZkNBSGg2Y2dEc1FnRDN4Q0FYMGdCNGVuYXlJQ1FRQklCRUFnQXlBQ05nSVVJQU1nQkRZQ0VDQUJRUUZCbU9VQUlBTkJFR29RRDBFQUlRSU1Bd3NnQUNBQ05nSU1JQUJCTkdvaEFFRUJJUUlnQkVFQmFpSUVJQVZIRFFBTERBRUxJQUZCQVVHbk0wRUFFQThMSUFOQklHb2tBQ0FDQzljR0FRWi9JQUFFUUFKQUlBQW9BZ0FFUUNBQUtBSU1JZ0VFUUNBQkVDNGdBQ2dDREJBUUlBQkJBRFlDREFzZ0FDZ0NFQ0lCQkVBZ0FSQVFJQUJDQURjREVBc2dBQ2dDUUJBUUlBQkNBRGNDUEF3QkN5QUFLQUlzSWdFRVFDQUJFQkFnQUVFQU5nSXNDeUFBS0FJZ0lnRUVRQ0FCRUJBZ0FFSUFOd01nQ3lBQUtBSTBJZ0ZGRFFBZ0FSQVFJQUJDQURjQ05Bc2dBQ2dDMEFFUVZTQUFLQUtjQVNJQkJFQWdBQ2dDYUNBQUtBSnNiQ0lEQkg4RFFDQUJFQzRnQVVHTUxHb2hBU0FDUVFGcUlnSWdBMGNOQUFzZ0FDZ0NuQUVGSUFFTEVCQWdBRUVBTmdLY0FRc2dBQ2dDZENJQkJFQWdBQ2dDY0NJQ0JFQkJBQ0VCQTBBZ0FDZ0NkQ0FCUVFOMGFpZ0NBQ0lEQkVBZ0F4QVFJQUFvQW5BaEFnc2dBVUVCYWlJQklBSkpEUUFMSUFBb0FuUWhBUXNnQUVFQU5nSndJQUVRRUNBQVFRQTJBblFMSUFBb0FvZ0JFQkFnQUVFQU5nSjRJQUJCQURZQ2lBRWdBQ2dDWkJBUUlBQkJBRFlDWkNBQUxRQzhBVUVDY1VVRVFDQUFLQUtvQVJBUUN5QUFRZEFBYWtFQVFmQUFFQlVhSUFBb0FzQUJFRElnQUVFQU5nTEFBU0FBS0FMRUFSQXlJQUJCQURZQ3dBRWdBQ2dDeUFFaUFRUkFJQUVvQWh3aUFnUkFJQUlRRUNBQlFRQTJBaHdMSUFFb0FpZ2lBZ1JBSUFFb0FpUUVRQU5BSUFJZ0JVRW9iQ0lEYWlnQ0pDSUVCRUFnQkJBUUlBRW9BaWdpQWlBRGFrRUFOZ0lrQ3lBQ0lBTnFLQUlRSWdRRVFDQUVFQkFnQVNnQ0tDSUNJQU5xUVFBMkFoQUxJQUlnQTJvb0FoZ2lCQVJBSUFRUUVDQUJLQUlvSWdJZ0EycEJBRFlDR0FzZ0JVRUJhaUlGSUFFb0FpUkpEUUFMQ3lBQ0VCQWdBVUVBTmdJb0N5QUJFQkFMSUFCQkFEWUN5QUVnQUNnQ1NCQWhJQUJCQURZQ1NDQUFLQUpNRUNFZ0FFRUFOZ0pNSUFBb0F0UUJJZ01FUUFKQUlBTW9BZ2hGRFFBZ0F5Z0NEQVJBSUFOQkFEWUNLQU5BSUFNb0FoaEJBRW9OQUFzTElBTkJBVFlDRUNBREtBSUFFQkFnQXlnQ0hDSUNSUTBBQTBBZ0FpZ0NCQ0VCSUFJUUVDQURJQUUyQWh3Z0FTSUNEUUFMQ3lBREtBSWtJZ0lFUUNBQ0tBSUVJZ1ZCQUVvRVFFRUFJUUVEUUNBQ0tBSUFJQUZCREd4cUlnUW9BZ2dpQmdSQUlBUW9BZ1FnQmhFQ0FDQUNLQUlFSVFVTElBRkJBV29pQVNBRlNBMEFDd3NnQWlnQ0FCQVFJQUlRRUFzZ0F4QVFDeUFBUVFBMkF0UUJJQUFRRUFzTDVnTUNDSDhFZmlBQUtBSVVLQUlBS0FJVUlBRkJ6QUJzYWlJSktBSU1JZ2dnQUNnQ0dDZ0NHQ0FCUVRSc2FpSUtOUUlFSWhCQ0FYMGlFaUFBTlFJOGZDQVFnS2NpQ3lBSUlBdEpHeUVNSUFrb0FnZ2lDQ0FLTlFJQUloRkNBWDBpRXlBQU5RSTRmQ0FSZ0tjaUNpQUlJQXBKR3lFS0lBa29BZ1FpQ0NBU0lBQTFBalI4SUJDQXB5SUxJQWdnQzBzYklRc2dDU2dDQUNJSUlCTWdBRFVDTUh3Z0VZQ25JZzBnQ0NBTlN4c2hEVUVBSVFnZ0FDZ0NJQ2dDMENzZ0FVRzRDR3hxS0FJVUlRNENRQ0FKS0FJVVFRQWdBbXRCZnlBQ0cyb2lBa1VFUUNBS0lRQWdEU0VJSUFzaEFRd0JDeUFEUVFGeElBSkJBV3NpRDNRaUNTQU5TUVJBSUEwZ0NXdXRRbjhnQXEwaUVJWkNmNFY4SUJDSXB5RUlDMEVBSVFCQkFDRUJJQU5CQVhZZ0QzUWlBeUFMU1FSQUlBc2dBMnV0UW44Z0FxMGlFSVpDZjRWOElCQ0lweUVCQ3lBSklBcEpCRUFnQ2lBSmE2MUNmeUFDclNJUWhrSi9oWHdnRUlpbklRQUxJQU1nREU4RVFFRUFJUXdNQVFzZ0RDQURhNjFDZnlBQ3JTSVFoa0ovaFh3Z0VJaW5JUXdMUVg4Z0FFRUNRUU1nRGtFQlJoc2lBbW9pQXlBQUlBTkxHeUFFUzBGL0lBSWdER29pQUNBQUlBeEpHeUFGUzNFZ0NDQUNheUlBUVFBZ0FDQUlUUnNnQmtseElBRWdBbXNpQUVFQUlBQWdBVTBiSUFkSmNRdWlBUUVHZnlBQUJFQWdBQ2dDQkNJQ0JFQWdBaEFRSUFCQkFEWUNCQXNnQVFSQUlBQWhBZ05BSUFJb0FzZ0JJZ01FUUVFQUlRVWdBaWdDeEFFaUJBUi9BMEFnQXlnQ0RDSUdCRUFnQmhBUUlBTkJBRFlDRENBQ0tBTEVBU0VFQ3lBRFFSQnFJUU1nQlVFQmFpSUZJQVJKRFFBTElBSW9Bc2dCQlNBREN4QVFJQUpCQURZQ3lBRUxJQUpCOEFGcUlRSWdCMEVCYWlJSElBRkhEUUFMQ3lBQUVCQUxDOVVaQWhOL0Ezc2dBQ2dDQUNJS0lBQW9BZ3dpRFVFRmRDSUZhaUVHSUFvZ0JXc2hGaUFBS0FJUUlRVWdBQ2dDSENFTElBQW9BaFFoQ1NBQUtBSUlJUTRDUUFKQUFrQUNRQ0FEUVFoSkRRQWdBVUVQY1EwQUlBWkJEM0ZGRFFFTElBVWdDVThOQWdKQUFrQWdBMEVCYXc0Q0FBRURDd0pBSUFrZ0JXc2lDRUVZU1EwQUlBRWdCVUVDZEdvaEJ5QU5RUVYwSWdRZ0NpQUZRUVowYW1vZ0FTQUpRUUowYWtrRVFDQUhJQW9nQ1VFR2RHb2dCR3BCUEd0SkRRRUxJQVg5RWYwTUFBQUFBQUVBQUFBQ0FBQUFBd0FBQVAydUFTRVlJQVVnQ0VGOGNTSVBhaUVGUVFBaEJBTkFJQVlnR0VFRS9hc0JJaGY5R3dCQkFuUnFJQWNnQkVFQ2RHcjlBQUlBSWhuOUh3QTRBZ0FnQmlBWC9Sc0JRUUowYWlBWi9SOEJPQUlBSUFZZ0YvMGJBa0VDZEdvZ0dmMGZBamdDQUNBR0lCZjlHd05CQW5ScUlCbjlId000QWdBZ0dQME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0VZSUFSQkJHb2lCQ0FQUncwQUN5QUlJQTlHRFFRTElBVWhCQ0FKSUFWclFRTnhJZ2NFUUVFQUlRZ0RRQ0FHSUFSQkJuUnFJQUVnQkVFQ2RHb3FBZ0E0QWdBZ0JFRUJhaUVFSUFoQkFXb2lDQ0FIUncwQUN3c2dCU0FKYTBGOFN3MERBMEFnQmlBRVFRWjBhaUFCSUFSQkFuUnFLZ0lBT0FJQUlBWWdCRUVCYWlJRlFRWjBhaUFCSUFWQkFuUnFLZ0lBT0FJQUlBWWdCRUVDYWlJRlFRWjBhaUFCSUFWQkFuUnFLZ0lBT0FJQUlBWWdCRUVEYWlJRlFRWjBhaUFCSUFWQkFuUnFLZ0lBT0FJQUlBUkJCR29pQkNBSlJ3MEFDd3dEQ3lBQklBSkJBblJxSVFnQ1FDQUpJQVZySWc5QlBFa0VRQ0FGSVFRTUFRc2dDaUFGUVFaMElBMUJCWFJxYWlJRUlBa2dCVUYvYzJvaUIwRUdkQ0lRYWlBRVNRUkFJQVVoQkF3QkN5QUVRUVJxSWdRZ0VHb2dCRWtFUUNBRklRUU1BUXNnQjBILy8vOGZTd1JBSUFVaEJBd0JDeUFOUVFWMElnUWdDaUFGUVFaMGFtb2lCeUFCSUFJZ0NXcEJBblJxU1NBS0lBbEJCblJxSUFScVFUaHJJZ1FnQVNBQ0lBVnFRUUowYWt0eEJFQWdCU0VFREFFTElBY2dBU0FKUVFKMGFra2dBU0FGUVFKMGFpQUVTWEVFUUNBRklRUU1BUXNnQmYwUi9Rd0FBQUFBQVFBQUFBSUFBQUFEQUFBQS9hNEJJUmdnQlNBUFFYeHhJaEJxSVFSQkFDRUhBMEFnQmlBWVFRVDlxd0VpRi8wYkFFRUNkR29pRVNBQklBVWdCMnBCQW5RaURHcjlBQUlBSWhuOUh3QTRBZ0FnQmlBWC9Sc0JRUUowYWlJVElCbjlId0U0QWdBZ0JpQVgvUnNDUVFKMGFpSVVJQm45SHdJNEFnQWdCaUFYL1JzRFFRSjBhaUlWSUJuOUh3TTRBZ0FnRVNBSUlBeHEvUUFDQUNJWC9SOEFPQUlFSUJNZ0YvMGZBVGdDQkNBVUlCZjlId0k0QWdRZ0ZTQVgvUjhET0FJRUlCajlEQVFBQUFBRUFBQUFCQUFBQUFRQUFBRDlyZ0VoR0NBSFFRUnFJZ2NnRUVjTkFBc2dEeUFRUmcwREN5QUVRUUZxSVFVZ0NTQUVhMEVCY1FSQUlBWWdCRUVHZEdvaUJ5QUJJQVJCQW5RaUJHb3FBZ0E0QWdBZ0J5QUVJQWhxS2dJQU9BSUVJQVVoQkFzZ0JTQUpSZzBDQTBBZ0JpQUVRUVowYWlJRklBRWdCRUVDZENJSGFpb0NBRGdDQUNBRklBY2dDR29xQWdBNEFnUWdCaUFFUVFGcUlnVkJCblJxSWdjZ0FTQUZRUUowSWdWcUtnSUFPQUlBSUFjZ0JTQUlhaW9DQURnQ0JDQUVRUUpxSWdRZ0NVY05BQXNNQWdzZ0JTQUpUdzBCSUFFZ0FrRUNkR29oQ0FOQUlBWWdCVUVHZEdvaUJDQUJJQVZCQW5ScUtnSUFPQUlBSUFRZ0FTQUNJQVZxSWdkQkFuUnFLZ0lBT0FJRUlBUWdBU0FDSUFkcUlnZEJBblJxS2dJQU9BSUlJQVFnQVNBQ0lBZHFJZ2RCQW5ScUtnSUFPQUlNSUFRZ0FTQUNJQWRxSWdkQkFuUnFLZ0lBT0FJUUlBUWdBU0FDSUFkcUlnZEJBblJxS2dJQU9BSVVJQVFnQVNBQ0lBZHFRUUowSWdkcUtnSUFPQUlZSUFRZ0J5QUlhaW9DQURnQ0hDQUZRUUZxSWdVZ0NVY05BQXNNQVFzZ0FTQUNRUUowYWlFSUlBTkJBMFloQnlBRFFRUkdJUThnQTBFRlJpRVFJQU5CQjBZaEVRTkFJQVlnQlVFR2RHb2lCQ0FCSUFWQkFuUnFLZ0lBT0FJQUlBUWdBU0FDSUFWcUlneEJBblJxS2dJQU9BSUVJQVFnQVNBQ0lBeHFJZ3hCQW5ScUtnSUFPQUlJQWtBZ0J3MEFJQVFnQVNBQ0lBeHFJZ3hCQW5ScUtnSUFPQUlNSUE4TkFDQUVJQUVnQWlBTWFpSU1RUUowYWlvQ0FEZ0NFQ0FRRFFBZ0JDQUJJQUlnREdvaURFRUNkR29xQWdBNEFoUWdBMEVHUmcwQUlBUWdBU0FDSUF4cVFRSjBJZ3hxS2dJQU9BSVlJQkVOQUNBRUlBZ2dER29xQWdBNEFod0xJQVZCQVdvaUJTQUpSdzBBQ3dzZ0ZrRWdhaUVHSUFFZ0RrRUNkR29oQkNBQUtBSVlJUVVDUUFKQUFrQWdBMEVJU1EwQUlBUkJEM0VOQUNBR1FROXhSUTBCQ3lBRklBdFBEUUVDUUFKQUFrQWdBMEVCYXc0Q0FBRUNDd0pBSUFzZ0JXc2lBRUVjU1EwQUlBb2dCVUVHZEVFZ2NpQU5RUVYwSWdKcmFpQUJJQXNnRG1wQkFuUnFTUVJBSUFFZ0JTQU9ha0VDZEdvZ0MwRUdkQ0FDYXlBS2FrRWNhMGtOQVFzZ0JDQUZRUUowYWlFRElBWDlFZjBNQUFBQUFBRUFBQUFDQUFBQUF3QUFBUDJ1QVNFWUlBVWdBRUY4Y1NJQmFpRUZRUUFoQWdOQUlBWWdHRUVFL2FzQkloZjlHd0JCQW5ScUlBTWdBa0VDZEdyOUFBSUFJaG45SHdBNEFnQWdCaUFYL1JzQlFRSjBhaUFaL1I4Qk9BSUFJQVlnRi8wYkFrRUNkR29nR2YwZkFqZ0NBQ0FHSUJmOUd3TkJBblJxSUJuOUh3TTRBZ0FnR1AwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRVlJQUpCQkdvaUFpQUJSdzBBQ3lBQUlBRkdEUVFMSUFVaEFpQUxJQVZyUVFOeElnQUVRRUVBSVFFRFFDQUdJQUpCQm5ScUlBUWdBa0VDZEdvcUFnQTRBZ0FnQWtFQmFpRUNJQUZCQVdvaUFTQUFSdzBBQ3dzZ0JTQUxhMEY4U3cwREEwQWdCaUFDUVFaMGFpQUVJQUpCQW5ScUtnSUFPQUlBSUFZZ0FrRUJhaUlBUVFaMGFpQUVJQUJCQW5ScUtnSUFPQUlBSUFZZ0FrRUNhaUlBUVFaMGFpQUVJQUJCQW5ScUtnSUFPQUlBSUFZZ0FrRURhaUlBUVFaMGFpQUVJQUJCQW5ScUtnSUFPQUlBSUFKQkJHb2lBaUFMUncwQUN3d0RDeUFFSUFKQkFuUnFJUU1DUUNBTElBVnJJZ0JCeEFCSkJFQWdCU0VDREFFTElBb2dCVUVHZENJSlFTQnlJQTFCQlhRaUNHdHFJZ2NnQ3lBRlFYOXphaUlQUVFaMEloQnFJQWRKQkVBZ0JTRUNEQUVMSUFvZ0NVRWtjaUFJYTJvaUNTQVFhaUFKU1FSQUlBVWhBZ3dCQ3lBUFFmLy8veDlMQkVBZ0JTRUNEQUVMSUFvZ0JVRUdkRUVnY2lBTlFRVjBJZ2xyYWlJTklBRWdDeUFPYWlJSUlBSnFRUUowYWtrZ0MwRUdkQ0FKYXlBS2FrRVlheUlKSUFFZ0RrRUNkR29nQlVFQ2RHb2lDaUFDUVFKMGFrdHhCRUFnQlNFQ0RBRUxJQTBnQVNBSVFRSjBha2tnQ1NBS1MzRUVRQ0FGSVFJTUFRc2dCZjBSL1F3QUFBQUFBUUFBQUFJQUFBQURBQUFBL2E0QklSZ2dCU0FBUVh4eElnbHFJUUpCQUNFQkEwQWdCaUFZUVFUOXF3RWlGLzBiQUVFQ2RHb2lDaUFFSUFFZ0JXcEJBblFpRFdyOUFBSUFJaG45SHdBNEFnQWdCaUFYL1JzQlFRSjBhaUlPSUJuOUh3RTRBZ0FnQmlBWC9Sc0NRUUowYWlJSUlCbjlId0k0QWdBZ0JpQVgvUnNEUVFKMGFpSUhJQm45SHdNNEFnQWdDaUFESUExcS9RQUNBQ0lYL1I4QU9BSUVJQTRnRi8wZkFUZ0NCQ0FJSUJmOUh3STRBZ1FnQnlBWC9SOERPQUlFSUJqOURBUUFBQUFFQUFBQUJBQUFBQVFBQUFEOXJnRWhHQ0FCUVFScUlnRWdDVWNOQUFzZ0FDQUpSZzBEQ3lBQ1FRRnFJUUFnQ3lBQ2EwRUJjUVJBSUFZZ0FrRUdkR29pQVNBRUlBSkJBblFpQW1vcUFnQTRBZ0FnQVNBQ0lBTnFLZ0lBT0FJRUlBQWhBZ3NnQUNBTFJnMENBMEFnQmlBQ1FRWjBhaUlBSUFRZ0FrRUNkQ0lCYWlvQ0FEZ0NBQ0FBSUFFZ0Eyb3FBZ0E0QWdRZ0JpQUNRUUZxSWdCQkJuUnFJZ0VnQkNBQVFRSjBJZ0JxS2dJQU9BSUFJQUVnQUNBRGFpb0NBRGdDQkNBQ1FRSnFJZ0lnQzBjTkFBc01BZ3NnQkNBQ1FRSjBhaUVCSUFOQkEwWWhDU0FEUVFSR0lRb2dBMEVGUmlFTklBTkJCMFloRGdOQUlBWWdCVUVHZEdvaUFDQUVJQVZCQW5ScUtnSUFPQUlBSUFBZ0JDQUNJQVZxSWdoQkFuUnFLZ0lBT0FJRUlBQWdCQ0FDSUFocUlnaEJBblJxS2dJQU9BSUlBa0FnQ1EwQUlBQWdCQ0FDSUFocUlnaEJBblJxS2dJQU9BSU1JQW9OQUNBQUlBUWdBaUFJYWlJSVFRSjBhaW9DQURnQ0VDQU5EUUFnQUNBRUlBSWdDR29pQ0VFQ2RHb3FBZ0E0QWhRZ0EwRUdSZzBBSUFBZ0JDQUNJQWhxUVFKMElnaHFLZ0lBT0FJWUlBNE5BQ0FBSUFFZ0NHb3FBZ0E0QWh3TElBVkJBV29pQlNBTFJ3MEFDd3dCQ3lBRklBdFBEUUFnQkNBQ1FRSjBhaUVCQTBBZ0JpQUZRUVowYWlJQUlBUWdCVUVDZEdvcUFnQTRBZ0FnQUNBRUlBSWdCV29pQTBFQ2RHb3FBZ0E0QWdRZ0FDQUVJQUlnQTJvaUEwRUNkR29xQWdBNEFnZ2dBQ0FFSUFJZ0Eyb2lBMEVDZEdvcUFnQTRBZ3dnQUNBRUlBSWdBMm9pQTBFQ2RHb3FBZ0E0QWhBZ0FDQUVJQUlnQTJvaUEwRUNkR29xQWdBNEFoUWdBQ0FFSUFJZ0EycEJBblFpQTJvcUFnQTRBaGdnQUNBQklBTnFLZ0lBT0FJY0lBVkJBV29pQlNBTFJ3MEFDd3NMbXdNQkJIOGdBU0FBUVFScUlnUnFRUUZyUVFBZ0FXdHhJZ1VnQW1vZ0FDQUFLQUlBSWdGcVFRUnJUUVIvSUFBb0FnUWlBeUFBS0FJSUlnWTJBZ2dnQmlBRE5nSUVJQVFnQlVjRVFDQUFJQUJCQkdzb0FnQkJmbkZySWdNZ0JTQUVheUlFSUFNb0FnQnFJZ1UyQWdBZ0F5QUZRWHh4YWtFRWF5QUZOZ0lBSUFBZ0JHb2lBQ0FCSUFScklnRTJBZ0FMQW44Z0FTQUNRUmhxVHdSQUlBQWdBbXBCQ0dvaUF5QUJJQUpyUVFocklnRTJBZ0FnQXlBQlFYeHhha0VFYXlBQlFRRnlOZ0lBSUFNQ2Z5QURLQUlBUVFocklnRkIvd0JOQkVBZ0FVRURka0VCYXd3QkN5QUJaeUVFSUFGQkhTQUVhM1pCQkhNZ0JFRUNkR3RCN2dCcUlBRkIveDlORFFBYVFUOGdBVUVlSUFScmRrRUNjeUFFUVFGMGEwSEhBR29pQVNBQlFUOVBHd3NpQVVFRWRDSUVRYURIQVdvMkFnUWdBeUFFUWFqSEFXb2lCQ2dDQURZQ0NDQUVJQU0yQWdBZ0F5Z0NDQ0FETmdJRVFhalBBVUdvendFcEF3QkNBU0FCcllhRU53TUFJQUFnQWtFSWFpSUJOZ0lBSUFBZ0FVRjhjV29NQVFzZ0FDQUJhZ3RCQkdzZ0FUWUNBQ0FBUVFScUJVRUFDd3ZDQVFFRGZ3SkFJQUVnQWlnQ0VDSURCSDhnQXdVZ0FoQStEUUVnQWlnQ0VBc2dBaWdDRkNJRWEwc0VRQ0FDSUFBZ0FTQUNLQUlrRVFBQUR3c0NRQUpBSUFJb0FsQkJBRWdOQUNBQlJRMEFJQUVoQXdOQUlBQWdBMm9pQlVFQmF5MEFBRUVLUndSQUlBTkJBV3NpQXcwQkRBSUxDeUFDSUFBZ0F5QUNLQUlrRVFBQUlnUWdBMGtOQWlBQklBTnJJUUVnQWlnQ0ZDRUVEQUVMSUFBaEJVRUFJUU1MSUFRZ0JTQUJFQklhSUFJZ0FpZ0NGQ0FCYWpZQ0ZDQUJJQU5xSVFRTElBUUxXUUVCZnlBQUlBQW9Ba2dpQVVFQmF5QUJjallDU0NBQUtBSUFJZ0ZCQ0hFRVFDQUFJQUZCSUhJMkFnQkJmdzhMSUFCQ0FEY0NCQ0FBSUFBb0Fpd2lBVFlDSENBQUlBRTJBaFFnQUNBQklBQW9BakJxTmdJUVFRQUx6QUlCQkg4Z0FTQUEvUUFDQVAwTEFnQWdBU2dDR0NJQ0JFQWdBU2dDRUNJREJIOUJBQ0VDQTBBZ0FTZ0NHQ0FDUVRSc2FpZ0NMQ0lFQkVBZ0JCQVFJQUVvQWhBaEF3c2dBa0VCYWlJQ0lBTkpEUUFMSUFFb0FoZ0ZJQUlMRUJBZ0FVRUFOZ0lZQ3lBQklBQW9BaEFpQWpZQ0VDQUJJQUpCTkd3UUZDSUNOZ0lZSUFJRVFDQUJLQUlRQkVCQkFDRURBMEFnQWlBRFFUUnNJZ1ZxSWdJZ0FDZ0NHQ0FGYWlJRS9RQUNBUDBMQWdBZ0FpQUVLQUl3TmdJd0lBSWdCUDBBQWlEOUN3SWdJQUlnQlAwQUFoRDlDd0lRSUFFb0FoZ2lBaUFGYWtFQU5nSXNJQU5CQVdvaUF5QUJLQUlRU1EwQUN3c2dBU0FBS0FJVU5nSVVJQUVnQUNnQ0lDSUNOZ0lnSUFJRVFDQUJJQUlRRkNJQ05nSWNJQUpGQkVBZ0FVSUFOd0ljRHdzZ0FpQUFLQUljSUFBb0FpQVFFaG9QQ3lBQlFRQTJBaHdQQ3lBQlFRQTJBaEFnQVVFQU5nSVlDd1FBUVFFTHhnRUJBMzhEUUNBQVFRUjBJZ0ZCcE1jQmFpQUJRYURIQVdvaUFqWUNBQ0FCUWFqSEFXb2dBallDQUNBQVFRRnFJZ0JCd0FCSERRQUxRVEFRYlJvakFFRVFheUlBSkFBQ1FDQUFRUXhxSUFCQkNHb1FEQTBBUWJEUEFVRUlJQUFvQWd4QkFuUkJCR29RSlNJQk5nSUFJQUZGRFFCQkNDQUFLQUlJRUNVaUFRUkFRYkRQQVNnQ0FDSUNJQUFvQWd4QkFuUnFRUUEyQWdBZ0FpQUJFQXRGRFFFTFFiRFBBVUVBTmdJQUN5QUFRUkJxSkFCQnpNOEJRU28yQWdCQmxOQUJRZGpRQVRZQ0FBdVFCZ0lGZndON0l3QkJFR3NpQmlRQUFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2hBQUpBSUFNb0FnQWlCVVVFUUVFQUlRSWdCRUVCUWNBVFFRQVFEd3dCQ3lBQUtBTFFLeUVKSUFNZ0JVRUJhellDQUNBQ0lBWkJER3BCQVJBUklBa2dBVUc0Q0d4cUlnY2dCaWdDRENJQVFRVjJOZ0trQmlBSElBQkJIM0VpQVRZQ0dDQUNRUUZxSVFBZ0F3Si9BbjhDUUFKL0FrQUNRQ0FCRGdJQUF3RUxJQU1vQWdBTUFRc2dBeWdDQUVFQmRnc2lCVUhpQUU4RWZ5QUdRdUdBZ0lDUUREY0NCQ0FHSUFVMkFnQWdCRUVDUWNYNEFDQUdFQThnQnlnQ0dBVWdBUXNFUUNBRklnRU5BVUVBREFJTElBVUVRQ0FIUVJ4cUlRRkJBQ0VDQTBBZ0FDQUdRUXhxUVFFUUVTQUNRZUFBVFFSQUlBWW9BZ3doQkNBQklBSkJBM1JxSWdoQkFEWUNCQ0FJSUFSQkEzWTJBZ0FMSUFCQkFXb2hBQ0FDUVFGcUlnSWdCVWNOQUFzTFFRQWhBaUFES0FJQUlnQWdCVWtOQXlBQUlBVnJEQUlMSUFkQkhHb2hCRUVBSVFJRFFDQUFJQVpCREdwQkFoQVJJQUpCNEFCTkJFQWdCQ0FDUVFOMGFpSUZJQVlvQWd3aUNFSC9EM0UyQWdRZ0JTQUlRUXQyTmdJQUN5QUFRUUpxSVFBZ0FrRUJhaUlDSUFGSERRQUxJQUZCQVhRTElRQkJBQ0VDSUFNb0FnQWlBU0FBU1EwQklBRWdBR3NMTmdJQVFRRWhBaUFIS0FJWVFRRkhEUUFnQjBFY2FpRUVJQWY5Q1FJY0lRd2dCeWdDSUNFRC9Rd0JBQUFBQWdBQUFBTUFBQUFFQUFBQUlRdEJBQ0VCQTBBZ0JDQUJRUU4wYWlJQVFSaHFJQXdnQy8wTS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8ydUFTSUsvUnNBUVFOdS9SRWdDdjBiQVVFRGJ2MGNBU0FLL1JzQ1FRTnUvUndDSUFyOUd3TkJBMjc5SEFQOXNRSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDl1QUVpQ3YxYUFnQUNJQUJCRUdvZ0N2MWFBZ0FCSUFCQkNHb2dDdjFhQWdBQUlBUWdBVUVFYWlJQlFRTjBhaUlGSUFyOVdnSUFBeUFBSUFNMkFod2dBQ0FETmdJVUlBQWdBellDRENBRklBTTJBZ1FnQy8wTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRUxJQUZCNEFCSERRQUxDeUFHUVJCcUpBQWdBZ3VmQmdFR2Z5TUFRU0JySWdZa0FBSi9JQUFvQWdoQkVFWUVRQ0FBS0FLY0FTQUFLQUxNQVVHTUxHeHFEQUVMSUFBb0Fnd0xJUVVDUUNBREtBSUFRUVJOQkVCQkFDRUFJQVJCQVVHZEUwRUFFQThNQVFzZ0FpQUZLQUxRS3lBQlFiZ0liR29pQlNJSlFRUnFRUUVRRVNBRklBVW9BZ1JCQVdvaUJ6WUNCQ0FIUVNKUEJFQWdCa0VoTmdJRUlBWWdCellDQUNBRVFRRkIrVGtnQmhBUFFRQWhBQXdCQ3lBSElBQW9BcUFCSWdoTkJFQWdCaUFITmdJWUlBWWdDRFlDRkNBR0lBRTJBaEFnQkVFQlFiVDdBQ0FHUVJCcUVBOGdBQ0FBS0FJSVFZQ0FBbkkyQWdoQkFDRUFEQUVMSUFKQkFXb2dCVUVJYWtFQkVCRWdCU0FGS0FJSVFRSnFOZ0lJSUFKQkFtb2dCVUVNYWtFQkVCRWdCU0FGS0FJTVFRSnFJZ0EyQWd3Q1FBSkFJQVVvQWdnaUFVRUtTdzBBSUFCQkNrc05BQ0FBSUFGcVFRMUpEUUVMUVFBaEFDQUVRUUZCd3lsQkFCQVBEQUVMSUFKQkEyb2dCVUVRYWtFQkVCRWdCUzBBRUVHQUFYRUVRRUVBSVFBZ0JFRUJRWXN5UVFBUUR3d0JDeUFDUVFScUlBVkJGR3BCQVJBUklBVW9BaFJCQWs4RVFFRUFJUUFnQkVFQlFjb3hRUUFRRHd3QkN5QURJQU1vQWdCQkJXc2lCellDQUVFQklRQWdCU2dDQkNFQklBVXRBQUJCQVhGRkJFQWdBVVVOQVNBRlFiQUhhaUVCSUFWQnJBWnFJUUpCQUNFRkEwQWdBaUFGUVFKMElnQnFRUTgyQWdBZ0FDQUJha0VQTmdJQVFRRWhBQ0FGUVFGcUlnVWdDU2dDQkVrTkFBc01BUXNnQVNBSFRRUkFBa0FnQVVVRVFFRUFJUUVNQVFzZ0FrRUZhaUFHUVJ4cVFRRVFFU0FGSUFZb0Fod2lBRUVFZGpZQ3NBY2dCU0FBUVE5eE5nS3NCaUFGS0FJRUlnRkJBazhFUUNBRlFiQUhhaUVISUFWQnJBWnFJUWdnQWtFR2FpRUFRUUVoQlFOQUlBQWdCa0VjYWtFQkVCRUNRQ0FHS0FJY0lnRkJFRThFUUNBQlFROXhJZ0lOQVF0QkFDRUFJQVJCQVVId0xVRUFFQThNQlFzZ0NDQUZRUUowSWdwcUlBSTJBZ0FnQnlBS2FpQUJRUVIyTmdJQUlBQkJBV29oQUNBRlFRRnFJZ1VnQ1NnQ0JDSUJTUTBBQ3dzZ0F5Z0NBQ0VIQ3lBRElBY2dBV3MyQWdCQkFTRUFEQUVMUVFBaEFDQUVRUUZCblJOQkFCQVBDeUFHUVNCcUpBQWdBQXRTQUNBQklBQXRBQUE2QUFjZ0FTQUFMUUFCT2dBR0lBRWdBQzBBQWpvQUJTQUJJQUF0QUFNNkFBUWdBU0FBTFFBRU9nQURJQUVnQUMwQUJUb0FBaUFCSUFBdEFBWTZBQUVnQVNBQUxRQUhPZ0FBQzVJQkFRUi9JQUFnQVRZQ29BRUNRQ0FBS0FKSUlnTkZEUUFnQXlnQ0dDSUdSUTBBSUFBb0Fnd2lCRVVOQUNBRUtBTFFLMFVOQUNBREtBSVFJZ1JGQkVCQkFROExRUUFoQXdOQUlBRWdBQ2dDRENnQzBDc2dBMEc0Q0d4cUtBSUVUd1JBSUFKQkFVR2l4UUJCQUJBUFFRQVBDeUFHSUFOQk5HeHFJQUUyQWloQkFTRUZJQU5CQVdvaUF5QUVSdzBBQ3dzZ0JRdXNCd0lKZndoK0l3QkJFR3NpQ2lRQUFrQWdBa1VFUUNBRFFRRkIrdFVBUVFBUUR3d0JDeUFDS0FJUUlnc2dBQ2dDU0NJR0tBSVFTUVJBSUFOQkFVRzF6Z0JCQUJBUERBRUxJQVFnQUNnQ2FDSUZJQUFvQW14c0lnZFBCRUFnQ2lBRU5nSUFJQW9nQjBFQmF6WUNCQ0FEUVFGQjkvb0FJQW9RRDBFQUlRVU1BUXNnQWlBQUtBSlVJQVFnQlNBRUlBVnVJZ2RzYXlJSUlBQW9BbHhzYWlJRk5nSUFJQUlnQlNBR0tBSUFJZ1lnQlNBR1N4c2lCallDQUNBQ0lBQW9BbFFnQUNnQ1hDQUlRUUZxYkdvaUJUWUNDQ0FDSUFVZ0FDZ0NTQ2dDQ0NJSUlBVWdDRWtiSWdnMkFnZ2dBaUFBS0FKWUlBQW9BbUFnQjJ4cUlnVTJBZ1FnQWlBRklBQW9Ba2dvQWdRaUNTQUZJQWxMR3lJSk5nSUVJQUlnQUNnQ1dDQUFLQUpnSUFkQkFXcHNhaUlGTmdJTUlBSWdCU0FBS0FKSUtBSU1JZ2NnQlNBSFNSc2lCVFlDRENBQUtBSklJZ3dvQWhBaUJ3UkFJQVdzUWdGOUlSRWdDS3hDQVgwaEVpQUpyVUlCZlNFVElBYXRRZ0Y5SVJRZ0RDZ0NHQ0VJSUFJb0FoZ2hCVUVBSVFZRFFDQUZJQWdnQmtFMGJHb29BaWdpQ1RZQ0tDQUZJQlFnQlNnQ0FDSU1yU0lPZkNBT2dDSVZQZ0lRSUFVZ0V5QUZLQUlFSWcydElnNThJQTZBSWhBK0FoUWdCVUovSUFtdElnNkdJZzhnRU1SOUlBNkhweUFQSUJFZ0Rhd2lFSHdnRUgvRWZTQU9oNmRyTmdJTUlBVWdEeUFWeEgwZ0RvZW5JQThnRWlBTXJDSVBmQ0FQZjhSOUlBNkhwMnMyQWdnZ0JVRTBhaUVGSUFaQkFXb2lCaUFIUncwQUN3c2dCeUFMU1FSQUlBSW9BaGdoQlFOQUlBVWdCMEUwYkNJR2FpZ0NMQkFRSUFJb0FoZ2lCU0FHYWtFQU5nSXNJQWRCQVdvaUJ5QUNLQUlRU1EwQUN5QUNJQUFvQWtnb0FoQTJBaEFMSUFBb0Frd2lCUVJBSUFVUUlRc2dBRUVCUVNRUUV5SUhOZ0pNUVFBaEJTQUhSUTBBSUFJZ0J4QS9JQUFnQkRZQ0xDQUFLQUxBQVVFWElBTVFKRVVOQUNBQUtBTEFBU0lFS0FJQUlRWWdCQ2dDQ0NFSEFrQWdCZ1JBUVFFaEJTQUdRUUZ4SVFzZ0JrRUJSZ1IvUVFBRklBWkJmbkVoQ0VFQUlRWURRQUovUVFBZ0JVVU5BQnBCQUNBQUlBRWdBeUFIS0FJQUVRQUFSUTBBR2lBQUlBRWdBeUFIS0FJRUVRQUFRUUJIQ3lFRklBZEJDR29oQnlBR1FRSnFJZ1lnQ0VjTkFBc2dCVUVCY3dzaEJnSkFBa0FnQ3dSQUlBWU5BU0FBSUFFZ0F5QUhLQUlBRVFBQVFRQkhJUVVMSUFSQkFEWUNBQ0FGUVFGeFJRMEJEQU1MSUFSQkFEWUNBQXNnQUNnQ1NCQWhRUUFoQlNBQVFRQTJBa2dNQWdzZ0JFRUFOZ0lBQ3lBQUlBSVFSeUVGQ3lBS1FSQnFKQUFnQlF2eUF3RUZmd0pBQWtBZ0FDZ0NQQ0lDUlFSQUlBRW9BaEFOQVVFQkR3c2dBa0UwYkJBVUlnVkZEUUVnQVNnQ0VBUkFJQUVvQWhnaEFnTkFJQUlnQTBFMGJDSUVhaWdDTEJBUUlBRW9BaGdpQWlBRWFrRUFOZ0lzSUFOQkFXb2lBeUFCS0FJUUlnUkpEUUFMQ3lBQklBQW9BandFZnlBQUtBSk1LQUlZSVFOQkFDRUNBMEFnQlNBQ1FUUnNhaUlFSUFNZ0FDZ0NRQ0FDUVFKMGFpZ0NBRUUwYkNJR2FpSUQvUUFDQVAwTEFnQWdCQ0FES0FJd05nSXdJQVFnQS8wQUFpRDlDd0lnSUFRZ0EvMEFBaEQ5Q3dJUUlBUWdBQ2dDVENnQ0dDSURJQVpxSWdZb0FpUTJBaVFnQkNBR0tBSXNOZ0lzSUFaQkFEWUNMQ0FDUVFGcUlnSWdBQ2dDUENJR1NRMEFDeUFCS0FJUUJTQUVDd1IvSUFBb0Frd29BaGdoQWtFQUlRTURRQ0FDSUFOQk5Hd2lCR29vQWl3UUVDQUFLQUpNS0FJWUlnSWdCR3BCQURZQ0xDQURRUUZxSWdNZ0FTZ0NFRWtOQUFzZ0FDZ0NQQVVnQmdzMkFoQWdBU2dDR0JBUUlBRWdCVFlDR0VFQkR3c2dBU2dDR0NFRUlBQW9Ba3dvQWhnaEEwRUFJUUlEUUNBRUlBSkJOR3dpQldvaUJDQURJQVZxS0FJa05nSWtJQVFvQWl3UUVDQUJLQUlZSWdRZ0JXb2dBQ2dDVENnQ0dDSURJQVZxSWdVb0FpdzJBaXdnQlVFQU5nSXNJQUpCQVdvaUFpQUJLQUlRU1EwQUMwRUJEd3NnQUNnQ1NCQWhJQUJCQURZQ1NFRUFDODRFQVFoL0FrQWdBa1VOQUFKQUlBQW9BcUFCSWdWRkRRQWdBQ2dDU0NJRVJRMEFJQVFvQWhCRkRRQWdCQ2dDR0NnQ0tDQUZSdzBBSUFJb0FoQWlDRVVOQUNBQ0tBSVlJZ1lvQWlnTkFDQUdLQUlzRFFCQkFDRUVJQWhCQ0U4RVFDQUlRWGh4SVFrRFFDQUdJQVJCTkd4cUlBVTJBaWdnQmlBRVFRRnlRVFJzYWlBRk5nSW9JQVlnQkVFQ2NrRTBiR29nQlRZQ0tDQUdJQVJCQTNKQk5HeHFJQVUyQWlnZ0JpQUVRUVJ5UVRSc2FpQUZOZ0lvSUFZZ0JFRUZja0UwYkdvZ0JUWUNLQ0FHSUFSQkJuSkJOR3hxSUFVMkFpZ2dCaUFFUVFkeVFUUnNhaUFGTmdJb0lBUkJDR29oQkNBS1FRaHFJZ29nQ1VjTkFBc0xJQWhCQjNFaUNBUkFBMEFnQmlBRVFUUnNhaUFGTmdJb0lBUkJBV29oQkNBTFFRRnFJZ3NnQ0VjTkFBc0xJQUlnQXhBM0RRQkJBQThMSUFBb0Frd2lCVVVFUUNBQVFRRkJKQkFUSWdVMkFrd2dCVVVOQVFzZ0FpQUZFRDhnQUNnQ3dBRkJGaUFERUNSRkRRQWdBQ2dDd0FFaUJpZ0NBQ0VFSUFZb0FnZ2hCUUpBSUFRRVFFRUJJUWNnQkVFQmNTRUlJQVJCQVVZRWYwRUFCU0FFUVg1eElRbEJBQ0VFQTBBQ2YwRUFJQWRGRFFBYVFRQWdBQ0FCSUFNZ0JTZ0NBQkVBQUVVTkFCb2dBQ0FCSUFNZ0JTZ0NCQkVBQUVFQVJ3c2hCeUFGUVFocUlRVWdCRUVDYWlJRUlBbEhEUUFMSUFkQkFYTUxJUVFDUUFKQUlBZ0VRQ0FFRFFFZ0FDQUJJQU1nQlNnQ0FCRUFBRUVBUnlFSEN5QUdRUUEyQWdBZ0IwRUJjVVVOQVF3REN5QUdRUUEyQWdBTElBQW9Ba2dRSVNBQVFRQTJBa2hCQUE4TElBWkJBRFlDQUFzZ0FDQUNFRWNoQndzZ0J3djRCQUVHZndKQVFRRkJNQkFUSWdJRWZ5QUNJQUFvQXNnQklnSDlBQU1BL1FzREFDQUNJQUVwQXhBM0F4QWdBaUFCS0FJWUlnRTJBaGdnQWlBQlFSaHNFQlFpQVRZQ0hDQUJSUVJBSUFJUUVFRUFEd3NDUUNBQUtBTElBU2dDSENJREJFQWdBU0FESUFJb0FoaEJHR3dRRWhvTUFRc2dBUkFRSUFKQkFEWUNIQXNnQWlBQUtBTElBU2dDSkNJQk5nSWtJQUlnQVVFb0VCTWlBVFlDS0NBQlJRUkFJQUlvQWh3UUVDQUNFQkJCQUE4TEFrQWdBQ2dDeUFFb0FpZ0VRQ0FDS0FJa1JRMEJBMEFnQVNBRlFTaHNJZ05xSUFBb0FzZ0JLQUlvSUFOcUtBSVVJZ0UyQWhRZ0FVRVliQkFVSVFFZ0FpZ0NLQ0lFSUFOcUlnWWdBVFlDR0NBQlJRUkFJQVVFZjBFQUlRRURRQ0FDS0FJb0lBRkJLR3hxS0FJWUVCQWdBVUVCYWlJQklBVkhEUUFMSUFJb0FpZ0ZJQVFMRUJBTUJRc0NRQ0FBS0FMSUFTZ0NLQ0FEYWlnQ0dDSUVCRUFnQVNBRUlBWW9BaFJCR0d3UUVob2dBaWdDS0NFQkRBRUxJQUVRRUNBQ0tBSW9JZ0VnQTJwQkFEWUNHQXNnQVNBRGFpQUFLQUxJQVNnQ0tDQURhaWdDQkNJQk5nSUVJQUZCR0d3UUZDRUJJQUlvQWlnaUJDQURhaUlHSUFFMkFoQWdBVVVFUUNBRkJIOUJBQ0VCQTBBZ0FVRW9iQ0lBSUFJb0FpaHFLQUlZRUJBZ0FpZ0NLQ0FBYWlnQ0VCQVFJQUZCQVdvaUFTQUZSdzBBQ3lBQ0tBSW9CU0FFQ3hBUURBVUxBa0FnQUNnQ3lBRW9BaWdnQTJvb0FoQWlCQVJBSUFFZ0JDQUdLQUlFUVJoc0VCSWFJQUlvQWlnaEFRd0JDeUFCRUJBZ0FpZ0NLQ0lCSUFOcVFRQTJBaEFMSUFFZ0EycENBRGNDSUNBRlFRRnFJZ1VnQWlnQ0pFa05BQXNNQVFzZ0FSQVFJQUpCQURZQ0tBc2dBZ1ZCQUFzUEN5QUNLQUljRUJBZ0FoQVFRUUFMb0FZQ0RuOEJleU1BUVJCcklnZ2tBQ0FBS0FKSUtBSVFJUTBnQ0VFQlFUZ1FFeUlCTmdJTUFrQWdBVVVOQUNBQklBQW9Ba2dvQWhBaUNUWUNHQ0FCSUFEOUFBSlUvUXNDQUNBQklBQW9BbWcyQWhBZ0FDZ0NiQ0VDSUFGQkFEWUNOQ0FCSUFJMkFoUWdBU0FBS0FJTUlnd29BZ0EyQWlBZ0FTQU1LQUlFTmdJa0lBRWdEQ2dDQ0RZQ0tDQUJJQXdvQWhBMkFpd2dBU0FKUWJnSUVCTWlBRFlDTUNBQUJFQWdEUVJBQTBBZ0RrRzRDR3dpQUNBQktBSXdhaUlGSUF3b0F0QXJJQUJxSWdUOUFBSUFJZy85Q3dJRUlBVWdCQ2dDRURZQ0ZDQUZJQVFvQWhRMkFoZ2dELzBiQVNJQVFTQk5CRUFnQlVHMEIyb2dCRUd3QjJvZ0FCQVNHaUFGUWJBR2FpQUVRYXdHYWlBRUtBSUVFQklhQ3lBRklBUW9BaGdpQURZQ0hDQUZJQVFvQXFRR05nS29Ca0VCSVFZQ1FDQUFRUUZIQkVBZ0JDZ0NCRUVEYkNJQVFRTnJRZDhBU3cwQklBQkJBbXNoQmdzZ0JVR2tBMm9oQ1NBRlFTQnFJUW9nQkVFY2FpRUxRUUFoQUFKQUlBWkJDRWtOQUNBRUlBWkJBM1JxUVJ4cUlBcExCRUFnQ3lBRklBWkJBblJxUWFRRGFra05BUXNnQmtGOGNTRUFRUUFoQWdOQUlBb2dBa0VDZENJRGFpQUxJQUpCQTNScUlnZEJIR29nQjBFVWFpQUhRUXhxSUFmOUNRSUUvVllDQUFIOVZnSUFBdjFXQWdBRC9Rc0NBQ0FESUFscUlBZEJHR29nQjBFUWFpQUhRUWhxSUFmOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRC9Rc0NBQ0FDUVFScUlnSWdBRWNOQUFzZ0FDQUdSZzBCQ3lBQVFRRnlJUU1nQmtFQmNRUkFJQW9nQUVFQ2RDSUNhaUFMSUFCQkEzUnFJZ0FvQWdRMkFnQWdBaUFKYWlBQUtBSUFOZ0lBSUFNaEFBc2dBeUFHUmcwQUEwQWdDaUFBUVFKMElnSnFJQXNnQUVFRGRHb2lBeWdDQkRZQ0FDQUNJQWxxSUFNb0FnQTJBZ0FnQ2lBQVFRRnFJZ05CQW5RaUFtb2dDeUFEUVFOMGFpSURLQUlFTmdJQUlBSWdDV29nQXlnQ0FEWUNBQ0FBUVFKcUlnQWdCa2NOQUFzTElBVWdCQ2dDcUFZMkFxd0dJQTVCQVdvaURpQU5SdzBBQ3dzZ0FTRUREQUVMSUFoQkRHb0VRQ0FJS0FJTUlnRW9BakFpQUFSL0lBQVFFQ0FJS0FJTUJTQUJDeEFRSUFoQkFEWUNEQXNMSUFoQkVHb2tBQ0FEQy9rRUFRaC9Jd0JCZ0FKcklnTWtBQ0FBQkVCQi9BeEJFU0FDRUIwZ0F5QUFLQUlBTmdMd0FTQUNRWm9SSUFOQjhBRnFFQllnQXlBQUtBSUVOZ0xnQVNBQ1FhY1JJQU5CNEFGcUVCWWdBeUFBS0FJSU5nTFFBU0FDUVlJM0lBTkIwQUZxRUJZZ0F5QUFLQUlRTmdMQUFTQUNRZjBRSUFOQndBRnFFQllnQVVFQVNnUkFBMEFnQUNnQzBDc2hCQ0FESUFjMkFyQUJJQUpCb2cwZ0EwR3dBV29RRmlBRElBUWdCMEc0Q0d4cUlnUW9BZ0EyQXFBQklBSkJtUkVnQTBHZ0FXb1FGaUFESUFRb0FnUTJBcEFCSUFKQjlEY2dBMEdRQVdvUUZpQURJQVFvQWdnMkFvQUJJQUpCb0RZZ0EwR0FBV29RRmlBRElBUW9BZ3cyQW5BZ0FrR3dOaUFEUWZBQWFoQVdJQU1nQkNnQ0VEWUNZQ0FDUVlnUklBTkI0QUJxRUJZZ0F5QUVLQUlVTmdKUUlBSkJ0amdnQTBIUUFHb1FGa0hWQzBFWElBSVFIU0FFS0FJRUJFQWdCRUd3QjJvaEJpQUVRYXdHYWlFSVFRQWhCUU5BSUFnZ0JVRUNkQ0lKYWlnQ0FDRUtJQU1nQmlBSmFpZ0NBRFlDUkNBRElBbzJBa0FnQWtHTERDQURRVUJyRUJZZ0JVRUJhaUlGSUFRb0FnUkpEUUFMQ3lBQ0VHNGdBeUFFS0FJWU5nSXdJQUpCd0RZZ0EwRXdhaEFXSUFNZ0JDZ0NwQVkyQWlBZ0FrSHhOaUFEUVNCcUVCWkJBU0VHUWUwTFFSUWdBaEFkQWtBZ0JDZ0NHRUVCUndSQUlBUW9BZ1FpQlVFQVRBMEJJQVZCQTJ4QkFtc2hCZ3NnQkVFY2FpRUlRUUFoQlFOQUlBTWdDQ0FGUVFOMGFpa0NBRUlnaVRjREVDQUNRWXNNSUFOQkVHb1FGaUFGUVFGcUlnVWdCa2NOQUFzTElBSVFiaUFESUFRb0FxZ0dOZ0lBSUFKQjREWWdBeEFXUVprTVFRVWdBaEFkSUFkQkFXb2lCeUFCUncwQUN3dEJtZ3hCQkNBQ0VCMExJQU5CZ0FKcUpBQUw1Z29EQ1g4QmV3RitJd0JCc0FGcklnVWtBQUpBSUFGQmdBTnhCRUJCbmkxQkN5QUNFQjBNQVFzQ1FDQUJRUUZ4UlEwQUlBQW9Ba2dpQmtVTkFDTUFRZEFBYXlJREpBQkI3Z3hCRFNBQ0VCMGdBMEVBT2dCUElBTkJDVG9BVGlBRElBWXBBZ0EzQWtRZ0F5QURRYzRBYWlJRU5nSkFJQUpCaGprZ0EwRkFheEFXSUFNZ0Jpa0NDRGNDTkNBRElBUTJBakFnQWtIMU9DQURRVEJxRUJZZ0F5QUdLQUlRTmdJa0lBTWdCRFlDSUNBQ1FaTTNJQU5CSUdvUUZnSkFJQVlvQWhoRkRRQWdCaWdDRUVVTkFBTkFJQU1nQTBIT0FHb2lDallDRUNBRElBYzJBaFFnQWtHT0RTQURRUkJxRUJZZ0JpZ0NHQ0FIUVRSc2FpRUlJd0JCTUdzaUJDUUFJQVJCQ1RzQUxpQUVRUWs2QUMwZ0JDQUlLUUlBTndJa0lBUWdCRUV0YWlJSk5nSWdJQUpCenpZZ0JFRWdhaEFXSUFRZ0NDZ0NHRFlDRkNBRUlBazJBaEFnQWtIRk9DQUVRUkJxRUJZZ0JDQUlLQUlnTmdJRUlBUWdDVFlDQUNBQ1FhbzRJQVFRRmlBRVFUQnFKQUFnQXlBS05nSUFJQUpCbEF3Z0F4QVdJQWRCQVdvaUJ5QUdLQUlRU1EwQUN3dEJuQXhCQWlBQ0VCMGdBMEhRQUdva0FBc0NRQ0FCUVFKeFJRMEFJQUFvQWtoRkRRQkIrUTFCSkNBQ0VCMGdCU0FBS1FKVU53T2dBU0FDUWVjUklBVkJvQUZxRUJZZ0JTQUFLUUpjTndPUUFTQUNRY1VSSUFWQmtBRnFFQllnQlNBQUtRTm9Od09BQVNBQ1FkY1JJQVZCZ0FGcUVCWWdBQ2dDRENBQUtBSklLQUlRSUFJUVMwR2NERUVDSUFJUUhRc0NRQ0FCUVFoeFJRMEFJQUFvQWtoRkRRQWdBQ2dDYUNBQUtBSnNiQ0lFUlEwQUlBQW9BcHdCSVFNRFFDQURJQUFvQWtnb0FoQWdBaEJMSUFOQmpDeHFJUU1nQzBFQmFpSUxJQVJIRFFBTEN5QUJRUkJ4UlEwQUlBQW9Bc2dCSVFGQjB3MUJKU0FDRUIwZ0JTQUIvUUFEQVAwTEJIQWdBa0hKS3lBRlFmQUFhaEFXUWNFTlFSRWdBaEFkQWtBZ0FTZ0NIRVVOQUNBQktBSVlSUTBBUVFBaEF3TkFJQUVvQWh3Z0EwRVliR29pQUM4QkFDRUVJQUFwQXdnaERTQUZJQUFvQWhBMkFtQWdCU0FOTndOWUlBVWdCRFlDVUNBQ1FZczRJQVZCMEFCcUVCWWdBMEVCYWlJRElBRW9BaGhKRFFBTEMwR2FERUVFSUFJUUhRSkFJQUVvQWlnaUJFVU5BQ0FCS0FJa0lnZEZEUUJCQUNFRFFRQWhBQUpBSUFkQkJFOEVRQ0FIUVh4eElRQURRQ0FFSUFOQkEzSkJLR3hxUVFScUlBUWdBMEVDY2tFb2JHcEJCR29nQkNBRFFRRnlRU2hzYWtFRWFpQUVJQU5CS0d4cS9Ra0NCUDFXQWdBQi9WWUNBQUw5VmdJQUF5QU0vYTRCSVF3Z0EwRUVhaUlESUFCSERRQUxJQXdnRENBTS9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9hNEJJZ3dnRENBTS9RMEVCUVlIQUFFQ0F3QUJBZ01BQVFJRC9hNEIvUnNBSVFNZ0FDQUhSZzBCQ3dOQUlBUWdBRUVvYkdvb0FnUWdBMm9oQXlBQVFRRnFJZ0FnQjBjTkFBc0xJQU5GRFFCQnNBMUJFQ0FDRUIwZ0FTZ0NKQVJBSUFFb0FpZ2hBRUVBSVFjRFFDQUZJQUFnQjBFb2JDSUVhaWdDQkNJR05nSkVJQVVnQnpZQ1FDQUNRZEU0SUFWQlFHc1FGaUFCS0FJb0lRQUNRQ0FHUlEwQVFRQWhBeUFBSUFScUtBSVFSUTBBQTBBZ0FTZ0NLQ0FFYWlnQ0VDQURRUmhzYWlJQS9RQURBQ0VNSUFVZ0FDa0RFRGNET0NBRklBejlDd01vSUFVZ0F6WUNJQ0FDUWFYUkFDQUZRU0JxRUJZZ0EwRUJhaUlESUFaSERRQUxJQUVvQWlnaEFBc0NRQ0FBSUFScUlnWW9BaGhGRFFCQkFDRURJQVlvQWhSRkRRQURRQ0FBSUFScUtBSVlJQU5CR0d4cUlnQXZBUUFoQmlBQUtRTUlJUTBnQlNBQUtBSVFOZ0lRSUFVZ0RUY0RDQ0FGSUFZMkFnQWdBa0dMT0NBRkVCWWdBMEVCYWlJRElBRW9BaWdpQUNBRWFpZ0NGRWtOQUFzTElBZEJBV29pQnlBQktBSWtTUTBBQ3d0Qm1neEJCQ0FDRUIwTFFad01RUUlnQWhBZEN5QUZRYkFCYWlRQUM0OENBUU4vQWtCQkFVSG9BUkFUSWdFRWZ5QUJRUUUyQWdBZ0FVRUJOZ0s0QVNBQklBRXRBTHdCUVFaeU9nQzhBU0FCUVFGQmpDd1FFeUlBTmdJTUlBQkZEUUVnQVVFQlFlZ0hFQk1pQURZQ0VDQUFSUTBCSUFGQ0FEY0RNQ0FCUVg4MkFpd2dBVUhvQnpZQ0ZBSkFRUUZCTUJBVElnQUVRQ0FBUVFBMkFoZ2dBRUhrQURZQ0lDQUFRZVFBUVJnUUV5SUNOZ0ljSUFJTkFTQUFFQkFMSUFGQkFEWUN5QUVNQWdzZ0FFRUFOZ0lvSUFFZ0FEWUN5QUVnQVJBeklnQTJBc1FCSUFCRkRRRWdBUkF6SWdBMkFzQUJJQUJGRFFFQ1FCQ1JBVVVOQUFzZ0FVRUFFR1lpQURZQzFBRWdBRVVFUUNBQlFRQVFaaUlBTmdMVUFTQUFSUTBDQ3lBQkJVRUFDdzhMSUFFUU9FRUFDNDBKQWdsL0FYNGpBRUhRQVdzaUJ5UUFJQUFvQWtnaENRSkFBa0FDUUNBQUtBSm9RUUZIRFFBZ0FDZ0NiRUVCUncwQUlBQW9BcHdCS0FMY0t3MEJDeUFBS0FJSVFRaEdEUUFnQmtFQlFlSE9BRUVBRUE4TUFRc0NRQ0FCS0FJUUlneEZEUUFnQUNnQ29BRWhDaUFCS0FJWUlRc2dERUVJVHdSQUlBeEJlSEVoRHdOQUlBc2dDRUUwYkdvZ0NqWUNLQ0FMSUFoQkFYSkJOR3hxSUFvMkFpZ2dDeUFJUVFKeVFUUnNhaUFLTmdJb0lBc2dDRUVEY2tFMGJHb2dDallDS0NBTElBaEJCSEpCTkd4cUlBbzJBaWdnQ3lBSVFRVnlRVFJzYWlBS05nSW9JQXNnQ0VFR2NrRTBiR29nQ2pZQ0tDQUxJQWhCQjNKQk5HeHFJQW8yQWlnZ0NFRUlhaUVJSUE1QkNHb2lEaUFQUncwQUN3c2dERUVIY1NJTVJRMEFBMEFnQ3lBSVFUUnNhaUFLTmdJb0lBaEJBV29oQ0NBTlFRRnFJZzBnREVjTkFBc0xJQUlnQTNJZ0JISWdCWEpGQkVBZ0JrRUVRYTh3UVFBUUR5QUFRZ0EzQWh3Z0FDQUFLUUpvTndJa0lBRWdDZjBBQWdEOUN3SUFJQUVnQmhBM0lRZ01BUXNnQWtFQVNBUkFJQWNnQWpZQ0FDQUdRUUZCeDkwQUlBY1FEMEVBSVFnTUFRc2dBaUFKS0FJSUlnaExCRUFnQnlBSU5nSVVJQWNnQWpZQ0VDQUdRUUZCbStFQUlBZEJFR29RRDBFQUlRZ01BUXNDUUNBQ0lBa29BZ0FpQ0VrRVFDQUhJQWcyQXNRQklBY2dBallDd0FFZ0JrRUNRZnZqQUNBSFFjQUJhaEFQSUFCQkFEWUNIQ0FKS0FJQUlRSU1BUXNnQUNBQ0lBQW9BbFJySUFBb0FseHVOZ0ljQ3lBQklBSTJBZ0FnQTBFQVNBUkFJQWNnQXpZQ0lDQUdRUUZCaDkwQUlBZEJJR29RRDBFQUlRZ01BUXNnQXlBSktBSU1JZ0pMQkVBZ0J5QUNOZ0kwSUFjZ0F6WUNNQ0FHUVFGQjd0OEFJQWRCTUdvUUQwRUFJUWdNQVFzQ1FDQURJQWtvQWdRaUFra0VRQ0FISUFJMkFyUUJJQWNnQXpZQ3NBRWdCa0VDUWN6aUFDQUhRYkFCYWhBUElBQkJBRFlDSUNBSktBSUVJUU1NQVFzZ0FDQURJQUFvQWxocklBQW9BbUJ1TmdJZ0N5QUJJQU0yQWdSQkFDRUlJQVJCQUV3RVFDQUhJQVEyQWtBZ0JrRUJRY1hjQUNBSFFVQnJFQThNQVFzZ0JDQUpLQUlBSWdKSkJFQWdCeUFDTmdKVUlBY2dCRFlDVUNBR1FRRkJvdU1BSUFkQjBBQnFFQThNQVFzQ1FDQUVJQWtvQWdnaUFrc0VRQ0FISUFJMkFxUUJJQWNnQkRZQ29BRWdCa0VDUWNQZ0FDQUhRYUFCYWhBUElBQWdBQ2dDYURZQ0pDQUpLQUlJSVFRTUFRc2dBQ0FBTlFKY0loQWdCQ0FBS0FKVWE2MThRZ0Y5SUJDQVBnSWtDeUFCSUFRMkFnZ2dCVUVBVEFSQUlBY2dCVFlDWUNBR1FRRkJndHdBSUFkQjRBQnFFQThNQVFzZ0JTQUpLQUlFSWdKSkJFQWdCeUFDTmdKMElBY2dCVFlDY0NBR1FRRkI4dUVBSUFkQjhBQnFFQThNQVFzQ1FDQUZJQWtvQWd3aUFrc0VRQ0FISUFJMkFwUUJJQWNnQlRZQ2tBRWdCa0VDUVpYZkFDQUhRWkFCYWhBUElBQWdBQ2dDYkRZQ0tDQUpLQUlNSVFVTUFRc2dBQ0FBTlFKZ0loQWdCU0FBS0FKWWE2MThRZ0Y5SUJDQVBnSW9DeUFCSUFVMkFnd2dBQ0FBTFFCRVFRSnlPZ0JFSUFFZ0JoQTNJZ2hGQkVCQkFDRUlEQUVMSUFjZ0FmMEFBZ0Q5Q3dTQUFTQUdRUVJCdERrZ0IwR0FBV29RRHdzZ0IwSFFBV29rQUNBSUM1VUNBUWQvSXdCQklHc2lCU1FBQW44Z0FDZ0NTQ0lFUlFSQUlBTkJBVUhGNWdCQkFCQVBRUUFNQVF0QkFFRUVJQVFvQWhBUUV5SUVSUTBBR2lBQkJFQWdBQ2dDU0NFSUEwQUNRQUpBSUFJZ0JrRUNkR29vQWdBaUJ5QUlLQUlRVHdSQUlBVWdCellDRUNBRFFRRkIrUkVnQlVFUWFoQVBEQUVMSUFRZ0IwRUNkR29pQ1NnQ0FFVU5BU0FGSUFjMkFnQWdBMEVCUVkwYUlBVVFEd3NnQkJBUVFRQU1Bd3NnQ1VFQk5nSUFJQVpCQVdvaUJpQUJSdzBBQ3dzZ0JCQVFJQUFvQWtBUUVBSkFJQUVFUUNBQUlBRkJBblFpQkJBVUlnTTJBa0FnQTBVRVFDQUFRUUEyQWp4QkFBd0RDeUFESUFJZ0JCQVNHZ3dCQ3lBQVFRQTJBa0FMSUFBZ0FUWUNQRUVCQ3lFS0lBVkJJR29rQUNBS0M3d0ZBUWQvSUFGQkFVRWtFQk1pQkRZQ1NBSkFBa0FnQkVVTkFBSkFJQUVvQXNRQlFSSWdBeEFrQkVBZ0FTZ0N4QUZCRXlBREVDUU5BUXNNQWdzZ0FTZ0N4QUVpQnlnQ0FDRUdJQWNvQWdnaEJBSkFJQVlFUUVFQklRVWdCa0VCUndSQUlBWkJmbkVoQ1FOQUFuOUJBQ0FGUlEwQUdrRUFJQUVnQUNBRElBUW9BZ0FSQUFCRkRRQWFJQUVnQUNBRElBUW9BZ1FSQUFCQkFFY0xJUVVnQkVFSWFpRUVJQWhCQW1vaUNDQUpSdzBBQ3dzQ1FBSkFJQVpCQVhFRVFDQUZSUTBCSUFFZ0FDQURJQVFvQWdBUkFBQkJBRWNoQlFzZ0IwRUFOZ0lBSUFWRkRRRU1Bd3NnQjBFQU5nSUFDd3dEQ3lBSFFRQTJBZ0FMQWtBZ0FTZ0N3QUZCRkNBREVDUUVRQ0FCS0FMQUFVRVZJQU1RSkEwQkN3d0NDeUFCS0FMQUFTSUhLQUlBSVFZZ0J5Z0NDQ0VFQWtBZ0JnUkFRUUVoQlNBR1FRRnhJUWtnQmtFQlJnUi9RUUFGSUFaQmZuRWhCa0VBSVFnRFFBSi9RUUFnQlVVTkFCcEJBQ0FCSUFBZ0F5QUVLQUlBRVFBQVJRMEFHaUFCSUFBZ0F5QUVLQUlFRVFBQVFRQkhDeUVGSUFSQkNHb2hCQ0FJUVFKcUlnZ2dCa2NOQUFzZ0JVVUxJUVlDUUFKQUlBa0VRQ0FHRFFFZ0FTQUFJQU1nQkNnQ0FCRUFBRUVBUnlFRkN5QUhRUUEyQWdBZ0JVVU5BUXdEQ3lBSFFRQTJBZ0FMREFNTElBZEJBRFlDQUFzZ0FrRUJRU1FRRXlJQU5nSUFJQUJGRFFBZ0FTZ0NTQ0FBRUQ4Z0FTZ0N5QUVnQVNnQ2JDQUJLQUpvYkNJQU5nSWtJQUJCS0JBVElRTWdBU2dDeUFFaUFDQUROZ0lvQWtBZ0EwVU5BQ0FBS0FJa1JRUkFRUUVQQzBFQUlRUURRQ0FESUFSQktHd2lCV29pQUVFQU5nSVVJQUJCNUFBMkFoeEI1QUJCR0JBVElRQWdCU0FCS0FMSUFTSUhLQUlvSWdOcUlBQTJBaGdnQUVVTkFVRUJJUW9nQkVFQmFpSUVJQWNvQWlSSkRRQUxEQUVMSUFJb0FnQVFJVUVBSVFvZ0FrRUFOZ0lBQ3lBS0R3c2dBU2dDU0JBaElBRkJBRFlDU0VFQUN3SUFDd1FBUVFFTE5BQUNRQ0FBUlEwQUlBRkZEUUFnQUNBQktBSUVOZ0trQVNBQUlBRW9BZ0EyQXFBQklBQWdBU2dDdUVCQkFuRTJBdUFCQ3d1MEJRRUlmeUFBS0FJWUlnUW9BaEFpQ1VVRVFFRUFEd3NnQkNnQ0dDRUZJQUFvQWhRb0FnQW9BaFFoQkFKQUFrQWdBVVVFUUVFQUlRRURRQ0FGS0FJWUlRSWdCQ2dDSENBRUtBSVlRWmdCYkdvaUFFR01BV3NvQWdBaUJ5QUFRWlFCYXlnQ0FDSUlheUVESUFCQmtBRnJLQUlBSUFCQm1BRnJLQUlBYXlFQUFrQWdCeUFJUmcwQUlBQ3RJQU90ZmtJZ2lGQU5BQXdFQ3lBQUlBTnNJUU1DUUVFRUlBSkJBM1lnQWtFSGNVRUFSMm9pQUNBQVFRTkdHeUlDUlEwQUlBS3RJQU90ZmtJZ2lGQU5BQXdFQzBGL0lRQWdBaUFEYkNJQ0lBRkJmM05MRFFJZ0JFSE1BR29oQkNBRlFUUnFJUVVnQVNBQ2FpSUJJUUFnQmtFQmFpSUdJQWxIRFFBTERBRUxRUUFoQVNBQUtBSkFSUVJBQTBBZ0JTZ0NHQ0VDSUFRb0Fod2dCQ2dDR0VHWUFXeHFJZ0JCQkdzb0FnQWlCeUFBUVF4cktBSUFJZ2hySVFNZ0FFRUlheWdDQUNBQVFSQnJLQUlBYXlFQUFrQWdCeUFJUmcwQUlBQ3RJQU90ZmtJZ2lGQU5BQXdFQ3lBQUlBTnNJUU1DUUVFRUlBSkJBM1lnQWtFSGNVRUFSMm9pQUNBQVFRTkdHeUlDUlEwQUlBS3RJQU90ZmtJZ2lGQU5BQXdFQzBGL0lRQWdBaUFEYkNJQ0lBRkJmM05MRFFJZ0JFSE1BR29oQkNBRlFUUnFJUVVnQVNBQ2FpSUJJUUFnQmtFQmFpSUdJQWxIRFFBTERBRUxBMEFnQlNnQ0dDRUNJQVFvQWh3Z0JDZ0NHRUdZQVd4cUlnQkJqQUZyS0FJQUlnY2dBRUdVQVdzb0FnQWlDR3NoQXlBQVFaQUJheWdDQUNBQVFaZ0JheWdDQUdzaEFBSkFJQWNnQ0VZTkFDQUFyU0FEclg1Q0lJaFFEUUFNQXdzZ0FDQURiQ0VEQWtCQkJDQUNRUU4ySUFKQkIzRkJBRWRxSWdBZ0FFRURSaHNpQWtVTkFDQUNyU0FEclg1Q0lJaFFEUUFNQXd0QmZ5RUFJQUlnQTJ3aUFpQUJRWDl6U3cwQklBUkJ6QUJxSVFRZ0JVRTBhaUVGSUFFZ0Ftb2lBU0VBSUFaQkFXb2lCaUFKUncwQUN3c2dBQThMUVg4TDJnUUJDMzhnQUFSQUlBQW9BaFFpQVFSQUlBRW9BZ0FpQlFSQUlBVW9BaFFoQXlBRktBSVFCSDlCRUVFUklBQXRBQ2hCQVhFYklRZ0RRQ0FES0FJY0lnSUVRQ0FES0FJZ0lnRkJtQUZ1SVFwQkFDRUpJQUZCbUFGUEJIOERRQ0FDS0FJd0lnRUVRQ0FDS0FJMElnWkJLRzRoQjBFQUlRUWdCa0VvVHdSL0EwQWdBU2dDSUJBcElBRkJBRFlDSUNBQktBSWtFQ2tnQVVFQU5nSWtJQUVnQ0JFQ0FDQUJRU2hxSVFFZ0JFRUJhaUlFSUFkSERRQUxJQUlvQWpBRklBRUxFQkFnQWtFQU5nSXdDeUFDS0FKVUlnRUVRQ0FDS0FKWUlnWkJLRzRoQjBFQUlRUWdCa0VvVHdSL0EwQWdBU2dDSUJBcElBRkJBRFlDSUNBQktBSWtFQ2tnQVVFQU5nSWtJQUVnQ0JFQ0FDQUJRU2hxSVFFZ0JFRUJhaUlFSUFkSERRQUxJQUlvQWxRRklBRUxFQkFnQWtFQU5nSlVDeUFDS0FKNElnRUVRQ0FDS0FKOElnWkJLRzRoQjBFQUlRUWdCa0VvVHdSL0EwQWdBU2dDSUJBcElBRkJBRFlDSUNBQktBSWtFQ2tnQVVFQU5nSWtJQUVnQ0JFQ0FDQUJRU2hxSVFFZ0JFRUJhaUlFSUFkSERRQUxJQUlvQW5nRklBRUxFQkFnQWtFQU5nSjRDeUFDUVpnQmFpRUNJQWxCQVdvaUNTQUtSdzBBQ3lBREtBSWNCU0FDQ3hBUUlBTkJBRFlDSEFzQ1FDQURLQUlvUlEwQUlBTW9BaVFpQVVVTkFDQUJFQkFnQS8wTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTEFpUUxJQU1vQWpRUUVDQURRY3dBYWlFRElBdEJBV29pQ3lBRktBSVFTUTBBQ3lBRktBSVVCU0FEQ3hBUUlBVkJBRFlDRkNBQUtBSVVLQUlBRUJBZ0FDZ0NGQ0lCUVFBMkFnQUxJQUVRRUNBQVFRQTJBaFFMSUFBb0FrUVFFQ0FBRUJBTEM4c1RBUlYvSXdCQklHc2lEeVFBSUE4Z0JUWUNHQ0FCSUFNb0FoeEJ6QUJzYWlnQ0hDQURLQUlnUVpnQmJHb2hFUUpBQWtBZ0F5Z0NLQTBBSUJFb0FoaEZEUUFnRVVFY2FpRUpBMEFDUUNBSktBSUlJQWtvQWdCSEJIOGdDU2dDRENBSktBSUVSZ1ZCQVFzTkFDQURLQUlrSWdFZ0NTZ0NHRUVvYms4RVFDQUlRUUZCZ2hWQkFCQVBEQVFMSUFrb0FoUWdBVUVvYkdvaUFTZ0NJQkJpSUFFb0FpUVFZaUFCS0FJVUlBRW9BaEJzSWcxRkRRQWdBU2dDR0NFQklBMUJDRThFUUNBTlFYaHhJUXRCQUNFS0EwQWdBVUlBTndMb0F5QUJRZ0EzQXFnRElBRkNBRGNDNkFJZ0FVSUFOd0tvQWlBQlFnQTNBdWdCSUFGQ0FEY0NxQUVnQVVJQU53Sm9JQUZDQURjQ0tDQUJRWUFFYWlFQklBcEJDR29pQ2lBTFJ3MEFDd3RCQUNFS0lBMUJCM0VpRFVVTkFBTkFJQUZDQURjQ0tDQUJRVUJySVFFZ0NrRUJhaUlLSUExSERRQUxDeUFKUVNScUlRa2dERUVCYWlJTUlCRW9BaGhKRFFBTEN5QUZJUTBDUUNBQ0xRQUFRUUp4UlEwQUlBZEJCVTBFUUNBSVFRSkJzUjlCQUJBUERBRUxBa0FnQlMwQUFFSC9BVVlFUUNBRkxRQUJRWkVCUmcwQkN5QUlRUUpCMng5QkFCQVBEQUVMSUE4Z0JVRUdhaUlOTmdJWUMwRVVFQlFpQzBVTkFBSi9JQUF0QUd4QkFYRUVRQ0FBUVNocUlRY2dBQ2dDS0NFTklBQkJMR29NQVFzZ0FpMEFpQ3hCQW5FRVFDQUNRYkFvYWlFSElBSW9BckFvSVEwZ0FrRzhLR29NQVFzZ0R5QUZJQWRxSUExck5nSWNJQTlCR0dvaEJ5QVBRUnhxQ3lJU0tBSUFJUUFnQzBJQU53SU1JQXNnRFRZQ0NDQUxJQTAyQWdBZ0N5QUFJQTFxTmdJRUlBdEJBUkFmUlFSQUlBc1FaQm9nQ3lnQ0NDQUxLQUlBYXlFYUlBc1FMQ0FhSUExcUlRRUNRQ0FDTFFBQVFRUnhSUTBBSUFjb0FnQWdFaWdDQUNBQmEycEJBVTBFUUNBSVFRSkJtQ0ZCQUJBUERBRUxBa0FnQVMwQUFFSC9BVVlFUUNBQkxRQUJRWklCUmcwQkN5QUlRUUpCd2lGQkFCQVBEQUVMSUFGQkFtb2hBUXNnRWlBU0tBSUFJQWNvQWdBZ0FXdHFOZ0lBSUFjZ0FUWUNBQ0FFUVFBMkFnQWdCaUFQS0FJWUlBVnJOZ0lBUVFFaEZ3d0JDeUFSS0FJWUJFQWdFVUVjYWlFUUEwQWdBeWdDSkNFQUlCQW9BaFFoQVFKQUlCQW9BZ2dnRUNnQ0FFY0VmeUFRS0FJTUlCQW9BZ1JHQlVFQkN3MEFJQUVnQUVFb2JHb2lGQ2dDRkNBVUtBSVFiQ0lZUlEwQUlCUW9BaGdoQ1VFQUlSVURRQUpBQW44Z0NTZ0NLRVVFUUNBTElCUW9BaUFnRlNBREtBSW9RUUZxRUdBTUFRc2dDMEVCRUI4TFJRUkFJQWxCQURZQ0pBd0JDeUFKS0FJb1JRUkFRUUFoQVFOQUlBRWlBRUVCYWlFQklBc2dGQ2dDSkNBVklBQVFZRVVOQUFzZ0VDZ0NIQ0VCSUFsQkF6WUNJQ0FKSUFFMkFoZ2dDU0FCSUFCclFRRnFOZ0ljQ3lBSkFuOUJBU0FMUVFFUUgwVU5BQnBCQWlBTFFRRVFIMFVOQUJvZ0MwRUNFQjhpQUVFRFJ3UkFJQUJCQTJvTUFRc2dDMEVGRUI4aUFFRWZSd1JBSUFCQkJtb01BUXNnQzBFSEVCOUJKV29MTmdJa1FRQWhBUU5BSUFFaUFFRUJhaUVCSUF0QkFSQWZEUUFMSUFrZ0NTZ0NJQ0FBYWpZQ0lBSkFBa0FDZnlBSktBSW9JZ0JGQkVBZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxS0FJUUlRQWdDU2dDTUVVRVFDQUpLQUlBUWZBQkVCY2lBVVVOQkNBSklBRTJBZ0FnQVNBSktBSXdRUmhzYWtFQVFmQUJFQlVhSUFsQkNqWUNNQXNnQ1NnQ0FDSUIvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDQUNBQlFnQTNBaEJCQVVFS1FlMEFJQUJCQVhFYklBQkJCSEViSVFwQkFBd0JDeUFKS0FJQUlnRWdBRUVCYXlJTVFSaHNhaUlLS0FJRUlBb29BZ3hIRFFFZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxS0FJUUlRb2dDU2dDTUNJTUlBQkJBV3BKQkg4Z0FTQU1RUXBxSWd4QkdHd1FGeUlCUlEwRElBa2dBVFlDQUNBQklBa29BakJCR0d4cVFRQkI4QUVRRlJvZ0NTQU1OZ0l3SUFrb0FnQUZJQUVMSUFCQkdHeHFJZ0g5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5Q3dJQUlBRkNBRGNDRUFKL1FRRWdDa0VFY1EwQUdrSHRBQ0FLUVFGeFJRMEFHa0VDUVFKQkFTQUJRUXhyS0FJQUlncEJDa1liSUFwQkFVWWJDeUVLSUFBTElRd2dBU0FLTmdJTUN5QUpLQUlrSVFBZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxTFFBUVFjQUFjUVJBQTBBZ0RFRVliQ0lPSUFrb0FnQnFJQUJCQVNBTUd5SVROZ0lRSUFrb0FpQWhGa0VBSVFvZ0FDRUJJQk5CQWs4RVFBTkFJQXBCQVdvaENpQUJRUU5MSVJzZ0FVRUJkaUVCSUJzTkFBc0xJQW9nRm1vaUFVRWhUd1JBSUE4Z0FUWUNFQ0FJUVFGQnZQUUFJQTlCRUdvUUR3d0RDeUFMSUFFUUh5RUtJQWtvQWdBaUFTQU9haUlPSUFvMkFoUWdBQ0FPS0FJUWF5SUFRUUJNRFFNZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxS0FJUUlRb2dDU2dDTUNJT0lBeEJBbXBKQkVBZ0FTQU9RUXBxSWc1QkdHd1FGeUlCUlEwRElBa2dBVFlDQUNBQklBa29BakJCR0d4cVFRQkI4QUVRRlJvZ0NTQU9OZ0l3SUFrb0FnQWhBUXNnQVNBTVFRRnFJZ3hCR0d4cUlnSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlDd0lBSUFGQ0FEY0NFQ0FCQW45QkFTQUtRUVJ4RFFBYVFlMEFJQXBCQVhGRkRRQWFRUUpCQWtFQklBRkJER3NvQWdBaUFVRUtSaHNnQVVFQlJoc0xOZ0lNREFBTEFBc0RRQ0FNUVJoc0lnNGdDU2dDQUdvaUFTQUJLQUlNSUFFb0FnUnJJZ0VnQUNBQUlBRktHeUlCTmdJUUlBa29BaUFoRTBFQUlRb2dBVUVDVHdSQUEwQWdDa0VCYWlFS0lBRkJBMHNoSENBQlFRRjJJUUVnSEEwQUN3c2dDaUFUYWlJQlFTRlBCRUFnRHlBQk5nSUFJQWhCQVVHODlBQWdEeEFQREFJTElBc2dBUkFmSVFvZ0NTZ0NBQ0lCSUE1cUlnNGdDallDRkNBQUlBNG9BaEJySWdCQkFFd05BaUFDS0FMUUt5QURLQUljUWJnSWJHb29BaEFoQ2lBSktBSXdJZzRnREVFQ2Fra0VRQ0FCSUE1QkNtb2lEa0VZYkJBWElnRkZEUUlnQ1NBQk5nSUFJQUVnQ1NnQ01FRVliR3BCQUVId0FSQVZHaUFKSUE0MkFqQWdDU2dDQUNFQkN5QUJJQXhCQVdvaURFRVliR29pQWYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTEFnQWdBVUlBTndJUUlBRUNmMEVCSUFwQkJIRU5BQnBCN1FBZ0NrRUJjVVVOQUJwQkFrRUNRUUVnQVVFTWF5Z0NBQ0lCUVFwR0d5QUJRUUZHR3dzMkFnd01BQXNBQ3lBTEVDd01CUXNnQ1VGQWF5RUpJQlZCQVdvaUZTQVlSdzBBQ3dzZ0VFRWthaUVRSUJsQkFXb2lHU0FSS0FJWVNRMEFDd3NnQ3hCa1JRUkFJQXNRTEF3QkN5QUxLQUlJSUFzb0FnQnJJUjBnQ3hBc0lCMGdEV29oQVFKQUlBSXRBQUJCQkhGRkRRQWdCeWdDQUNBU0tBSUFJQUZyYWtFQlRRUkFJQWhCQWtHWUlVRUFFQThNQVFzQ1FDQUJMUUFBUWY4QlJnUkFJQUV0QUFGQmtnRkdEUUVMSUFoQkFrSENJVUVBRUE4TUFRc2dBVUVDYWlFQkN5QVNJQklvQWdBZ0J5Z0NBQ0FCYTJvMkFnQWdCeUFCTmdJQVFRRWhGeUFFUVFFMkFnQWdCaUFQS0FJWUlBVnJOZ0lBQ3lBUFFTQnFKQUFnRnd1V0pBSVVmdzUrQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQUtBSlVEZ1VBQVFJREJBb0xBa0FnQUNnQ05DSUdJQUFvQXNRQklnRkpCRUFnQUNnQ1FDSUhJQUZCQVdwSkRRRUxJQUFvQXV3QlFRRkI5RDlCQUJBUERBd0xJQUFvQWl4RkJFQWdBQ2dDSkNFQ1FRQWhBUXdGQ3lBQVFRQTJBaXdnQUNnQ1JDRURRUUVoQVF3RUN3SkFJQUFvQWpRaUJpQUFLQUxFQVNJQlNRUkFJQUFvQWtBaUJ5QUJRUUZxU1EwQkN5QUFLQUxzQVVFQlFhSEFBRUVBRUE4TUN3c2dBQ2dDTEVVRVFDQUFLQUlrSVFSQkFDRUJEQWdMSUFCQkFEWUNMQ0FBS0FJd0lRTkJBU0VCREFjTEFrQWdBQ2dDTkNJRUlBQW9Bc1FCSWdwSkJFQWdBQ2dDUUNJT0lBcEJBV3BKRFFFTElBQW9BdXdCUVFGQnFNRUFRUUFRRHd3S0N5QUFLQUlzUlFSQUlBQW9BaWdoQ3d3R0N5QUFRZ0EzQXVRQklBQkJBRFlDTENBQUtBTElBU0VNQTBBZ0RDQUhRUVIwYWlJRktBSUlJZzhFUUNBRktBSU1JUkpCQUNFQkEwQUNRQ0FQSUFGQmYzTnFJaEFnRWlBQlFRUjBhaUlSS0FJQWFpSUpRUjlMRFFBZ0JTZ0NBQ0lUUVg4Z0NYWkxEUUFnQUNBQ0lCTWdDWFFpQ1NBQ0lBbEpHeUFKSUFJYklnSTJBdVFCQ3dKQUlCRW9BZ1FnRUdvaUNVRWZTdzBBSUFVb0FnUWlFRUYvSUFsMlN3MEFJQUFnQXlBUUlBbDBJZ2tnQXlBSlNSc2dDU0FER3lJRE5nTG9BUXNnQVVFQmFpSUJJQTlIRFFBTEN5QUhRUUZxSWdjZ0NrY05BQXNnQWtVTkJ5QURSUTBISUFBdEFBQkZCRUFnQUNBQUtBTFFBVFlDYkNBQUlBQW9Bc3dCTmdKa0lBQWdBQ2dDMkFFMkFuQWdBQ0FBS0FMVUFUWUNhQXNnQUNnQ01DRUZRUUVoQVF3RkN3SkFJQUFvQWpRaUJTQUFLQUxFQVNJSlNRUkFJQUFvQWtBaUVpQUpRUUZxU1EwQkN5QUFLQUxzQVVFQlFmdkFBRUVBRUE4TUNRc2dBQ2dDTEVVRVFDQUFLQUxJQVNJTklBQW9BaHdpQkVFRWRHb2hDeUFBS0FJb0lRZ01CQXNnQUVJQU53TGtBU0FBUVFBMkFpd2dBQ2dDeUFFaERRTkFJQTBnQmtFRWRHb2lDaWdDQ0NJT0JFQWdDaWdDRENFUVFRQWhBUU5BQWtBZ0RpQUJRWDl6YWlJUklCQWdBVUVFZEdvaUV5Z0NBR29pREVFZlN3MEFJQW9vQWdBaUZFRi9JQXgyU3cwQUlBQWdBaUFVSUF4MElnd2dBaUFNU1JzZ0RDQUNHeUlDTmdMa0FRc0NRQ0FUS0FJRUlCRnFJZ3hCSDBzTkFDQUtLQUlFSWhGQmZ5QU1ka3NOQUNBQUlBTWdFU0FNZENJTUlBTWdERWtiSUF3Z0F4c2lBellDNkFFTElBRkJBV29pQVNBT1J3MEFDd3NnQmtFQmFpSUdJQWxIRFFBTElBSkZEUVlnQTBVTkJnSkFJQUF0QUFBRVFDQUFLQUpzSVFZTUFRc2dBQ0FBS0FMUUFTSUdOZ0pzSUFBZ0FDZ0N6QUUyQW1RZ0FDQUFLQUxZQVRZQ2NDQUFJQUFvQXRRQk5nSm9DMEVCSVFFTUF3c0NRQ0FBS0FJMElnWWdBQ2dDeEFFaUFVa0VRQ0FBS0FKQUlnOGdBVUVCYWtrTkFRc2dBQ2dDN0FGQkFVSE93QUJCQUJBUERBWUxJQUFvQWl4RkJFQWdBQ2dDeUFFZ0FDZ0NIQ0lHUVFSMGFpRUZJQUFvQWlnaEIwRUFJUUVNQWdzZ0FDQUdOZ0ljSUFCQkFEWUNMRUVCSVFFTUFRc0RRQUovQWtBZ0FVVUVRQ0FDUVFGcUlRSU1BUXNnQUNBRE5nSW9JQUFvQWpnZ0EwME5DU0FBS0FJd0lRUkJBQXdCQzBFQkN5RUJBMEFDUUFKQUFrQUNRQ0FCUlFSQUlBQWdCRFlDSUNBRUlBQW9BanhQRFFFZ0FDQUdOZ0ljSUFZaEFVRUFJUVVNQkFzZ0FDQUNOZ0lrSUFBb0Frd2dBazBFUUNBQUtBSWNJUUZCQVNFRkRBUUxJQUFvQWhBZ0FDZ0NJR3dnQUNnQ0RDQUFLQUlvYkdvZ0FDZ0NGQ0FBS0FJY2JHb2dBQ2dDR0NBQ2JHb2lBU0FBS0FJSVR3UkFEQXdMSUFBb0FnUWdBVUVCZEdvaUFTOEJBQTBCREEwTElBQW9BaWhCQVdvaEF3d0JDMEVBSVFFTUF3dEJBU0VCREFJTEEwQUNRQUpBQWtBZ0JVVUVRQ0FCSUFkUERRRWdBQ2dDSUNJRklBQW9Bc2dCSUFGQkJIUnFJZzBvQWdoUERRTWdBQzBBQUVVRVFDQUFJQTBvQWd3Z0JVRUVkR29pQVNnQ0RDQUJLQUlJYkRZQ1RBc2dBQ2dDU0NFQ1FRRWhBUXdGQ3lBQUlBRkJBV29pQVRZQ0hBd0JDeUFBS0FJZ1FRRnFJUVJCQUNFQkRBTUxRUUFoQlF3QkMwRUJJUVVNQUFzQUN3QUxBQXNEUUFKL0FrQWdBVVVFUUNBQUlBZEJBV29pQnpZQ0tBd0JDeUFHSUE5UERRZ2dBRUlBTndMa0FTQUFLQUxJQVNBR1FRUjBhaUlGS0FJSUlndEZEUWdnQlNnQ0RDRUtRUUFoQWtFQUlRUkJBQ0VCQTBBQ1FDQUxJQUZCZjNOcUlna2dDaUFCUVFSMGFpSU9LQUlBYWlJSVFSOUxEUUFnQlNnQ0FDSU1RWDhnQ0haTERRQWdBQ0FFSUF3Z0NIUWlDQ0FFSUFoSkd5QUlJQVFiSWdRMkF1UUJDd0pBSUE0b0FnUWdDV29pQ0VFZlN3MEFJQVVvQWdRaUNVRi9JQWgyU3cwQUlBQWdBaUFKSUFoMElnZ2dBaUFJU1JzZ0NDQUNHeUlDTmdMb0FRc2dBVUVCYWlJQklBdEhEUUFMSUFSRkRRWWdBa1VOQmdKQUlBQXRBQUFFUUNBQUtBSnNJUUlNQVFzZ0FDQUFLQUxRQVNJQ05nSnNJQUFnQUNnQ3pBRTJBbVFnQUNBQUtBTFlBVFlDY0NBQUlBQW9BdFFCTmdKb0MwRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQUNOZ0xnQVNBQ0lBQW9BbkJQRFFFZ0FDZ0NaQ0VOUVFBaEFRd0VDeUFBS0FJNElBZE5CRUFnQUNnQ0lDRURRUUVoQVF3RUN5QUFLQUlRSUFBb0FpQnNJQUFvQWd3Z0IyeHFJQUFvQWhRZ0JteHFJQUFvQWhnZ0FDZ0NKR3hxSWdFZ0FDZ0NDRThFUUF3TEN5QUFLQUlFSUFGQkFYUnFJZ0V2QVFBTkFRd01DeUFBSUFaQkFXb2lCallDSEF3QkMwRUFJUUVNQXd0QkFTRUJEQUlMQTBBQ1FBSkFBa0FnQUFKL0lBRkZCRUFnQUNBTk5nTGNBU0FOSUFBb0FtaFBEUUlnQUNnQ01Bd0JDeUFEUVFGcUN5SUROZ0lnSUFBb0Fqd2lBU0FGS0FJSUlnUWdBU0FFU1JzZ0Ewc0VRQ0FGS0FJQUlnRWdBYTBpSGlBRUlBTkJmM05xSWdpdEloYUdJaGNnRm9pblJ3MERJQVVvQWdRaUJFSi9JQmFJcDNFZ0JFY05BeUFFclNJVklCYUdJaGhDQVgwaUdTQUFOUUxZQVh3Z0dJQWhIeUFaSUFBb0F0QUJJZ210ZkNBWWdDRWFJQmRDQVgwaUd5QUFOUUxVQVh3Z0Y0QWhJQ0FiSUFBb0Fzd0JJZzZ0ZkNBWGdDRWNJQUZDZnlBRktBSU1JQU5CQkhScUlnc29BZ0FpQ2lBSWFxMGlIWWluY1NBQlJ3MERJQVFnRlNBTEtBSUVJZ0VnQ0dxdEloV0dJaUVnRllpblJ3MERJQUFvQXVBQklnU3RJaUlnSVlKQ0FGSUVRQ0FFSUFsSERRUkNmeUFWaGtKL2hTQWFRdi8vLy84UGd5QVdob05RRFFRTElBQW9BdHdCSWdTdEloVWdIaUFkaG9KQ0FGSUVRQ0FFSUE1SERRUkNmeUFkaGtKL2hTQWNRdi8vLy84UGd5QVdob05RRFFRTElBc29BZ2dpQkVVTkF5QUxLQUlNUlEwRElCeW5JZ3NnSUtkR0RRTWdHcWNpQ0NBZnAwWU5BeUFBSUFBb0FrUWlCellDS0NBQUlCVWdHM3dnRjRDbklBcDJJQXNnQ25acklCa2dJbndnR0lDbklBRjJJQWdnQVhacklBUnNhallDSkVFQklRRU1CUXNnQUNnQzNBRWlBU0FBS0FMa0FTSUVhaUFCSUFSd2F5RU5EQUVMSUFBb0F1QUJJZ0VnQUNnQzZBRWlCR29nQVNBRWNHc2hBa0VBSVFFTUF3dEJBQ0VCREFFTFFRRWhBUXdBQ3dBTEFBc0FDd05BQW44Q1FDQUJSUVJBSUFBZ0NFRUJhaUlJTmdJb0RBRUxJQUFnQmpZQzRBRWdBQ2dDY0NBR1RRMEhJQUFvQW1RaEQwRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQVBOZ0xjQVNBUElBQW9BbWhQRFFFZ0FDQUZOZ0ljSUFVaEJFRUFJUUVNQkFzZ0FDZ0NPQ0FJVFFSQUlBQW9BaUFoQjBFQklRRU1CQXNnQUNnQ0VDQUFLQUlnYkNBQUtBSU1JQWhzYWlBQUtBSVVJQVJzYWlBQUtBSVlJQUFvQWlSc2FpSUJJQUFvQWdoUEJFQU1DZ3NnQUNnQ0JDQUJRUUYwYWlJQkx3RUFEUUVNQ3dzZ0FDZ0M0QUVpQVNBQUtBTG9BU0lHYWlBQklBWndheUVHREFFTFFRQWhBUXdEQzBFQklRRU1BZ3NEUUFKQUFrQUNRQUpBSUFGRkJFQWdCQ0FTVHcwQ0lBQWdBQ2dDTUNJSE5nSWdJQTBnQkVFRWRHb2hDd3dCQ3lBQUlBZEJBV29pQnpZQ0lBc2dBQ2dDUENJQklBc29BZ2dpQWlBQklBSkpHeUFIU3dSQUlBc29BZ0FpQVNBQnJTSWVJQUlnQjBGL2Myb2lDcTBpRm9ZaUZ5QVdpS2RIRFFNZ0N5Z0NCQ0lDUW44Z0ZvaW5jU0FDUncwRElBS3RJaFVnRm9ZaUdFSUJmU0laSUFBMUF0Z0JmQ0FZZ0NFZklCa2dBQ2dDMEFFaURxMThJQmlBSVJvZ0YwSUJmU0liSUFBMUF0UUJmQ0FYZ0NFZ0lCc2dBQ2dDekFFaURLMThJQmVBSVJ3Z0FVSi9JQXNvQWd3Z0IwRUVkR29pQXlnQ0FDSUpJQXBxclNJZGlLZHhJQUZIRFFNZ0FpQVZJQU1vQWdRaUFTQUthcTBpRllZaUlTQVZpS2RIRFFNZ0FDZ0M0QUVpQXEwaUlpQWhna0lBVWdSQUlBSWdEa2NOQkVKL0lCV0dRbitGSUJwQy8vLy8vdytESUJhR2cxQU5CQXNnQUNnQzNBRWlBcTBpRlNBZUlCMkdna0lBVWdSQUlBSWdERWNOQkVKL0lCMkdRbitGSUJ4Qy8vLy8vdytESUJhR2cxQU5CQXNnQXlnQ0NDSUNSUTBESUFNb0FneEZEUU1nSEtjaUF5QWdwMFlOQXlBYXB5SUtJQituUmcwRElBQWdBQ2dDUkNJSU5nSW9JQUFnRlNBYmZDQVhnS2NnQ1hZZ0F5QUpkbXNnR1NBaWZDQVlnS2NnQVhZZ0NpQUJkbXNnQW14cU5nSWtRUUVoQVF3RkN5QUFJQVJCQVdvaUJEWUNIQXdCQ3lBQUtBTGNBU0lCSUFBb0F1UUJJZ0pxSUFFZ0FuQnJJUTlCQUNFQkRBTUxRUUFoQVF3QkMwRUJJUUVNQUFzQUN3QUxBQXNEUUFKL0FrQWdBVVVFUUNBQUlBdEJBV29pQ3pZQ0tBd0JDeUFBSUFVMkFpQWdBQ2dDUENBRlRRMEdJQUFvQW13aENFRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQUlOZ0xnQVNBSUlBQW9BbkJQRFFFZ0FDZ0NaQ0VOUVFBaEFRd0VDeUFBS0FJNElBdE5CRUFnQUNnQ0hDRUdRUUVoQVF3RUN5QUFLQUlRSUFBb0FpQnNJQUFvQWd3Z0MyeHFJQUFvQWhRZ0FDZ0NIR3hxSUFBb0FoZ2dBQ2dDSkd4cUlnRWdBQ2dDQ0U4RVFBd0pDeUFBS0FJRUlBRkJBWFJxSWdFdkFRQU5BUXdLQ3lBQUtBSWdRUUZxSVFVTUFRdEJBQ0VCREFNTFFRRWhBUXdDQ3dOQUFrQUNRQUpBQWtBZ0FVVUVRQ0FBSUEwMkF0d0JJQTBnQUNnQ2FFOE5BaUFBSUFRMkFod2dCQ0VHREFFTElBQWdCa0VCYWlJR05nSWNDeUFHSUE1SkJFQWdBQ2dDSUNJSElBQW9Bc2dCSUFaQkJIUnFJZ0VvQWdnaUEwOE5BeUFCS0FJQUlnSWdBcTBpSGlBRElBZEJmM05xSWdxdEloYUdJaGNnRm9pblJ3MERJQUVvQWdRaUEwSi9JQmFJcDNFZ0EwY05BeUFEclNJVklCYUdJaGhDQVgwaUdTQUFOUUxZQVh3Z0dJQWhIeUFaSUFBb0F0QUJJZyt0ZkNBWWdDRWFJQmRDQVgwaUd5QUFOUUxVQVh3Z0Y0QWhJQ0FiSUFBb0Fzd0JJZ210ZkNBWGdDRWNJQUpDZnlBQktBSU1JQWRCQkhScUlnRW9BZ0FpQnlBS2FxMGlIWWluY1NBQ1J3MERJQU1nRlNBQktBSUVJZ0lnQ21xdEloV0dJaUVnRllpblJ3MERJQUFvQXVBQklnT3RJaUlnSVlKQ0FGSUVRQ0FESUE5SERRUkNmeUFWaGtKL2hTQWFRdi8vLy84UGd5QVdob05RRFFRTElBQW9BdHdCSWdPdEloVWdIaUFkaG9KQ0FGSUVRQ0FESUFsSERRUkNmeUFkaGtKL2hTQWNRdi8vLy84UGd5QVdob05RRFFRTElBRW9BZ2dpQTBVTkF5QUJLQUlNUlEwRElCeW5JZ0VnSUtkR0RRTWdHcWNpQ2lBZnAwWU5BeUFBSUFBb0FrUWlDellDS0NBQUlCVWdHM3dnRjRDbklBZDJJQUVnQjNacklCa2dJbndnR0lDbklBSjJJQW9nQW5acklBTnNhallDSkVFQklRRU1CUXNnQUNnQzNBRWlBU0FBS0FMa0FTSUNhaUFCSUFKd2F5RU5EQUVMSUFBb0F1QUJJZ0VnQUNnQzZBRWlBbW9nQVNBQ2NHc2hDRUVBSVFFTUF3dEJBQ0VCREFFTFFRRWhBUXdBQ3dBTEFBc0FDd05BQW44Q1FDQUJSUVJBSUFSQkFXb2hCQXdCQ3lBQUlBTTJBaUFnQUNnQ1BDQURUUTBGSUFBb0FrUWhBa0VBREFFTFFRRUxJUUVEUUFKQUFrQUNRQUpBSUFGRkJFQWdBQ0FDTmdJb0lBSWdBQ2dDT0U4TkFTQUFJQVkyQWh3Z0JpRUJRUUFoQlF3RUN5QUFJQVEyQWlRZ0FDZ0NUQ0FFVFFSQUlBQW9BaHdoQVVFQklRVU1CQXNnQUNnQ0VDQUFLQUlnYkNBQUtBSU1JQUFvQWloc2FpQUFLQUlVSUFBb0FoeHNhaUFBS0FJWUlBUnNhaUlCSUFBb0FnaFBCRUFNQ0FzZ0FDZ0NCQ0FCUVFGMGFpSUJMd0VBRFFFTUNRc2dBQ2dDSUVFQmFpRUREQUVMUVFBaEFRd0RDMEVCSVFFTUFnc0RRQUpBQWtBQ1FDQUZSUVJBSUFFZ0IwOE5BU0FBS0FJZ0lnVWdBQ2dDeUFFZ0FVRUVkR29pRFNnQ0NFOE5BeUFBTFFBQVJRUkFJQUFnRFNnQ0RDQUZRUVIwYWlJQktBSU1JQUVvQWdoc05nSk1DeUFBS0FKSUlRUkJBU0VCREFVTElBQWdBVUVCYWlJQk5nSWNEQUVMSUFBb0FpaEJBV29oQWtFQUlRRU1Bd3RCQUNFRkRBRUxRUUVoQlF3QUN3QUxBQXNBQzBFQUR3c2dBQ2dDN0FGQkFVR2FDa0VBRUE4TFFRQVBDeUFCUVFFN0FRQkJBUXVSQ3dFS2Z3SkFJQUVvQWdBZ0JFRURiQ0lNZGlJR1FaQ0FnQUZ4RFFBZ0FDQUFRUnhxSWc0Z0FDZ0NiQ0FHUWU4RGNXb3RBQUJCQW5ScUlnbzJBbWdnQUNBQUtBSUVJQW9vQWdBaUNTZ0NBQ0lJYXlJR05nSUVBa0FnQ0NBQUtBSUFJZ2RCRUhaTEJFQWdDU2dDQkNFTElBQWdDRFlDQkNBS0lBbEJDRUVNSUFZZ0NFa2lCaHRxS0FJQU5nSUFJQXNnQzBVZ0Joc2hDU0FBS0FJSUlRWURRQUpBSUFZTkFDQUFLQUlRSWdaQkFXb2hDeUFHTFFBQklRb2dCaTBBQUVIL0FVWUVRQ0FLUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSFFZRCtBMm9oQjBFSUlRWU1BZ3NnQUNBTE5nSVFJQWNnQ2tFSmRHb2hCMEVISVFZTUFRc2dBQ0FMTmdJUVFRZ2hCaUFISUFwQkNIUnFJUWNMSUFBZ0JrRUJheUlHTmdJSUlBQWdCMEVCZENJSE5nSUFJQUFnQ0VFQmRDSUlOZ0lFSUFoQmdJQUNTUTBBQ3lBSUlRWU1BUXNnQUNBSElBaEJFSFJySWdjMkFnQWdCa0dBZ0FKeFJRUkFJQWtvQWdRaEN5QUtJQWxCREVFSUlBWWdDRWtpQ0J0cUtBSUFOZ0lBSUF0RklBc2dDQnNoQ1NBQUtBSUlJUWdEUUFKQUlBZ05BQ0FBS0FJUUlnaEJBV29oQ3lBSUxRQUJJUW9nQ0MwQUFFSC9BVVlFUUNBS1FaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUhRWUQrQTJvaEIwRUlJUWdNQWdzZ0FDQUxOZ0lRSUFjZ0NrRUpkR29oQjBFSElRZ01BUXNnQUNBTE5nSVFRUWdoQ0NBSElBcEJDSFJxSVFjTElBQWdDRUVCYXlJSU5nSUlJQUFnQjBFQmRDSUhOZ0lBSUFBZ0JrRUJkQ0lHTmdJRUlBWkJnSUFDU1EwQUN3d0JDeUFKS0FJRUlRa0xJQWxGRFFBZ0FDQU9JQUVvQWdRZ0RFRVJhblpCQkhFZ0FVRUVheUlOS0FJQUlBeEJFMnAyUVFGeElBRW9BZ0FpQ0NBTVFSQnFka0hBQUhFZ0NDQU1ka0dxQVhGeUlBZ2dERUVNYWtFT0lBUWJka0VRY1hKeWNpSVBRZEM1QVdvdEFBQkJBblJxSWdzMkFtZ2dBQ0FHSUFzb0FnQWlDaWdDQUNJSWF5SUdOZ0lFQWtBZ0NDQUhRUkIyU3dSQUlBb29BZ1FoQ1NBQUlBZzJBZ1FnQ3lBS1FRaEJEQ0FHSUFoSklnWWJhaWdDQURZQ0FDQUpJQWxGSUFZYklRb2dBQ2dDQ0NFR0EwQUNRQ0FHRFFBZ0FDZ0NFQ0lHUVFGcUlRc2dCaTBBQVNFSklBWXRBQUJCL3dGR0JFQWdDVUdRQVU4RVFDQUFJQUFvQWd4QkFXbzJBZ3dnQjBHQS9nTnFJUWRCQ0NFR0RBSUxJQUFnQ3pZQ0VDQUhJQWxCQ1hScUlRZEJCeUVHREFFTElBQWdDellDRUVFSUlRWWdCeUFKUVFoMGFpRUhDeUFBSUFaQkFXc2lCallDQ0NBQUlBZEJBWFFpQnpZQ0FDQUFJQWhCQVhRaUNEWUNCQ0FJUVlDQUFra05BQXNNQVFzZ0FDQUhJQWhCRUhScklnazJBZ0FnQmtHQWdBSnhSUVJBSUFvb0FnUWhCeUFMSUFwQkRFRUlJQVlnQ0VraUNCdHFLQUlBTmdJQUlBZEZJQWNnQ0JzaENpQUFLQUlJSVFjRFFBSkFJQWNOQUNBQUtBSVFJZ2RCQVdvaEN5QUhMUUFCSVFnZ0J5MEFBRUgvQVVZRVFDQUlRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FKUVlEK0Eyb2hDVUVJSVFjTUFnc2dBQ0FMTmdJUUlBa2dDRUVKZEdvaENVRUhJUWNNQVFzZ0FDQUxOZ0lRUVFnaEJ5QUpJQWhCQ0hScUlRa0xJQUFnQjBFQmF5SUhOZ0lJSUFBZ0NVRUJkQ0lKTmdJQUlBQWdCa0VCZENJR05nSUVJQVpCZ0lBQ1NRMEFDd3dCQ3lBS0tBSUVJUW9MSUFKQkFDQURheUFESUFvZ0QwSFF1d0ZxTFFBQWN5SURHellDQUNBTklBMG9BZ0JCSUNBTWRISTJBZ0FnQVNBQktBSUFJQU5CRTNSQkVISWdESFJ5TmdJQUlBRWdBU2dDQkVFSUlBeDBjallDQkNBRUlBVnlSUVJBSUFGQmZpQUFLQUo4YTBFQ2RHb2lBaUFDS0FJRVFZQ0FBbkkyQWdRZ0FpQUNLQUlBSUFOQkgzUnlRWUNBQkhJMkFnQWdBa0VFYXlJQ0lBSW9BZ0JCZ0lBSWNqWUNBQXNnQkVFRFJ3MEFJQUVnQUNnQ2ZFRUNkR29pQUVFRWFpQUFLQUlFUVFSeU5nSUFJQUFnQUNnQ0RFRUJjallDRENBQUlBQW9BZ2dnQTBFU2RISkJBbkkyQWdnTEM2c0xBUWwvQWtBZ0FTZ0NBQ0FFUVFOc0lnMTJJZ2RCa0lDQUFYRU5BQ0FIUWU4RGNTSUhSUTBBSUFBZ0FFRWNhaUlPSUFBb0Ftd2dCMm90QUFCQkFuUnFJZ3MyQW1nZ0FDQUFLQUlFSUFzb0FnQWlDaWdDQUNJSmF5SUhOZ0lFQWtBZ0NTQUFLQUlBSWdoQkVIWkxCRUFnQ2lnQ0JDRU1JQUFnQ1RZQ0JDQUxJQXBCQ0VFTUlBY2dDVWtpQnh0cUtBSUFOZ0lBSUF3Z0RFVWdCeHNoQ2lBQUtBSUlJUWNEUUFKQUlBY05BQ0FBS0FJUUlnZEJBV29oRENBSExRQUJJUXNnQnkwQUFFSC9BVVlFUUNBTFFaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUlRWUQrQTJvaENFRUlJUWNNQWdzZ0FDQU1OZ0lRSUFnZ0MwRUpkR29oQ0VFSElRY01BUXNnQUNBTU5nSVFRUWdoQnlBSUlBdEJDSFJxSVFnTElBQWdCMEVCYXlJSE5nSUlJQUFnQ0VFQmRDSUlOZ0lBSUFBZ0NVRUJkQ0lKTmdJRUlBbEJnSUFDU1EwQUN5QUpJUWNNQVFzZ0FDQUlJQWxCRUhScklnZzJBZ0FnQjBHQWdBSnhSUVJBSUFvb0FnUWhEQ0FMSUFwQkRFRUlJQWNnQ1VraUNSdHFLQUlBTmdJQUlBeEZJQXdnQ1JzaENpQUFLQUlJSVFrRFFBSkFJQWtOQUNBQUtBSVFJZ2xCQVdvaERDQUpMUUFCSVFzZ0NTMEFBRUgvQVVZRVFDQUxRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FJUVlEK0Eyb2hDRUVJSVFrTUFnc2dBQ0FNTmdJUUlBZ2dDMEVKZEdvaENFRUhJUWtNQVFzZ0FDQU1OZ0lRUVFnaENTQUlJQXRCQ0hScUlRZ0xJQUFnQ1VFQmF5SUpOZ0lJSUFBZ0NFRUJkQ0lJTmdJQUlBQWdCMEVCZENJSE5nSUVJQWRCZ0lBQ1NRMEFDd3dCQ3lBS0tBSUVJUW9MQWtBZ0NrVU5BQ0FBSUE0Z0FTZ0NCQ0FOUVJGcWRrRUVjU0FCUVFScklnOG9BZ0FnRFVFVGFuWkJBWEVnQVNnQ0FDSUpJQTFCRUdwMlFjQUFjU0FKSUExMlFhb0JjWElnQ1NBTlFReHFRUTRnQkJ0MlFSQnhjbkp5SWdwQjBMa0JhaTBBQUVFQ2RHb2lERFlDYUNBQUlBY2dEQ2dDQUNJTEtBSUFJZ2xySWdjMkFnUWdDa0hRdXdGcUxRQUFJUTRDUUNBSklBaEJFSFpMQkVBZ0N5Z0NCQ0VLSUFBZ0NUWUNCQ0FNSUF0QkNFRU1JQWNnQ1VraUJ4dHFLQUlBTmdJQUlBb2dDa1VnQnhzaEN5QUFLQUlJSVFjRFFBSkFJQWNOQUNBQUtBSVFJZ2RCQVdvaERDQUhMUUFCSVFvZ0J5MEFBRUgvQVVZRVFDQUtRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FJUVlEK0Eyb2hDRUVJSVFjTUFnc2dBQ0FNTmdJUUlBZ2dDa0VKZEdvaENFRUhJUWNNQVFzZ0FDQU1OZ0lRUVFnaEJ5QUlJQXBCQ0hScUlRZ0xJQUFnQjBFQmF5SUhOZ0lJSUFBZ0NFRUJkQ0lJTmdJQUlBQWdDVUVCZENJSk5nSUVJQWxCZ0lBQ1NRMEFDd3dCQ3lBQUlBZ2dDVUVRZEdzaUNqWUNBQ0FIUVlDQUFuRkZCRUFnQ3lnQ0JDRUlJQXdnQzBFTVFRZ2dCeUFKU1NJSkcyb29BZ0EyQWdBZ0NFVWdDQ0FKR3lFTElBQW9BZ2doQ0FOQUFrQWdDQTBBSUFBb0FoQWlDRUVCYWlFTUlBZ3RBQUVoQ1NBSUxRQUFRZjhCUmdSQUlBbEJrQUZQQkVBZ0FDQUFLQUlNUVFGcU5nSU1JQXBCZ1A0RGFpRUtRUWdoQ0F3Q0N5QUFJQXcyQWhBZ0NpQUpRUWwwYWlFS1FRY2hDQXdCQ3lBQUlBdzJBaEJCQ0NFSUlBb2dDVUVJZEdvaENnc2dBQ0FJUVFGcklnZzJBZ2dnQUNBS1FRRjBJZ28yQWdBZ0FDQUhRUUYwSWdjMkFnUWdCMEdBZ0FKSkRRQUxEQUVMSUFzb0FnUWhDd3NnQWtFQUlBTnJJQU1nQ3lBT2N5SUNHellDQUNBUElBOG9BZ0JCSUNBTmRISTJBZ0FnQVNBQktBSUFJQUpCRTNSQkVISWdEWFJ5TmdJQUlBRWdBU2dDQkVFSUlBMTBjallDQkNBRUlBWnlSUVJBSUFFZ0JVRUNkR3NpQUNBQUtBSUVRWUNBQW5JMkFnUWdBQ0FBS0FJQUlBSkJIM1J5UVlDQUJISTJBZ0FnQUVFRWF5SUFJQUFvQWdCQmdJQUljallDQUFzZ0JFRURSdzBBSUFFZ0JVRUNkR29pQUNBQUtBSUVRUUZ5TmdJRUlBQWdBQ2dDQUNBQ1FSSjBja0VDY2pZQ0FDQUFRUVJySWdBZ0FDZ0NBRUVFY2pZQ0FBc2dBU0FCS0FJQVFZQ0FnQUVnRFhSeU5nSUFDd3V0QVFBZ0FFSHduUUUyQW1RZ0FFSHduUUUyQW1BZ0FFSHduUUUyQWx3Z0FFSHduUUUyQWxnZ0FFSHduUUUyQWxRZ0FFSHduUUUyQWxBZ0FFSHduUUUyQWt3Z0FFSHduUUUyQWtnZ0FFSHduUUUyQWtRZ0FFSHduUUUyQWtBZ0FFSHduUUUyQWp3Z0FFSHduUUUyQWpnZ0FFSHduUUUyQWpRZ0FFSHduUUUyQWpBZ0FFSHduUUUyQWl3Z0FFSHduUUUyQWlnZ0FFSHduUUUyQWlRZ0FFSHduUUUyQWlBZ0FFSHduUUUyQWh3TGtnWUNDWDhFZmlBQUlBRTJBZ0FnQVAwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTEF3Z2dBQ0FETmdJY0lBQWdBa0VCYXlJRk5nSVlJQUZCQTNFaENnSi9JQUpCQUV3RVFDQUJJUVFnQXd3QkN5QUFJQUZCQVdvaUJEWUNBQ0FCTFFBQUN5RUJRUWdoQnlBQVFRZzJBaEFnQUNBQnJTSU5Od01JSUFBZ0RVTC9BWU1pRGtML0FWRWlDVFlDRkFKQUlBcEJBMFlOQUNBQUlBSkJBbXNpQ0RZQ0dBSi9JQUpCQWtnRVFDQUVJUUVnQXd3QkN5QUFJQVJCQVdvaUFUWUNBQ0FFTFFBQUN5RUVJQUJCRDBFUUlBNUMvd0ZSR3lJSE5nSVFJQUFnQkswaURrTC9BWU1pRDBML0FWRWlDVFlDRkNBQUlBNUNDSVlnRFlRaURUY0RDQ0FLUVFKR0JFQWdBU0VFSUFVaEFpQUlJUVVNQVFzZ0FDQUNRUU5ySWdzMkFoZ2dBQUovSUFKQkEwZ0VRQ0FCSVFZZ0F3d0JDeUFBSUFGQkFXb2lCallDQUNBQkxRQUFDNjBpRGtML0FZTWlFRUwvQVZFaUNUWUNGQ0FBUVFkQkNDQVBRdjhCVVJzZ0Iyb2lBVFlDRUNBQUlBNGdCNjJHSUEyRUlnMDNBd2dnQ2tFQlJnUkFJQVloQkNBQklRY2dDQ0VDSUFzaEJRd0JDeUFBSUFKQkJHc2lCVFlDR0NBQUFuOGdBa0VFU0FSQUlBWWhCQ0FEREFFTElBQWdCa0VCYWlJRU5nSUFJQVl0QUFBTHJTSU9RdjhCZzBML0FWRWlDVFlDRkNBQVFRZEJDQ0FRUXY4QlVSc2dBV29pQnpZQ0VDQUFJQTRnQWEyR0lBMkVJZzAzQXdnZ0N5RUNDd0pBSUFKQkJVNEVRQ0FFS0FJQUlRTWdBQ0FDUVFWck5nSVlJQUFnQkVFRWFqWUNBQXdCQzBFQUlRRkJmMEVBSUFNYklRTWdBa0VDU0EwQUEwQWdBQ0FFUVFGcUlnSTJBZ0FnQkMwQUFDRUVJQUFnQlVFQmF5SUdOZ0lZSUFOQi93RWdBWFJCZjNOeElBUWdBWFJ5SVFNZ0FVRUlhaUVCSUFWQkFVc2hEQ0FDSVFRZ0JpRUZJQXdOQUFzTElBQWdBMEVZZGlJQlFmOEJSallDRkNBQVFRZEJDQ0FKR3lJQ1FRZEJDQ0FEUWY4QmNTSUVRZjhCUmh0cUlnVkJCMEVJSUFOQkNIWkIvd0Z4SWdaQi93RkdHMm9pQ0VFSFFRZ2dBMEVRZGtIL0FYRWlBMEgvQVVZYklBZHFhallDRUNBQUlBWWdBblFnQXlBRmRISWdBU0FJZEhJZ0JIS3RJQWV0aGlBTmhEY0RDQXUyQlFJU2Z3SitBbjhnQUNnQ0hDQUJRWmdCYkdvaUFrR1FBV3NvQWdBZ0FrR1lBV3NvQWdCcklnTWhCU0FDUVl3QmF5Z0NBQ0FDUVpRQmF5Z0NBR3NpQWlFR1FjQUFJQU1nQTBIQUFFOGJJUU5Cd0FBZ0FpQUNRY0FBVHhzaEJBSkFJQVZGRFFBZ0JrVU5BQ0FEUlEwQUlBUkZEUUJCZnlBRWJrRUNkaUFEU1EwQVFRRkJIQkFUSWdJZ0JEWUNEQ0FDSUFNMkFnZ2dBaUFHTmdJRUlBSWdCVFlDQUNBQ0lBU3RJaFFnQnExOFFnRjlJQlNBSWhTbklnUTJBaFFnQWlBRHJTSVZJQVd0ZkVJQmZTQVZnQ0lWcHlJRE5nSVFBa0FnRkVMLy8vLy9ENE1nRlVMLy8vLy9ENE4rUWlDSXB3MEFJQUpCQkNBRElBUnNFQk1pQXpZQ0dDQURSUTBBSUFJTUFnc2dBaEFRQzBFQUN5SUpSUVJBUVFBUEN3SkFJQUVFUUFOQUlBNUJtQUZzSWc4Z0FDZ0NIR29pQlNnQ0dDSUNCRUFnQlVFY2FpRVFJQVVvQWhRaEF5QUZLQUlRSVFSQkFDRUtBMEFnQXlBRWJBUkFJQkFnQ2tFa2JHb2hCa0VBSVFzRFFDQUdLQUlVSUF0QktHeHFJZ2dvQWhRaUFpQUlLQUlRSWdkc0JFQkJBQ0VFQTBBZ0NDZ0NHQ0FFUVFaMGFpSURLQUk4SWhFRVFDQURLQUlNSVFjZ0F5Z0NGQ0VTSUFNb0FoQWhEQ0FES0FJSUloTWdCaWdDQUdzaEF5QUdLQUlRSWcxQkFYRUVRQ0FBS0FJY0lBOXFJZ0pCa0FGcktBSUFJQU5xSUFKQm1BRnJLQUlBYXlFREN5QUhJQVlvQWdScklRSWdEVUVDY1FSQUlBSWdBQ2dDSENBUGFpSU5RWXdCYXlnQ0FHb2dEVUdVQVdzb0FnQnJJUUlMSUFrZ0F5QUNJQU1nRENBVGF5SU1haUFTSUFkcklBSnFJQkZCQVNBTVFRQVFKa1VOQ1NBSUtBSVFJUWNnQ0NnQ0ZDRUNDeUFFUVFGcUlnUWdBaUFIYkVrTkFBc2dCU2dDRUNFRUlBVW9BaFFoQXdzZ0MwRUJhaUlMSUFNZ0JHeEpEUUFMSUFVb0FoZ2hBZ3NnQ2tFQmFpSUtJQUpKRFFBTEN5QU9RUUZxSWc0Z0FVY05BQXNMSUFrUEN5QUpFQ05CQUF2UURBSVFmd1o3SUFBb0FnZ2lDeUFBS0FJRWFpRUhBa0FnQUNnQ0RFVUVRQ0FIUVFKSURRRWdBU2dDQUNBQklBdEJBblJxSWcwb0FnQWlCRUVCYWtFQmRXc2hBeUFBS0FJQUlRWUNRQ0FIUVFSSkJFQWdCQ0VDREFFTElBZEJCR3NpQUVFQmRpSUpRUUZxSVF3Q1FDQUFRUlpKQkVCQkFTRUFEQUVMSUFZZ0FTQUxRUUowYWlJRklBbEJBblFpQW1wQkNHcEpJQVlnQ1VFRGRHcEJDR29pQUNBRlFRUnFTM0VFUUVFQklRQU1BUXNnQmlBQklBSnFRUWhxU1NBQlFRUnFJQUJKY1FSQVFRRWhBQXdCQ3lBTVFmei8vLzhIY1NJRlFRRnlJUUFnQlVFQmRDRUlJQVQ5RVNFU0lBUDlFU0VUL1F3QUFBQUFBZ0FBQUFRQUFBQUdBQUFBSVJaQkFDRUNBMEFnQVNBQ1FRSjBRUVJ5SWdOcS9RQUNBQ0VWSUFNZ0RXcjlBQUlBSVJRZ0JpQUNRUU4wYWlJRElCUDlXZ0lBQXlBRFFRaHFJQlVnRkNBU0lCVDlEUXdORGc4UUVSSVRGQlVXRnhnWkdoc2lGZjJ1QWYwTUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQVAydUFVRUMvYXdCL2JFQkloTDlXZ0lBQUNBRFFSQnFJQkw5V2dJQUFTQURRUmhxSUJMOVdnSUFBaUFHSUJiOURBRUFBQUFCQUFBQUFRQUFBQUVBQUFEOVVDSVgvUnNBUVFKMGFpQVNJQk1nRXYwTkRBME9EeEFSRWhNVUZSWVhHQmthRy8ydUFVRUIvYXdCSUJYOXJnRWlFLzFhQWdBQUlBWWdGLzBiQVVFQ2RHb2dFLzFhQWdBQklBWWdGLzBiQWtFQ2RHb2dFLzFhQWdBQ0lBWWdGLzBiQTBFQ2RHb2dFLzFhQWdBRElCYjlEQWdBQUFBSUFBQUFDQUFBQUFnQUFBRDlyZ0VoRmlBU0lSTWdGQ0VTSUFKQkJHb2lBaUFGUncwQUN5QVMvUnNESVFJZ0UvMGJBeUVESUFVZ0RFWU5BU0FDSVFRTEEwQWdBU0FBUVFKMElnSnFLQUlBSVFrZ0FpQU5haWdDQUNFQ0lBWWdDRUVDZEdvaUJTQUROZ0lBSUFVZ0F5QUpJQUlnQkdwQkFtcEJBblZySWdOcVFRRjFJQVJxTmdJRUlBaEJBbW9oQ0NBQUlBeEhJUkFnQWlFRUlBQkJBV29oQUNBUURRQUxDeUFHSUFoQkFuUnFJQU0yQWdCQmZDRUFJQWRCQVhFRWZ5QUdJQWRCQVdzaUFFRUNkR29nQVNBQVFRRjBhaWdDQUNBQ1FRRnFRUUYxYXlJQU5nSUFJQUFnQTJwQkFYVWhBMEY0QlVGOEN5QUdJQWRCQW5RaUFHcHFJQUlnQTJvMkFnQWdBU0FHSUFBUUVob1BDd0pBQWtBQ1FDQUhRUUZyRGdJQUFRSUxJQUVnQVNnQ0FFRUNiVFlDQUE4TElBQW9BZ0FpQkNBQktBSUFJQUVnQzBFQ2RHb2lBeWdDQUVFQmFrRUJkV3NpQURZQ0JDQUVJQUFnQXlnQ0FHbzJBZ0FnQVNBRUtRSUFOd0lBRHdzZ0IwRURTQTBBSUFBb0FnQWlDaUFCS0FJQUlBRWdDMEVDZEdvaURpZ0NCQ0lFSUE0b0FnQWlBR3BCQW1wQkFuVnJJZ01nQUdvMkFnQkJBU0VJQWtBZ0IwRUNheUlHSUFkQkFYRWlERVVpQUd0QkFra0VRQ0FFSVFJTUFRc2dCeUFBYTBFRWF5SUFRUUYySWdKQkFXb2hEd0pBQWtBZ0FFRVdTUTBBSUFwQkJHb2lCU0FCSUFKQkFuUWlBR3BCQ0dwSklBb2dBa0VEZEdwQkRHb2lBaUFCUVFScVMzRU5BQ0FGSUFBZ0FTQUxRUUowYWlJQWFrRU1ha2tnQUVFSWFpQUNTWEVOQUNBUFFYeHhJZ1ZCQVhJaEFDQUZRUUYwUVFGeUlRZ2dCUDBSSVJNZ0EvMFJJUkpCQUNFQ0EwQWdDaUFDUVFOMGFpSUVJQUVnQWtFQ2RDSURhdjBBQWdRZ0V5QURJQTVxL1FBQ0NDSVQvUTBNRFE0UEVCRVNFeFFWRmhjWUdSb2JJaFVnRS8ydUFmME1BZ0FBQUFJQUFBQUNBQUFBQWdBQUFQMnVBVUVDL2F3Qi9iRUJJaFFnRkNBU0lCVDlEUXdORGc4UUVSSVRGQlVXRnhnWkdodjlyZ0ZCQWYyc0FTQVYvYTRCSWhYOURRUUZCZ2NZR1JvYkNBa0tDeHdkSGgvOUN3SVVJQVFnRWlBVi9RME1EUTRQRUJFU0V3QUJBZ01VRlJZWElCVDlEUUFCQWdNRUJRWUhFQkVTRXd3TkRnLzlDd0lFSUJRaEVpQUNRUVJxSWdJZ0JVY05BQXNnRS8wYkF5RUNJQkw5R3dNaEF5QUZJQTlHRFFJZ0FpRUVEQUVMUVFFaEFBc0RRQ0FCSUFCQkFuUnFLQUlBSVEwZ0RpQUFRUUZxSWdWQkFuUnFLQUlBSVFJZ0NpQUlRUUowYWlJSklBTTJBZ0FnQ1NBRElBMGdBaUFFYWtFQ2FrRUNkV3NpQTJwQkFYVWdCR28yQWdRZ0NFRUNhaUVJSUFBZ0QwY2hFU0FDSVFRZ0JTRUFJQkVOQUFzTElBb2dDRUVDZEdvZ0F6WUNBQUpBSUF4RkJFQWdDaUFHUVFKMGFpQUJJQWRCQVhScVFRUnJLQUlBSUFKQkFXcEJBWFZySWdBZ0EycEJBWFVnQW1vMkFnQU1BUXNnQWlBRGFpRUFDeUFLSUFkQkFuUWlBMnBCQkdzZ0FEWUNBQ0FCSUFvZ0F4QVNHZ3NMb0FjREEzMERld0ovSUFOQkNFOEVRQ0FEUVFOMklRc0RRQ0FCL1FBRUFDRUhJQUFnQVAwQUJBQWlDQ0FDL1FBRUFDSUovUXk4ZExNL3ZIU3pQN3gwc3orOGRMTS8vZVlCL2VRQi9Rc0VBQ0FCSUFnZ0IvME16ekd3UHM4eHNEN1BNYkErenpHd1B2M21BZjNsQVNBSi9RemgwVFkvNGRFMlArSFJOai9oMFRZLy9lWUIvZVVCL1FzRUFDQUNJQWdnQi8wTTVkRGlQK1hRNGovbDBPSS81ZERpUC8zbUFmM2tBZjBMQkFBZ0FmMEFCQkFoQnlBQUlBRDlBQVFRSWdnZ0F2MEFCQkFpQ2YwTXZIU3pQN3gwc3orOGRMTS92SFN6UC8zbUFmM2tBZjBMQkJBZ0FTQUlJQWY5RE04eHNEN1BNYkErenpHd1BzOHhzRDc5NWdIOTVRRWdDZjBNNGRFMlArSFJOai9oMFRZLzRkRTJQLzNtQWYzbEFmMExCQkFnQWlBSUlBZjlET1hRNGovbDBPSS81ZERpUCtYUTRqLzk1Z0g5NUFIOUN3UVFJQUpCSUdvaEFpQUJRU0JxSVFFZ0FFRWdhaUVBSUFwQkFXb2lDaUFMUncwQUN3c0NRQ0FEUVFkeElnTkZEUUFnQVNvQ0FDRUVJQUFnQWlvQ0FDSUdRN3gwc3orVUlBQXFBZ0FpQlpJNEFnQWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJQUlBSWdCU0FFUStYUTRqK1VramdDQUNBRFFRRkdEUUFnQVNvQ0JDRUVJQUFnQWlvQ0JDSUdRN3gwc3orVUlBQXFBZ1FpQlpJNEFnUWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJRUlBSWdCU0FFUStYUTRqK1VramdDQkNBRFFRSkdEUUFnQVNvQ0NDRUVJQUFnQWlvQ0NDSUdRN3gwc3orVUlBQXFBZ2dpQlpJNEFnZ2dBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJSUlBSWdCU0FFUStYUTRqK1VramdDQ0NBRFFRTkdEUUFnQVNvQ0RDRUVJQUFnQWlvQ0RDSUdRN3gwc3orVUlBQXFBZ3dpQlpJNEFnd2dBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJTUlBSWdCU0FFUStYUTRqK1VramdDRENBRFFRUkdEUUFnQVNvQ0VDRUVJQUFnQWlvQ0VDSUdRN3gwc3orVUlBQXFBaEFpQlpJNEFoQWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJUUlBSWdCU0FFUStYUTRqK1VramdDRUNBRFFRVkdEUUFnQVNvQ0ZDRUVJQUFnQWlvQ0ZDSUdRN3gwc3orVUlBQXFBaFFpQlpJNEFoUWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJVUlBSWdCU0FFUStYUTRqK1VramdDRkNBRFFRWkdEUUFnQVNvQ0dDRUVJQUFnQWlvQ0dDSUdRN3gwc3orVUlBQXFBaGdpQlpJNEFoZ2dBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJWUlBSWdCU0FFUStYUTRqK1VramdDR0FzTDRBRUNCbjhEZXdKQUlBTkZEUUFnQTBFRVR3UkFJQU5CZkhFaEJnTkFJQUFnQkVFQ2RDSUZhaUlISUFmOUFBSUFJQUlnQldvaUIvMEFBZ0FpQ3lBQklBVnFJZ1g5QUFJQUlnejlyZ0ZCQXYyc0FmMnhBU0lLSUF2OXJnSDlDd0lBSUFVZ0N2MExBZ0FnQnlBS0lBejlyZ0g5Q3dJQUlBUkJCR29pQkNBR1J3MEFDeUFESUFaR0RRRUxBMEFnQUNBR1FRSjBJZ1JxSWdVZ0JTZ0NBQ0FDSUFScUlnVW9BZ0FpQnlBQklBUnFJZ2dvQWdBaUNXcEJBblZySWdRZ0IybzJBZ0FnQ0NBRU5nSUFJQVVnQkNBSmFqWUNBQ0FHUVFGcUlnWWdBMGNOQUFzTEM5MEJBUVIvSXdCQmdBRnJJZ1lrQUNBR0lRVUNRQ0FCS0FJTUlBSkJCSFJxSWdJb0FnQWlCRVVFUUNBQ0lRRU1BUXNEUUNBRklBSTJBZ0FnQlVFRWFpRUZJQVFpQVNJQ0tBSUFJZ1FOQUFzTFFRQWhCQU5BSUFFb0FnZ2lBaUFFU0FSQUlBRWdCRFlDQ0NBRUlRSUxBa0FnQWlBRFRnMEFBMEFnQWlBQktBSUVUZzBCQWtBZ0FFRUJFQjhFUUNBQklBSTJBZ1FNQVFzZ0FrRUJhaUVDQ3lBQ0lBTklEUUFMQ3lBQklBSTJBZ2dnQlNBR1J3UkFJQVZCQkdzaUJTZ0NBQ0VCSUFJaEJBd0JDd3NnQVNnQ0JDRUhJQVpCZ0FGcUpBQWdCeUFEU0F2OUJnRUxmeU1BUVlBQ2F5SUtKQUFDUUNBQVJRUkFRUUFoQUF3QkN3SkFJQUVnQUNnQ0FFWUVRQ0FBS0FJRUlBSkdEUUVMSUFBZ0FqWUNCQ0FBSUFFMkFnQWdDaUFDTmdJQUlBb2dBVFlDZ0FFZ0FpRUVJQUVoQlFOQUlBb2dCeUlNUVFGcUlnZEJBblFpQ0dvZ0JFRUJha0VDYlNJSk5nSUFJQXBCZ0FGcUlBaHFJQVZCQVdwQkFtMGlDRFlDQUNBR0lBUWdCV3dpQzJvaEJpQUpJUVFnQ0NFRklBdEJBVXNOQUFzZ0FDQUdOZ0lJQWtBQ1FBSkFBa0FnQmtVRVFDQUFLQUlNSWdSRkRRSWdBRUVNYWlFRkRBRUxJQVpCQkhRaUJDQUFLQUlRVFEwRElBQW9BZ3dnQkJBWElnRU5BaUFEUVFGQm1qRkJBQkFQSUFCQkRHb2lCU2dDQUNJRVJRMEJDeUFFRUJBZ0JVRUFOZ0lBQ3lBQUVCQkJBQ0VBREFNTElBQWdBVFlDRENBQklBQW9BaEFpQW1wQkFDQUVJQUpyRUJVYUlBQWdCRFlDRUNBQUtBSUVJUUlnQUNnQ0FDRUJDeUFBS0FJTUlRVWdEQVJBUVFBaEF5QUZJQUVnQW14QkJIUnFJZ1FoQmdOQUFrQWdDaUFEUVFKMElnRnFLQUlBSWdoQkFFd05BQ0FJUVFGcklRdEJBQ0VKQWtBQ1FDQUtRWUFCYWlBQmFpZ0NBQ0lDUVFCTUJFQWdDRUVCY1NFTlFRQWhCeUFJUVFGSERRRWdCaUVCREFJTEEwQWdCaUVCSUFJaEJnTkFBa0FnQlNBRU5nSUFJQVpCQVVZRVFDQUZRUkJxSVFVZ0JFRVFhaUVFREFFTElBVWdCRFlDRUNBRVFSQnFJUVFnQlVFZ2FpRUZJQVpCQWtvaERpQUdRUUpySVFZZ0RnMEJDd3NnQkNBQklBSkJCSFJxSUFrZ0NTQUxSbkpCQVhFaUJ4c2hCaUFFSUFFZ0J4c2hCQ0FKUVFGcUlna2dDRWNOQUFzTUFnc2dDRUgrLy8vL0IzRWhDQU5BSUFjZ0MwWWhBU0FIUVFKcUlRY2dCQ0FHSUFFYklnUWhCaUFFSVFFZ0NVRUNhaUlKSUFoSERRQUxDeUFOUlFSQUlBUWhCZ3dCQ3lBRUlBRWdBa0VFZEdvZ0J5QUhJQXRHY2tFQmNTSUNHeUVHSUFRZ0FTQUNHeUVFQ3lBRFFRRnFJZ01nREVjTkFBc0xJQVZCQURZQ0FBc2dBQ2dDQ0NJQlJRMEFJQUFvQWd3aEJDQUJRUVJQQkVBZ0FVRjhjU0VDUVFBaEJRTkFJQVJCQURZQ1BDQUVRdWNITndJMElBUkJBRFlDTENBRVF1Y0hOd0lrSUFSQkFEWUNIQ0FFUXVjSE53SVVJQVJCQURZQ0RDQUVRdWNITndJRUlBUkJRR3NoQkNBRlFRUnFJZ1VnQWtjTkFBc0xJQUZCQTNFaUFVVU5BRUVBSVFVRFFDQUVRUUEyQWd3Z0JFTG5CemNDQkNBRVFSQnFJUVFnQlVFQmFpSUZJQUZIRFFBTEN5QUtRWUFDYWlRQUlBQUxzUUVCQTM4Q1FDQUFSUTBBSUFBb0FnZ2lBVVVOQUNBQUtBSU1JUUFnQVVFRVR3UkFJQUZCZkhFaEF3TkFJQUJCQURZQ1BDQUFRdWNITndJMElBQkJBRFlDTENBQVF1Y0hOd0lrSUFCQkFEWUNIQ0FBUXVjSE53SVVJQUJCQURZQ0RDQUFRdWNITndJRUlBQkJRR3NoQUNBQ1FRUnFJZ0lnQTBjTkFBc0xJQUZCQTNFaUFVVU5BRUVBSVFJRFFDQUFRUUEyQWd3Z0FFTG5CemNDQkNBQVFSQnFJUUFnQWtFQmFpSUNJQUZIRFFBTEN3djdCUUVRZnlNQVFZQUNheUlJSkFBQ2YwRUJRUlFRRXlJR1JRUkFJQUpCQVVIME1FRUFFQTlCQUF3QkN5QUdJQUUyQWdRZ0JpQUFOZ0lBSUFnZ0FUWUNBQ0FJSUFBMkFvQUJBMEFnQ0NBRklnMUJBV29pQlVFQ2RDSUhhaUFCUVFGcVFRSnRJZ00yQWdBZ0NFR0FBV29nQjJvZ0FFRUJha0VDYlNJSE5nSUFJQVFnQUNBQmJDSUphaUVFSUFNaEFTQUhJUUFnQ1VFQlN3MEFDeUFHSUFRMkFnZ2dCRVVFUUNBR0VCQkJBQXdCQ3lBR0lBUkJFQkFUSWdNMkFnd2dBMFVFUUNBQ1FRRkIyaHBCQUJBUElBWVFFRUVBREFFTElBWWdCaWdDQ0NJTFFRUjBOZ0lRSUFNaEFDQU5CRUFnQXlBR0tBSUVJQVlvQWdCc1FRUjBhaUlFSVFFRFFBSkFJQWdnRGtFQ2RDSUNhaWdDQUNJSlFRQk1EUUFnQ1VFQmF5RU1RUUFoQndKQUlBaEJnQUZxSUFKcUtBSUFJZ0pCQUV3RVFFRUFJUVVnQ1VFQlJ3UkFJQWxCL3YvLy93ZHhJUW9EUUNBRklBeEdJUThnQlVFQ2FpRUZJQUVnQkNBUEd5SUVJUUVnQjBFQ2FpSUhJQXBIRFFBTEN5QUpRUUZ4RFFFZ0JDRUJEQUlMQTBBZ0JDRUZJQUloQkFOQUFrQWdBQ0FCTmdJQUlBUkJBVVlFUUNBQVFSQnFJUUFnQVVFUWFpRUJEQUVMSUFBZ0FUWUNFQ0FCUVJCcUlRRWdBRUVnYWlFQUlBUkJBa29oRUNBRVFRSnJJUVFnRUEwQkN3c2dBU0FGSUFKQkJIUnFJQWNnQnlBTVJuSkJBWEVpQ2hzaEJDQUJJQVVnQ2hzaEFTQUhRUUZxSWdjZ0NVY05BQXNNQVFzZ0FTQUVJQUpCQkhScUlBVWdCU0FNUm5KQkFYRWlCUnNoRVNBQklBUWdCUnNoQVNBUklRUUxJQTVCQVdvaURpQU5SdzBBQ3dzZ0FFRUFOZ0lBQWtBZ0MwVU5BQ0FMUVFSUEJFQWdDMEY4Y1NFQVFRQWhBUU5BSUFOQkFEWUNQQ0FEUXVjSE53STBJQU5CQURZQ0xDQURRdWNITndJa0lBTkJBRFlDSENBRFF1Y0hOd0lVSUFOQkFEWUNEQ0FEUXVjSE53SUVJQU5CUUdzaEF5QUJRUVJxSWdFZ0FFY05BQXNMSUF0QkEzRWlBRVVOQUVFQUlRRURRQ0FEUVFBMkFnd2dBMExuQnpjQ0JDQURRUkJxSVFNZ0FVRUJhaUlCSUFCSERRQUxDeUFHQ3lFU0lBaEJnQUpxSkFBZ0VndFRBUUYvQW44Z0FDMEFERUgvQVVZRVFDQUFRb0QrZzREd0FEY0NERUVBSUFBb0FnZ2lBU0FBS0FJRVR3MEJHaUFBSUFGQkFXbzJBZ2dnQUNBQkxRQUFRWUQrQTNJMkFnd0xJQUJCQURZQ0VFRUJDd3QrQWdGL0FYNGdBTDBpQTBJMGlLZEIvdzl4SWdKQi93OUhCSHdnQWtVRVFDQUJJQUJFQUFBQUFBQUFBQUJoQkg5QkFBVWdBRVFBQUFBQUFBRHdRNklnQVJCbElRQWdBU2dDQUVGQWFnczJBZ0FnQUE4TElBRWdBa0grQjJzMkFnQWdBMEwvLy8vLy8vLy9oNEIvZzBLQWdJQ0FnSUNBOEQrRXZ3VWdBQXNMU1FFQmZ3SkFRUUZCTEJBVElnRUVRQ0FCUVFBMkFoQUNRQ0FBUVFCTUJFQWdBVUVCUVFnUUV5SUFOZ0lrSUFCRkRRRU1Bd3NnQVVFQU5nSU1DeUFCRUJBTFFRQWhBUXNnQVF1UkFnQWdBRVVFUUVFQUR3c0Nmd0pBSUFGQi93Qk5EUUFDUUVHVTBBRW9BZ0FvQWdCRkJFQWdBVUdBZjNGQmdMOERSZzBDREFFTElBRkIvdzlOQkVBZ0FDQUJRVDl4UVlBQmNqb0FBU0FBSUFGQkJuWkJ3QUZ5T2dBQVFRSU1Bd3NnQVVHQVFIRkJnTUFEUnlBQlFZQ3dBMDl4UlFSQUlBQWdBVUUvY1VHQUFYSTZBQUlnQUNBQlFReDJRZUFCY2pvQUFDQUFJQUZCQm5aQlAzRkJnQUZ5T2dBQlFRTU1Bd3NnQVVHQWdBUnJRZi8vUDAwRVFDQUFJQUZCUDNGQmdBRnlPZ0FESUFBZ0FVRVNka0h3QVhJNkFBQWdBQ0FCUVFaMlFUOXhRWUFCY2pvQUFpQUFJQUZCREhaQlAzRkJnQUZ5T2dBQlFRUU1Bd3NMUVpUSEFVRVpOZ0lBUVg4TUFRc2dBQ0FCT2dBQVFRRUxDN3dDQUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBVUVKYXc0U0FBZ0pDZ2dKQVFJREJBb0pDZ29JQ1FVR0J3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJLQUlBTmdJQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNZ0VBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNd0VBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNQUFBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNUUFBTndNQUR3c2dBaUFDS0FJQVFRZHFRWGh4SWdGQkNHbzJBZ0FnQUNBQkt3TUFPUU1BRHdzZ0FDQUNJQU1SQXdBTER3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJOQUlBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJOUUlBTndNQUR3c2dBaUFDS0FJQVFRZHFRWGh4SWdGQkNHbzJBZ0FnQUNBQktRTUFOd01BQzNNQkJuOGdBQ2dDQUNJRExBQUFRVEJySWdGQkNVc0VRRUVBRHdzRFFFRi9JUVFnQWtITW1iUG1BRTBFUUVGL0lBRWdBa0VLYkNJRmFpQUJJQVZCLy8vLy93ZHpTeHNoQkFzZ0FDQURRUUZxSWdVMkFnQWdBeXdBQVNFR0lBUWhBaUFGSVFNZ0JrRXdheUlCUVFwSkRRQUxJQUlMdEJRQ0ZYOEJmaU1BUVVCcUlnZ2tBQ0FJSUFFMkFqd2dDRUVuYWlFV0lBaEJLR29oRVFKQUFrQUNRQUpBQTBCQkFDRUhBMEFnQVNFTklBY2dEa0gvLy8vL0IzTktEUUlnQnlBT2FpRU9Ba0FDUUFKQUFrQWdBU0lITFFBQUlnc0VRQU5BQWtBQ1FDQUxRZjhCY1NJQlJRUkFJQWNoQVF3QkN5QUJRU1ZIRFFFZ0J5RUxBMEFnQ3kwQUFVRWxSd1JBSUFzaEFRd0NDeUFIUVFGcUlRY2dDeTBBQWlFWklBdEJBbW9pQVNFTElCbEJKVVlOQUFzTElBY2dEV3NpQnlBT1FmLy8vLzhIY3lJWFNnMEpJQUFFUUNBQUlBMGdCeEFaQ3lBSERRY2dDQ0FCTmdJOElBRkJBV29oQjBGL0lSQUNRQ0FCTEFBQlFUQnJJZ2xCQ1VzTkFDQUJMUUFDUVNSSERRQWdBVUVEYWlFSFFRRWhFaUFKSVJBTElBZ2dCellDUEVFQUlRd0NRQ0FITEFBQUlndEJJR3NpQVVFZlN3UkFJQWNoQ1F3QkN5QUhJUWxCQVNBQmRDSUJRWW5SQkhGRkRRQURRQ0FJSUFkQkFXb2lDVFlDUENBQklBeHlJUXdnQnl3QUFTSUxRU0JySWdGQklFOE5BU0FKSVFkQkFTQUJkQ0lCUVluUkJIRU5BQXNMQWtBZ0MwRXFSZ1JBQW44Q1FDQUpMQUFCUVRCcklnRkJDVXNOQUNBSkxRQUNRU1JIRFFBQ2Z5QUFSUVJBSUFRZ0FVRUNkR3BCQ2pZQ0FFRUFEQUVMSUFNZ0FVRURkR29vQWdBTElROGdDVUVEYWlFQlFRRU1BUXNnRWcwR0lBbEJBV29oQVNBQVJRUkFJQWdnQVRZQ1BFRUFJUkpCQUNFUERBTUxJQUlnQWlnQ0FDSUhRUVJxTmdJQUlBY29BZ0FoRDBFQUN5RVNJQWdnQVRZQ1BDQVBRUUJPRFFGQkFDQVBheUVQSUF4QmdNQUFjaUVNREFFTElBaEJQR29RYVNJUFFRQklEUW9nQ0NnQ1BDRUJDMEVBSVFkQmZ5RUtBbjlCQUNBQkxRQUFRUzVIRFFBYUlBRXRBQUZCS2tZRVFBSi9Ba0FnQVN3QUFrRXdheUlKUVFsTERRQWdBUzBBQTBFa1J3MEFJQUZCQkdvaEFRSi9JQUJGQkVBZ0JDQUpRUUowYWtFS05nSUFRUUFNQVFzZ0F5QUpRUU4wYWlnQ0FBc01BUXNnRWcwR0lBRkJBbW9oQVVFQUlBQkZEUUFhSUFJZ0FpZ0NBQ0lKUVFScU5nSUFJQWtvQWdBTElRb2dDQ0FCTmdJOElBcEJBRTRNQVFzZ0NDQUJRUUZxTmdJOElBaEJQR29RYVNFS0lBZ29BandoQVVFQkN5RVRBMEFnQnlFVVFSd2hDU0FCSWhnc0FBQWlCMEg3QUd0QlJra05DeUFCUVFGcUlRRWdCeUFVUVRwc2FrRy93QUZxTFFBQUlnZEJBV3RCQ0VrTkFBc2dDQ0FCTmdJOEFrQWdCMEViUndSQUlBZEZEUXdnRUVFQVRnUkFJQUJGQkVBZ0JDQVFRUUowYWlBSE5nSUFEQXdMSUFnZ0F5QVFRUU4wYWlrREFEY0RNQXdDQ3lBQVJRMElJQWhCTUdvZ0J5QUNJQVlRYUF3QkN5QVFRUUJPRFF0QkFDRUhJQUJGRFFnTElBQXRBQUJCSUhFTkN5QU1RZi8vZTNFaUN5QU1JQXhCZ01BQWNSc2hERUVBSVJCQnNBZ2hGU0FSSVFrQ1FBSkFBbjhDUUFKQUFrQUNRQUpBQWtBQ2Z3SkFBa0FDUUFKQUFrQUNRQUpBSUJnc0FBQWlCMEZUY1NBSElBZEJEM0ZCQTBZYklBY2dGQnNpQjBIWUFHc09JUVFXRmhZV0ZoWVdGaEFXQ1FZUUVCQVdCaFlXRmhZQ0JRTVdGZ29XQVJZV0JBQUxBa0FnQjBIQkFHc09CeEFXQ3hZUUVCQUFDeUFIUWRNQVJnMExEQlVMSUFncEF6QWhIRUd3Q0F3RkMwRUFJUWNDUUFKQUFrQUNRQUpBQWtBQ1FDQVVRZjhCY1E0SUFBRUNBd1FjQlFZY0N5QUlLQUl3SUE0MkFnQU1Hd3NnQ0NnQ01DQU9OZ0lBREJvTElBZ29BakFnRHF3M0F3QU1HUXNnQ0NnQ01DQU9Pd0VBREJnTElBZ29BakFnRGpvQUFBd1hDeUFJS0FJd0lBNDJBZ0FNRmdzZ0NDZ0NNQ0FPckRjREFBd1ZDMEVJSUFvZ0NrRUlUUnNoQ2lBTVFRaHlJUXhCK0FBaEJ3c2dFU0VCSUFncEF6QWlIRUlBVWdSQUlBZEJJSEVoRFFOQUlBRkJBV3NpQVNBY3AwRVBjVUhReEFGcUxRQUFJQTF5T2dBQUlCeENEMVloR2lBY1FnU0lJUndnR2cwQUN3c2dBU0VOSUFncEF6QlFEUU1nREVFSWNVVU5BeUFIUVFSMlFiQUlhaUVWUVFJaEVBd0RDeUFSSVFFZ0NDa0RNQ0ljUWdCU0JFQURRQ0FCUVFGcklnRWdIS2RCQjNGQk1ISTZBQUFnSEVJSFZpRWJJQnhDQTRnaEhDQWJEUUFMQ3lBQklRMGdERUVJY1VVTkFpQUtJQkVnQVdzaUFVRUJhaUFCSUFwSUd5RUtEQUlMSUFncEF6QWlIRUlBVXdSQUlBaENBQ0FjZlNJY053TXdRUUVoRUVHd0NBd0JDeUFNUVlBUWNRUkFRUUVoRUVHeENBd0JDMEd5Q0VHd0NDQU1RUUZ4SWhBYkN5RVZJQndnRVJBcUlRMExJQk1nQ2tFQVNIRU5FU0FNUWYvL2UzRWdEQ0FUR3lFTUFrQWdDQ2tETUNJY1FnQlNEUUFnQ2cwQUlCRWhEVUVBSVFvTURnc2dDaUFjVUNBUklBMXJhaUlCSUFFZ0NrZ2JJUW9NRFFzZ0NDa0RNQ0VjREFzTEFuOUIvLy8vL3djZ0NpQUtRZi8vLy84SFR4c2lEQ0lIUVFCSElRa0NRQUpBQWtBZ0NDZ0NNQ0lCUVlRTUlBRWJJZzBpQVVFRGNVVU5BQ0FIUlEwQUEwQWdBUzBBQUVVTkFpQUhRUUZySWdkQkFFY2hDU0FCUVFGcUlnRkJBM0ZGRFFFZ0J3MEFDd3NnQ1VVTkFRSkFJQUV0QUFCRkRRQWdCMEVFU1EwQUEwQkJnSUtFQ0NBQktBSUFJZ2xySUFseVFZQ0Jnb1I0Y1VHQWdZS0VlRWNOQWlBQlFRUnFJUUVnQjBFRWF5SUhRUU5MRFFBTEN5QUhSUTBCQ3dOQUlBRWdBUzBBQUVVTkFob2dBVUVCYWlFQklBZEJBV3NpQncwQUN3dEJBQXNpQVNBTmF5QU1JQUViSWdFZ0RXb2hDU0FLUVFCT0JFQWdDeUVNSUFFaENnd01DeUFMSVF3Z0FTRUtJQWt0QUFBTkR3d0xDeUFJS1FNd0loeENBRklOQVVJQUlSd01DUXNnQ2dSQUlBZ29BakFNQWd0QkFDRUhJQUJCSUNBUFFRQWdEQkFjREFJTElBaEJBRFlDRENBSUlCdytBZ2dnQ0NBSVFRaHFJZ2MyQWpCQmZ5RUtJQWNMSVF0QkFDRUhBMEFDUUNBTEtBSUFJZzFGRFFBZ0NFRUVhaUFORUdjaURVRUFTQTBQSUEwZ0NpQUhhMHNOQUNBTFFRUnFJUXNnQnlBTmFpSUhJQXBKRFFFTEMwRTlJUWtnQjBFQVNBME1JQUJCSUNBUElBY2dEQkFjSUFkRkJFQkJBQ0VIREFFTFFRQWhDU0FJS0FJd0lRc0RRQ0FMS0FJQUlnMUZEUUVnQ0VFRWFpSUtJQTBRWnlJTklBbHFJZ2tnQjBzTkFTQUFJQW9nRFJBWklBdEJCR29oQ3lBSElBbExEUUFMQ3lBQVFTQWdEeUFISUF4QmdNQUFjeEFjSUE4Z0J5QUhJQTlJR3lFSERBZ0xJQk1nQ2tFQVNIRU5DVUU5SVFrZ0FDQUlLd013SUE4Z0NpQU1JQWNnQlJFVEFDSUhRUUJPRFFjTUNnc2dCeTBBQVNFTElBZEJBV29oQnd3QUN3QUxJQUFOQ1NBU1JRMERRUUVoQndOQUlBUWdCMEVDZEdvb0FnQWlBQVJBSUFNZ0IwRURkR29nQUNBQ0lBWVFhRUVCSVE0Z0IwRUJhaUlIUVFwSERRRU1Dd3NMUVFFaERpQUhRUXBQRFFrRFFDQUVJQWRCQW5ScUtBSUFEUUVnQjBFQmFpSUhRUXBIRFFBTERBa0xRUndoQ1F3R0N5QUlJQnc4QUNkQkFTRUtJQlloRFNBTElRd0xJQW9nQ1NBTmF5SUxJQW9nQzBvYklnb2dFRUgvLy8vL0IzTktEUU5CUFNFSklBOGdDaUFRYWlJQklBRWdEMGdiSWdjZ0Ywb05CQ0FBUVNBZ0J5QUJJQXdRSENBQUlCVWdFQkFaSUFCQk1DQUhJQUVnREVHQWdBUnpFQndnQUVFd0lBb2dDMEVBRUJ3Z0FDQU5JQXNRR1NBQVFTQWdCeUFCSUF4QmdNQUFjeEFjSUFnb0Fqd2hBUXdCQ3dzTFFRQWhEZ3dEQzBFOUlRa0xRWlRIQVNBSk5nSUFDMEYvSVE0TElBaEJRR3NrQUNBT0M2Z0NBUVIvSXdCQjBBRnJJZ1VrQUNBRklBSTJBc3dCSUFWQm9BRnFJZ0pCQUVFb0VCVWFJQVVnQlNnQ3pBRTJBc2dCQWtCQkFDQUJJQVZCeUFGcUlBVkIwQUJxSUFJZ0F5QUVFR3BCQUVnTkFDQUFLQUpNUVFCSUlRZ2dBQ0FBS0FJQUlnZEJYM0UyQWdBQ2Z3SkFBa0FnQUNnQ01FVUVRQ0FBUWRBQU5nSXdJQUJCQURZQ0hDQUFRZ0EzQXhBZ0FDZ0NMQ0VHSUFBZ0JUWUNMQXdCQ3lBQUtBSVFEUUVMUVg4Z0FCQStEUUVhQ3lBQUlBRWdCVUhJQVdvZ0JVSFFBR29nQlVHZ0FXb2dBeUFFRUdvTElRRWdCZ1IvSUFCQkFFRUFJQUFvQWlRUkFBQWFJQUJCQURZQ01DQUFJQVkyQWl3Z0FFRUFOZ0ljSUFBb0FoUWFJQUJDQURjREVFRUFCU0FCQ3hvZ0FDQUFLQUlBSUFkQklIRnlOZ0lBSUFnTkFBc2dCVUhRQVdva0FBc25BUUYvUVJ3aEF5QUJRUU54Qkg5QkhBVWdBQ0FCSUFJUUpTSUFOZ0lBUVFCQk1DQUFHd3NML1FNQkJYOENmMEhneEFFb0FnQWlBaUFBUVFkcVFYaHhJZ0ZCQjJwQmVIRWlBMm9oQUFKQUlBTkJBQ0FBSUFKTkcwVUVRQ0FBUHdCQkVIUk5EUUVnQUJBS0RRRUxRWlRIQVVFd05nSUFRWDhNQVF0QjRNUUJJQUEyQWdBZ0Fnc2lBa0YvUndSQUlBRWdBbW9pQUVFRWEwRVFOZ0lBSUFCQkVHc2lBMEVRTmdJQUFrQUNmMEdnendFb0FnQWlBUVIvSUFFb0FnZ0ZRUUFMSUFKR0JFQWdBaUFDUVFScktBSUFRWDV4YXlJRVFRUnJLQUlBSVFVZ0FTQUFOZ0lJSUFRZ0JVRitjV3NpQUNBQUtBSUFha0VFYXkwQUFFRUJjUVJBSUFBb0FnUWlBU0FBS0FJSUlnUTJBZ2dnQkNBQk5nSUVJQUFnQXlBQWF5SUJOZ0lBREFNTElBSkJFR3NNQVFzZ0FrRVFOZ0lBSUFJZ0FEWUNDQ0FDSUFFMkFnUWdBa0VRTmdJTVFhRFBBU0FDTmdJQUlBSkJFR29MSWdBZ0F5QUFheUlCTmdJQUN5QUFJQUZCZkhGcVFRUnJJQUZCQVhJMkFnQWdBQUovSUFBb0FnQkJDR3NpQVVIL0FFMEVRQ0FCUVFOMlFRRnJEQUVMSUFGQkhTQUJaeUlEYTNaQkJITWdBMEVDZEd0QjdnQnFJQUZCL3g5TkRRQWFRVDhnQVVFZUlBTnJka0VDY3lBRFFRRjBhMEhIQUdvaUFTQUJRVDlQR3dzaUFVRUVkQ0lEUWFESEFXbzJBZ1FnQUNBRFFhakhBV29pQXlnQ0FEWUNDQ0FESUFBMkFnQWdBQ2dDQ0NBQU5nSUVRYWpQQVVHb3p3RXBBd0JDQVNBQnJZYUVOd01BQ3lBQ1FYOUhDNzBCQVFKL0FrQWdBQ2dDVENJQlFRQk9CRUFnQVVVTkFVSE16d0VvQWdBZ0FVSC8vLy8vQTNGSERRRUxBa0FnQUNnQ1VFRUtSZzBBSUFBb0FoUWlBU0FBS0FJUVJnMEFJQUFnQVVFQmFqWUNGQ0FCUVFvNkFBQVBDeUFBRUc4UEN5QUFRY3dBYWlJQklBRW9BZ0FpQWtILy8vLy9BeUFDR3pZQ0FBSkFBa0FnQUNnQ1VFRUtSZzBBSUFBb0FoUWlBaUFBS0FJUVJnMEFJQUFnQWtFQmFqWUNGQ0FDUVFvNkFBQU1BUXNnQUJCdkN5QUJLQUlBR2lBQlFRQTJBZ0FMZkFFQ2Z5TUFRUkJySWdFa0FDQUJRUW82QUE4Q1FBSkFJQUFvQWhBaUFnUi9JQUlGSUFBUVBnMENJQUFvQWhBTElBQW9BaFFpQWtZTkFDQUFLQUpRUVFwR0RRQWdBQ0FDUVFGcU5nSVVJQUpCQ2pvQUFBd0JDeUFBSUFGQkQycEJBU0FBS0FJa0VRQUFRUUZIRFFBZ0FTMEFEeG9MSUFGQkVHb2tBQXV3QWdFQ2Z5QUFCRUFnQUNnQ0FCQTRJQUJCQURZQ0FDQUFLQUpJSWdFRVFDQUJFQkFnQUVFQU5nSklDeUFBS0FKRUlnRUVRQ0FCRUJBZ0FFRUFOZ0pFQ3lBQUtBSnNJZ0VFUUNBQkVCQWdBRUVBTmdKc0N5QUFLQUowSWdFRVFDQUJLQUlBSWdJRVFDQUNFQkFnQUNnQ2RDSUJRUUEyQWdBTElBRVFFQ0FBUVFBMkFuUUxJQUFvQW5naUFRUkFJQUVvQWd3aUFnUkFJQUlRRUNBQUtBSjRJZ0ZCQURZQ0RBc2dBU2dDQkNJQ0JFQWdBaEFRSUFBb0FuZ2lBVUVBTmdJRUN5QUJLQUlJSWdJRVFDQUNFQkFnQUNnQ2VDSUJRUUEyQWdnTElBRW9BZ0FpQWdSQUlBSVFFQ0FBS0FKNElnRkJBRFlDQUFzZ0FSQVFJQUJCQURZQ2VBc2dBQ2dDQkNJQkJFQWdBUkF5SUFCQkFEWUNCQXNnQUNnQ0NDSUJCRUFnQVJBeUlBQkJBRFlDQ0FzZ0FCQVFDd3VMR3dJZWZ3VjdJd0JCOEFGcklna2tBRUVCSVE0Q1FDQUFLQUlBS0FJOERRQWdBQ2dDZ0FFTkFBSkFBa0FnQUNnQ2RDSUlSUVJBSUFBb0FuZ2hCQXdCQ3lBQktBSVFJUU1nQ0M4QkJDRUdBa0FnQUNnQ2VDSUVSUTBBSUFRb0FneEZEUUFnQkMwQUVpRURDd0pBSUFZRVFDQUlLQUlBSVFnRFFDQUlJQVZCQm14cUlnb3ZBUUFpQnlBRFR3UkFJQWtnQXpZQ3RBRWdDU0FITmdLd0FTQUNRUUZCb09ZQUlBbEJzQUZxRUE5QkFDRU9EQVlMQWtBZ0NpOEJCQ0lLUlEwQUlBcEIvLzhEUmcwQUlBcEJBV3NpQ2lBRFNRMEFJQWtnQXpZQ3BBRWdDU0FLTmdLZ0FTQUNRUUZCb09ZQUlBbEJvQUZxRUE5QkFDRU9EQVlMSUFWQkFXb2lCU0FHUncwQUN3d0JDeUFERFFJTUFRc0RRQ0FEUVFGcklRTkJBQ0VGQTBBZ0NDQUZRUVpzYWk4QkFDQURSd1JBSUFWQkFXb2lCU0FHUncwQkRBUUxDeUFERFFBTEN3SkFJQVJGRFFBZ0JDZ0NEQ0lLUlEwQUFrQUNRQ0FFTFFBU0lnZ0VRRUVBSVFWQkFTRUhBMEFnQVNnQ0VDSURJQW9nQlVFQ2RHb3ZBUUFpQkUwRVFDQUpJQU0yQXBRQklBa2dCRFlDa0FFZ0FrRUJRYURtQUNBSlFaQUJhaEFQUVFBaEJ3c2dCVUVCYWlJRklBaEhEUUFMSUFoQkJCQVRJZ05GRFFGQkFDRUZBMEFDUUNBS0lBVkJBblJxSWdRdEFBSWlCa0VDVHdSQUlBa2dCallDUkNBSklBVTJBa0FnQWtFQlFjdlpBQ0FKUVVCckVBOUJBQ0VIREFFTElBZ2dCQzBBQXlJRVRRUkFJQWtnQkRZQ2dBRWdBa0VCUVpQWkFDQUpRWUFCYWhBUFFRQWhCd3dCQ3lBRElBUkJBblJxSVFzQ1FDQUdRUUZISWd3TkFDQUxLQUlBUlEwQUlBa2dCRFlDVUNBQ1FRRkJ2TlVBSUFsQjBBQnFFQTlCQUNFSERBRUxBa0FnQmcwQUlBUkZEUUFnQ1NBRU5nSmtJQWtnQlRZQ1lDQUNRUUZCaXRnQUlBbEI0QUJxRUE5QkFDRUhEQUVMQWtBZ0RBMEFJQVFnQlVZTkFDQUpJQVEyQW5nZ0NTQUZOZ0owSUFrZ0JUWUNjQ0FDUVFGQnJ0Z0FJQWxCOEFCcUVBOUJBQ0VIREFFTElBdEJBVFlDQUFzZ0JVRUJhaUlGSUFoSERRQUxRUUFoQlFOQUFrQUNRQ0FESUFWQkFuUWlCR29vQWdCRkJFQWdCQ0FLYWkwQUFnMEJDeUFGUVFGcUlnVWdDRWNOQWlBSFJRMEJJQUVvQWhCQkFVY05CVUVBSVFVRFFDQURJQVZCQW5ScUtBSUFCRUFnQ0NBRlFRRnFJZ1ZIRFFFTUJ3c0xRUUFoQnlBQ1FRSkI3c1VBUVFBUUR5QUlRUkJQQkVBZ0NFSHdBWEVoQjBFQUlRUURRQ0FLSUFSQkFuUnFJZ1pCQVRvQUFpQUdJQVE2QUFNZ0JrRUJPZ0ErSUFaQkFUb0FPaUFHUVFFNkFEWWdCa0VCT2dBeUlBWkJBVG9BTGlBR1FRRTZBQ29nQmtFQk9nQW1JQVpCQVRvQUlpQUdRUUU2QUI0Z0JrRUJPZ0FhSUFaQkFUb0FGaUFHUVFFNkFCSWdCa0VCT2dBT0lBWkJBVG9BQ2lBR1FRRTZBQVlnQmlBRVFRRnlPZ0FISUFZZ0JFRVBjam9BUHlBR0lBUkJEbkk2QURzZ0JpQUVRUTF5T2dBM0lBWWdCRUVNY2pvQU15QUdJQVJCQzNJNkFDOGdCaUFFUVFweU9nQXJJQVlnQkVFSmNqb0FKeUFHSUFSQkNISTZBQ01nQmlBRVFRZHlPZ0FmSUFZZ0JFRUdjam9BR3lBR0lBUkJCWEk2QUJjZ0JpQUVRUVJ5T2dBVElBWWdCRUVEY2pvQUR5QUdJQVJCQW5JNkFBc2dCRUVRYWlJRUlBZEhEUUFMSUFjZ0NFWU5CZ3NEUUNBS0lBZEJBblJxSWdRZ0J6b0FBeUFFUVFFNkFBSWdCMEVCYWlJSElBaEhEUUFMREFVTElBa2dCVFlDTUNBQ1FRRkJ5TklBSUFsQk1Hb1FEMEVBSVFjZ0JVRUJhaUlGSUFoSERRRUxDeUFERUJCQkFDRU9EQVVMSUFoQkJCQVRJZ01OQVF0QkFDRU9JQUpCQVVHSzJ3QkJBQkFQREFNTElBTVFFQXNDUUNBQUtBSjRJZ05GRFFBZ0F5Z0NEQ0lQUlFSQUlBTW9BZ1FRRUNBQUtBSjRLQUlJRUJBZ0FDZ0NlQ2dDQUJBUUlBQW9BbmdpQXlnQ0RDSUVCSDhnQkJBUUlBQW9BbmdGSUFNTEVCQWdBRUVBTmdKNERBRUxJQUVvQWhnaERRSkFBa0FnQXkwQUVpSUtCRUFnQXlnQ0FDRVVJQU1vQWdRaEJpQURLQUlJSVFoQkFDRUZBa0FEUUNBTklBOGdCVUVDZEdvdkFRQkJOR3hxS0FJc0JFQWdDaUFGUVFGcUlnVkhEUUVNQWdzTElBa2dCVFlDSUNBQ1FRRkJ3dWNBSUFsQklHb1FEMEVBSVE0TUJnc2dDa0UwYkJBVUlndEZEUUZCQUNFRkEwQWdEeUFGUVFKMGFpSURMd0VBSVFjZ0N5QURMUUFDQkg4Z0F5MEFBd1VnQlF0Qk5HeHFJZ1FnRFNBSFFUUnNhaUlEL1FBQ0FQMExBZ0FnQkNBREtBSXdOZ0l3SUFRZ0EvMEFBaUQ5Q3dJZ0lBUWdBLzBBQWhEOUN3SVFJQXNnQlVFMGJHb2lCQ0FES0FJSUlBTW9BZ3hzUVFKMEVCZ2lBellDTENBRFJRUkFJQVVFUUNBRlFmLy9BM0VoQUFOQUlBQkJOR3dnQzJwQkNHc29BZ0FRRUNBQVFRRnJJZ0FOQUFzTElBc1FFRUVBSVE0Z0FrRUJRWTduQUVFQUVBOE1Cd3NnQkNBRklBaHFMUUFBTmdJWUlBUWdCU0FHYWkwQUFEWUNJQ0FGUVFGcUlnVWdDa2NOQUFzZ0FDZ0NlQzhCRUNJUVFRRnJJUklEUUNBTElCTkJOR3hxSWdNb0Fnd2dBeWdDQ0d3aEJpQU5JQThnRTBFQ2RHb2lCQzhCQUVFMGJHb29BaXdoQ0FKQUlBUXRBQUpGQkVBZ0JrVU5BU0FES0FJc0lRVkJBQ0VIUVFBaEJBSkFJQVpCQkVrTkFDQUZJQWhyUVJCSkRRQWdCa0Y4Y1NFRVFRQWhBd05BSUFVZ0EwRUNkQ0lNYWlBSUlBeHEvUUFDQVAwTEFnQWdBMEVFYWlJRElBUkhEUUFMSUFRZ0JrWU5BZ3NnQkNFRElBWkJBM0VpREFSQUEwQWdCU0FEUVFKMEloRnFJQWdnRVdvb0FnQTJBZ0FnQTBFQmFpRURJQWRCQVdvaUJ5QU1SdzBBQ3dzZ0JDQUdhMEY4U3cwQkEwQWdCU0FEUVFKMElnUnFJQVFnQ0dvb0FnQTJBZ0FnQlNBRVFRUnFJZ2RxSUFjZ0NHb29BZ0EyQWdBZ0JTQUVRUWhxSWdkcUlBY2dDR29vQWdBMkFnQWdCU0FFUVF4cUlnUnFJQVFnQ0dvb0FnQTJBZ0FnQTBFRWFpSURJQVpIRFFBTERBRUxJQVpGRFFBZ0ZDQUVMUUFESWdOQkFuUnFJUVFnQ3lBRFFUUnNhaWdDTENFRlFRQWhBeUFHUVFGSEJFQWdCa0YrY1NFVlFRQWhEQU5BSUFVZ0EwRUNkQ0lIYWlBRUlBY2dDR29vQWdBaUVTQVNJQkFnRVVvYlFRQWdFVUVBVGhzZ0NteEJBblJxS0FJQU5nSUFJQVVnQjBFRWNpSUhhaUFFSUFjZ0NHb29BZ0FpQnlBU0lBY2dFRWdiUVFBZ0IwRUFUaHNnQ214QkFuUnFLQUlBTmdJQUlBTkJBbW9oQXlBTVFRSnFJZ3dnRlVjTkFBc0xJQVpCQVhGRkRRQWdCU0FEUVFKMElnTnFJQVFnQXlBSWFpZ0NBQ0lESUJJZ0F5QVFTQnRCQUNBRFFRQk9HeUFLYkVFQ2RHb29BZ0EyQWdBTElCTkJBV29pRXlBS1J3MEFDd3dDQ3lBS1FUUnNFQlFpQ3cwQkMwRUFJUTRnQWtFQlFZN25BRUVBRUE4TUF3c2dBU2dDRUNJREJFQkJBQ0VGQTBBZ0RTQUZRVFJzYWlnQ0xDSUVCRUFnQkJBUUN5QUZRUUZxSWdVZ0EwY05BQXNMSUEwUUVDQUJJQW8yQWhBZ0FTQUxOZ0lZQ3lBQUtBSjBJZ1ZGRFFFZ0JTZ0NBQ0VISUFVdkFRUWlDd1JBSUFkQkttb2hFaUFIUVNScUlSTWdCMEVlYWlFUklBZEJHR29oRkNBSFFSSnFJUlVnQjBFTWFpRVdJQWRCQm1vaEZ5QUxRUUpySVJoQkFDRUZRUUVoQkFOQUFrQWdBU2dDRUNJRElBY2dCVUVHYkdvaURTOEJBQ0lHVFFSQUlBa2dBellDRkNBSklBWTJBaEFnQWtFQ1FjdzNJQWxCRUdvUUR3d0JDeUFOTHdFRUlnaEJBV3BCLy84RGNVRUJUUVJBSUFFb0FoZ2dCa0UwYkdvZ0RTOEJBanNCTUF3QkN5QUlRUUZySWdwQi8vOERjU0lQSUFOUEJFQWdDU0FETmdJRUlBa2dEellDQUNBQ1FRSkJvemNnQ1JBUERBRUxBa0FnQmlBUFJnMEFJQTB2QVFJTkFDQUpJQUVvQWhnaUNDQUdRVFJzYWlJREtBSXdOZ0xvQVNBSklBUDlBQUlnL1FzRDJBRWdDU0FEL1FBQ0VQMExBOGdCSUFrZ0EvMEFBZ0Q5Q3dPNEFTQURJQWdnRDBFMGJDSU1haUlJS1FJSU53SUlJQU1nQ0NrQ0VEY0NFQ0FESUFncEFoZzNBaGdnQXlBSUtRSWdOd0lnSUFNZ0NDa0NLRGNDS0NBRElBZ29BakEyQWpBZ0F5QUlLUUlBTndJQUlBRW9BaGdnREdvaUF5QUovUUFEdUFIOUN3SUFJQU1nQ2YwQUE5Z0IvUXNDSUNBRElBbjlBQVBJQWYwTEFoQWdBeUFKS0FMb0FUWUNNQ0FGUVFGcUlBdFBEUUFnQkNFSUlCZ2dCV3RCLy84RGNTSURRUWRQQkVBZ0JDQURRUUZxSWhsQitQOEhjU0lRYWlFSUlBcjlFQ0VrSUFiOUVDRWpRUUFoREFOQUlDTWdKQ0FTSUFRZ0RHcEJCbXdpQTJvaUdpQURJQk5xSWhzZ0F5QVJhaUljSUFNZ0ZHb2lIU0FESUJWcUloNGdBeUFXYWlJZklBTWdGMm9pSUNBRElBZHFJZ1A5Q0FFQS9WVUJBQUg5VlFFQUF2MVZBUUFEL1ZVQkFBVDlWUUVBQmYxVkFRQUcvVlVCQUFjaUlTQWovUzRnSVNBay9TMGlKZjFPL1ZJaElpQWhJQ1A5TFNBbC9WQWlJZjBaQUVFQmNRUkFJQU1nSXYxWkFRQUFDeUFoL1JrQlFRRnhCRUFnSUNBaS9Wa0JBQUVMSUNIOUdRSkJBWEVFUUNBZklDTDlXUUVBQWdzZ0lmMFpBMEVCY1FSQUlCNGdJdjFaQVFBREN5QWgvUmtFUVFGeEJFQWdIU0FpL1ZrQkFBUUxJQ0g5R1FWQkFYRUVRQ0FjSUNMOVdRRUFCUXNnSWYwWkJrRUJjUVJBSUJzZ0l2MVpBUUFHQ3lBaC9Sa0hRUUZ4QkVBZ0dpQWkvVmtCQUFjTElBeEJDR29pRENBUVJ3MEFDeUFRSUJsR0RRRUxBMEFnQ2lFREFrQWdCaUFISUFoQkJteHFJZ3d2QVFBaUVFY0VRQ0FHSVFNZ0R5QVFSdzBCQ3lBTUlBTTdBUUFMSUFzZ0NFRUJhaUlJUWYvL0EzRkhEUUFMQ3lBQktBSVlJQVpCTkd4cUlBMHZBUUk3QVRBTElBUkJBV29oQkNBRlFRRnFJZ1VnQzBjTkFBc2dBQ2dDZENJRktBSUFJUWNMSUFjRWZ5QUhFQkFnQUNnQ2RBVWdCUXNRRUNBQVFRQTJBblFNQVF0QkFDRU9JQUpCQVVHaHhnQkJBQkFQQ3lBSlFmQUJhaVFBSUE0TDZRRUJCbjhqQUVFZ2F5SUVKQUFDZndKQUlBQW9BandpQXdSQVFRRWhCUU5BSUFBb0Frd29BaGdnQUNnQ1FDQUNRUUowYWlnQ0FDSUdRVFJzYWlnQ0xFVUVRQ0FFSUFZMkFoQWdBVUVDUWRvNUlBUkJFR29RRDBFQUlRVWdBQ2dDUENFREN5QUNRUUZxSWdJZ0Ewa05BQXNNQVF0QkFTRUZRUUVnQUNnQ1RDSURLQUlRUlEwQkdnTkFJQU1vQWhnZ0FrRTBiR29vQWl4RkJFQWdCQ0FDTmdJQUlBRkJBa0hhT1NBRUVBOUJBQ0VGSUFBb0Frd2hBd3NnQWtFQmFpSUNJQU1vQWhCSkRRQUxDMEVCSUFVTkFCb2dBVUVCUWI4VlFRQVFEMEVBQ3lFSElBUkJJR29rQUNBSEN3UUFRWDhMaGdjQ0ZuOENmaUFBS0FJWUloQW9BaEJGQkVCQkFROExJQkFvQWhnaERTQUFLQUlVS0FJQUtBSVVJUXNEUUNBQklBMG9BaVFpQWpZQ0pDQUxLQUljSWdZZ0FrR1lBV3hxSVFNQ1FBSkFBbjhnQUNnQ1FDSVJCRUFnQmlBTEtBSVlRWmdCYkdvaUFrR1FBV3NvQWdBZ0FrR1lBV3NvQWdCcklRd2dBMEVNYWlFR0lBTkJCR29oQkNBREtBSUlJUUlnQXlnQ0FDRUZRU1FNQVFzZ0EwR1VBV29oQmlBRFFZd0JhaUVFSUFNb0FwQUJJZ0lnQXlnQ2lBRWlCV3NoREVFMEN5QUxhaWdDQUNJU1JRMEFJQVFvQWdBaEJ5QUdLQUlBSVFrZ0FpQUZheUVHSUFFb0FnZ2lBMEovSUFFMUFpZ2lHSVpDZjRVaUdTQUJOUUlRZkNBWWlLY2lDR29oQkFKL0lBVWdDRXNFUUNBRklBaHJJUTVCQUNFSVFRQWdBaUFFVFEwQkdpQUdJQVFnQldzaUJtc01BUXNnQ0NBRmF5RUlJQUlnQkUwRVFDQUdJQWhySVFaQkFDRU9RUUFNQVF0QkFDRU9JQU1oQmlBQ0lBUnJDeUVWSUFrZ0Iyc2hBaUFCS0FJTUlnUWdHU0FCTlFJVWZDQVlpS2NpQ21vaEJRSi9JQWNnQ2tzRVFDQUhJQXBySVE5QkFDRUtRUUFnQlNBSlR3MEJHaUFDSUFVZ0Iyc2lBbXNNQVFzZ0NpQUhheUVLSUFVZ0NVOEVRQ0FDSUFwcklRSkJBQ0VQUVFBTUFRdEJBQ0VQSUFRaEFpQUpJQVZyQ3lFSFFRQWhCU0FJUVFCSURRRWdDa0VBU0EwQklCVkJBRWdOQVNBSFFRQklEUUVnQmtFQVNBMEJJQUpCQUVnTkFTQURJQTlzSUE1cUlRY2dDaUFNYkNBSWFpRUpBa0FDUUFKQUlBRW9BaXdpQ0EwQUlBa05BQ0FIRFFBZ0F5QU1SdzBBSUFNZ0JrY05BQ0FDSUFSSERRRWdBU0FMUVNSQk5DQVJHMm9pQWlnQ0FEWUNMQ0FDUVFBMkFnQU1Bd3NnQ0EwQkN5QUVSUTBDSUFTdElBT3Rma0lnaUtjTkFpQURJQVJzSWdOQi8vLy8vd05MRFFJZ0FTQURRUUowRUJnaUF6WUNMQ0FEUlEwQ0lBWWdBU2dDQ0NJRVJpQUJLQUlNSWdVZ0FrWnhEUUFnQTBFQUlBUWdCV3hCQW5RUUZSb0xJQUpGRFFBZ0FrRUJjU0VYSUFaQkFuUWhCaUFCS0FJc0lBZEJBblJxSVFRZ0VpQUpRUUowYWlFRklBSkJBVWNFUUNBQ1FmNy8vLzhIY1NFSFFRQWhBZ05BSUFRZ0JTQUdFQkloRmlBRklBeEJBblFpQ1dvaUNDQUphaUVGSUJZZ0FTZ0NDRUVDZEdvZ0NDQUdFQklnQVNnQ0NFRUNkR29oQkNBQ1FRSnFJZ0lnQjBjTkFBc0xJQmRGRFFBZ0JDQUZJQVlRRWhvTElBdEJ6QUJxSVFzZ0RVRTBhaUVOSUFGQk5Hb2hBVUVCSVFVZ0ZFRUJhaUlVSUJBb0FoQkpEUUVMQ3lBRkM5VVNBZ2wvREg0akFFR2dBV3NpQlNRQUFrQWdBa0VqVFFSQVFRQWhBaUFEUVFGQnRpNUJBQkFQREFFTElBSkJKR3NpQWlBQ1FRTnVJZ2xCQTJ4SEJFQkJBQ0VDSUFOQkFVRzJMa0VBRUE4TUFRc2dBQ2dDU0NFR0lBRWdCVUdjQVdvaUFrRUNFQkVnQUNBRktBS2NBVHNCVUNBQlFRSnFJQVpCQ0dwQkJCQVJJQUZCQm1vZ0JrRU1ha0VFRUJFZ0FVRUthaUFHUVFRUUVTQUJRUTVxSUFaQkJHcEJCQkFSSUFGQkVtb2dBRUhjQUdwQkJCQVJJQUZCRm1vZ0FFSGdBR3BCQkJBUklBRkJHbW9nQUVIVUFHcEJCQkFSSUFGQkhtb2dBRUhZQUdwQkJCQVJJQUZCSW1vZ0FrRUNFQkVDUUFKQUFrQWdCU2dDbkFFaUFrR0FnQUZOQkVBZ0JpQUNOZ0lRSUFJZ0NVY0VRQ0FGSUFrMkFvUUJJQVVnQWpZQ2dBRWdBMEVCUVpId0FDQUZRWUFCYWhBUFFRQWhBZ3dGQ3lBR0tBSUVJZ0lnQmlnQ0RDSUlTU0FHS0FJSUlnc2dCaWdDQUNJRVMzRkZCRUFnQlNBSXJTQUNyWDAzQTNnZ0JTQUxyU0FFclgwM0EzQWdBMEVCUWR2c0FDQUZRZkFBYWhBUFFRQWhBZ3dGQ3lBQUtBSmNJZ2RCQUNBQUtBSmdJZ29iUlFSQUlBVWdDallDQkNBRklBYzJBZ0FnQTBFQlFZUHhBQ0FGRUE5QkFDRUNEQVVMQWtBQ1FDQUFLQUpVSWd3Z0JFc05BRUYvSUFjZ0RHb2lCeUFISUF4Skd5QUVUUTBBSUFBb0FsZ2lCeUFDU3cwQVFYOGdCeUFLYWlJS0lBY2dDa3NiSUFKTERRRUxRUUFoQWlBRFFRRkIxaFJCQUJBUERBVUxBa0FnQUNnQzRBRU5BQ0FBS0FMWUFTSUhSUTBBSUFBb0F0d0JJZ3BGRFFBZ0N5QUVheUlFSUFkR0lBZ2dBbXNpQWlBS1JuRU5BQ0FGSUFJMkFtd2dCU0FFTmdKb0lBVWdDallDWkNBRklBYzJBbUFnQTBFQlFjUG9BQ0FGUWVBQWFoQVBRUUFoQWd3RkN5QUdJQWxCTkJBVElnUTJBaGdnQkVVTkFRSkFJQVlvQWhCRkRRQWdBVUVrYWlBRlFaZ0JhaUlDUVFFUUVTQUVJQVVvQXBnQklnbEJCM1lpQ2pZQ0lDQUVJQWxCL3dCeFFRRnFJZ3cyQWhnZ0FDZ0M0QUVoQ3lBQlFTVnFJQUpCQVJBUklBUWdCU2dDbUFFMkFnQWdBVUVtYWlBQ1FRRVFFU0FFSUFVb0FwZ0JJZ2cyQWdSQkFDRUNJQVFvQWdBaUIwR0FBbXRCZ1g1SkJFQkJBQ0VKREFVTFFRQWhDU0FJUVlBQ2EwR0Jma2tOQkNBRUtBSVlJZ2hCSDBzTkF5QUVRUUEyQWlRZ0JDQUFLQUtnQVRZQ0tFRUJJUWtnQmlnQ0VFRUJUUTBBUVFBZ0NpQUxHeUVLUVFBZ0RDQUxHeUVMSUFGQkoyb2hBUU5BSUFFZ0JVR1lBV3BCQVJBUklBUWdCU2dDbUFFaUIwRUhkaUlJTmdKVUlBUWdCMEgvQUhGQkFXb2lCellDVEFKQUlBQW9BdUFCRFFBZ0FDMEF2QUZCQkhFTkFDQUhJQXRHSUFnZ0NrWnhEUUFnQlNBSU5nSlVJQVVnQnpZQ1VDQUZJQWsyQWt3Z0JTQUtOZ0pJSUFVZ0N6WUNSQ0FGSUFrMkFrQWdBMEVDUWNmdUFDQUZRVUJyRUE4TElBRkJBV29nQlVHWUFXb2lDRUVCRUJFZ0JDQUZLQUtZQVRZQ05DQUJRUUpxSUFoQkFSQVJJQVFnQlNnQ21BRWlDRFlDT0NBRUtBSTBJZ2RCZ0FKclFZRitTUTBGSUFoQmdBSnJRWUIrVFEwRklBUW9Ba3dpQ0VFZ1R3MEVJQUZCQTJvaEFTQUVRUUEyQWxnZ0JDQUFLQUtnQVRZQ1hDQUVRVFJxSVFRZ0NVRUJhaUlKSUFZb0FoQkpEUUFMQzBFQUlRSWdBQ2dDWENJSVJRMEVJQUFvQW1BaUMwVU5CQ0FBSUFpdElnMUNBWDBpRHlBR0tBSUlJQUFvQWxRaUIydXRmQ0FOZ0tjaUFUWUNhQ0FBSUF1dElnNUNBWDBpRUNBR0tBSU1JQUFvQWxnaUNtdXRmQ0FPZ0tjaUJEWUNiQUpBQWtBZ0FVVU5BQ0FFUlEwQVFmLy9BeUFFYmlBQlR3MEJDeUFGSUFRMkFoUWdCU0FCTmdJUUlBTkJBVUcxNlFBZ0JVRVFhaEFQREFVTElBRWdCR3doQ1FKQUlBQXRBRVJCQW5FRVFDQUFJQUFvQWh3Z0Iyc2dDRzQyQWh3Z0FDQUFLQUlnSUFwcklBdHVOZ0lnSUFBZ0R5QUFLQUlrSUFkcnJYd2dEWUErQWlRZ0FDQVFJQUFvQWlnZ0NtdXRmQ0FPZ0Q0Q0tBd0JDeUFBSUFRMkFpZ2dBQ0FCTmdJa0lBQkNBRGNDSEFzZ0FDQUpRWXdzRUJNaUFUWUNuQUVnQVVVRVFDQURRUUZCelIxQkFCQVBEQVVMSUFZb0FoQkJ1QWdRRXlFQklBQW9BZ3dnQVRZQzBDc2dBQ2dDRENnQzBDdEZCRUFnQTBFQlFjMGRRUUFRRHd3RkMwRUtRUlFRRXlFQklBQW9BZ3dnQVRZQzhDc2dBQ2dDRENJQktBTHdLMFVFUUNBRFFRRkJ6UjFCQUJBUERBVUxJQUZCQ2pZQytDdEJDa0VVRUJNaEFTQUFLQUlNSUFFMkF2d3JJQUFvQWd3aUFTZ0MvQ3RGQkVBZ0EwRUJRYzBkUVFBUUR3d0ZDeUFCUVFvMkFvUXNBa0FnQmlnQ0VDSUVSUTBBSUFZb0FoZ2hDRUVBSVFFZ0JFRUJSd1JBSUFSQmZuRWhDd05BSUFnZ0FVRTBiR29pQnlnQ0lFVUVRQ0FBS0FJTUtBTFFLeUFCUWJnSWJHcEJBU0FIS0FJWVFRRnJkRFlDdEFnTElBZ2dBVUVCY2lJSFFUUnNhaUlLS0FJZ1JRUkFJQUFvQWd3b0F0QXJJQWRCdUFoc2FrRUJJQW9vQWhoQkFXdDBOZ0swQ0FzZ0FVRUNhaUVCSUFKQkFtb2lBaUFMUncwQUN3c2dCRUVCY1VVTkFDQUlJQUZCTkd4cUlnSW9BaUFOQUNBQUtBSU1LQUxRS3lBQlFiZ0liR3BCQVNBQ0tBSVlRUUZyZERZQ3RBZ0xJQWtFUUNBQUtBS2NBU0VCUVFBaEFnTkFJQUVnQmlnQ0VFRzRDQkFUSWdRMkF0QXJJQVJGQkVCQkFDRUNJQU5CQVVITkhVRUFFQThNQndzZ0FVR01MR29oQVNBQ1FRRnFJZ0lnQ1VrTkFBc0xJQUJCQkRZQ0NDQUdLQUlRSWdNRVFFRi9JQUFvQWxnaUFTQUFLQUpnSWdJZ0FDZ0NiRUVCYTJ4cUlnUWdBbW9pQWlBQ0lBUkpHeUlDSUFZb0Fnd2lCQ0FDSUFSSkc2MGhFRUYvSUFBb0FsUWlBaUFBS0FKY0lnUWdBQ2dDYUVFQmEyeHFJZ0FnQkdvaUJDQUFJQVJMR3lJQUlBWW9BZ2dpQkNBQUlBUkpHNjBoRVNBQklBWW9BZ1FpQUNBQUlBRkpHNjBoRWlBQ0lBWW9BZ0FpQUNBQUlBSkpHNjBoRXlBR0tBSVlJUUJCQUNFQkEwQWdBQ0FBTlFJRUlnMUNBWDBpRkNBU2ZDQU5nQ0lWUGdJVUlBQWdBRFVDQUNJT1FnRjlJaFlnRTN3Z0RvQWlGejRDRUNBQVFuOGdBRFVDS0NJUGhrSi9oU0lZSUJBZ0ZId2dEWUFnRlgxQy8vLy8vdytEZkNBUGlENENEQ0FBSUJFZ0Zud2dEb0FnRjMxQy8vLy8vdytESUJoOElBK0lQZ0lJSUFCQk5Hb2hBQ0FCUVFGcUlnRWdBMGNOQUFzTFFRRWhBZ3dFQ3lBRklBSTJBcEFCSUFOQkFVSDJPeUFGUVpBQmFoQVBRUUFoQWd3REMwRUFJUUlnQmtFQU5nSVFJQU5CQVVITkhVRUFFQThNQWdzZ0JTQUlOZ0kwSUFVZ0NUWUNNQ0FEUVFGQnQvTUFJQVZCTUdvUUR3d0JDeUFGSUFnMkFpZ2dCU0FITmdJa0lBVWdDVFlDSUNBRFFRRkJrZXNBSUFWQklHb1FEd3NnQlVHZ0FXb2tBQ0FDQzU0REFRZC9Jd0JCRUdzaUJpUUFBbjhnQWlBQ1FRRkJBaUFBS0FKSUtBSVFJZ2hCZ1FKSkd5SUhRUUYwUVFWcUlnUnVJZ1VnQkd4R0lBSWdCRTl4UlFSQUlBTkJBVUdLSTBFQUVBOUJBQXdCQ3dKL0lBQW9BZ2hCRUVZRVFDQUFLQUtjQVNBQUtBTE1BVUdNTEd4cURBRUxJQUFvQWd3TElRUkJBQ0VBSUFRdEFJZ3NJZ0pCQkhFRVFDQUVLQUtrQTBFQmFpRUFDeUFBSUFWcUlnVkJJRThFUUNBR0lBVTJBZ0FnQTBFQlFZczdJQVlRRDBFQURBRUxJQVFnQWtFRWNqb0FpQ3dnQUNBRlNRUkFJQVFnQUVHVUFXeHFRYWdEYWlFQ0EwQWdBU0FDUVFFUUVTQUJRUUZxSWdFZ0FrRUVhaUFIRUJFZ0FTQUhhaUlCSUFKQkNHcEJBaEFSSUFJZ0FpZ0NDQ0lESUFRb0FnZ2lDU0FESUFsSkd6WUNDQ0FCUVFKcUlBSkJER3BCQVJBUklBRkJBMm9pQVNBQ1FSQnFJQWNRRVNBQklBZHFJZ0VnQmtFTWFrRUJFQkVnQWlBR0tBSU1OZ0lrSUFJZ0FpZ0NFQ0lESUFnZ0F5QUlTUnMyQWhBZ0FrR1VBV29oQWlBQlFRRnFJUUVnQUVFQmFpSUFJQVZIRFFBTEN5QUVJQVZCQVdzMkFxUURRUUVMSVFvZ0JrRVFhaVFBSUFvTDdBRUJCSDhqQUVFUWF5SUVKQUFDZndKQUlBRWdCRUVJYWdKL0lBQW9Ba2dvQWhCQmdBSk5CRUFnQWdSQVFYOGhCVUVCREFJTElBTkJBVUcrSTBFQUVBOUJBQXdEQ3lBQ1FRRk5EUUZCZmlFRlFRSUxJZ1lRRVNBRUlBSWdCV28yQWd3Z0JDZ0NDQ0lDSUFBb0FrZ29BaEFpQlU4RVFDQUVJQVUyQWdRZ0JDQUNOZ0lBSUFOQkFVSEdPaUFFRUE5QkFBd0NDeUFBSUFJZ0FTQUdhaUFFUVF4cUlBTVFRa1VFUUNBRFFRRkJ2aU5CQUJBUFFRQU1BZ3RCQVNBRUtBSU1SUTBCR2lBRFFRRkJ2aU5CQUJBUFFRQU1BUXNnQTBFQlFiNGpRUUFRRDBFQUN5RUhJQVJCRUdva0FDQUhDOWtCQVFSL0l3QkJFR3NpQkNRQUlBUWdBallDREFKQUFrQWdBRUVBSUFFZ0JFRU1haUFERUVKRkRRQWdCQ2dDREEwQUFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2hCMEVCSVFVZ0FDZ0NTQ2dDRUVFQ1NRMEJJQWNvQXRBcklnSkJIR29oQmtFQklRRWdBaUVEQTBBZ0F5QUNLQUlZTmdMUUNDQURJQUlvQXFRR05nTGNEaUFEUWRRSWFpQUdRWWdHRUJJYUlBTkJ1QWhxSVFNZ0FVRUJhaUlCSUFBb0FrZ29BaEJKRFFBTERBRUxJQU5CQVVIV0lrRUFFQThMSUFSQkVHb2tBQ0FGQzlZQkFRTi9Jd0JCRUdzaUJDUUFBa0FnQWtFQlFRSWdBQ2dDU0NnQ0VDSUdRWUVDU1JzaUJVRUNha2NFUUVFQUlRQWdBMEVCUVlvZ1FRQVFEd3dCQ3dKL0lBQW9BZ2hCRUVZRVFDQUFLQUtjQVNBQUtBTE1BVUdNTEd4cURBRUxJQUFvQWd3TElRSWdBU0FFUVF4cUlBVVFFVUVCSVFBZ0FTQUZhaUlGSUFSQkNHcEJBUkFSSUFZZ0JDZ0NEQ0lCVFFSQUlBUWdCallDQkNBRUlBRTJBZ0FnQTBFQlFkanZBQ0FFRUE5QkFDRUFEQUVMSUFWQkFXb2dBaWdDMENzZ0FVRzRDR3hxUWFnR2FrRUJFQkVMSUFSQkVHb2tBQ0FBQzRRQ0FRVi9Jd0JCRUdzaUJDUUFBbjhnQUNnQ0NFRVFSZ1JBSUFBb0Fwd0JJQUFvQXN3QlFZd3NiR29NQVFzZ0FDZ0NEQXNoQmdKQUlBSkJBVUVDSUFBb0FrZ2lCeWdDRUVHQkFra2JJZ1ZOQkVCQkFDRUNJQU5CQVVHa0kwRUFFQThNQVFzZ0JDQUZRWDl6SUFKcU5nSU1JQUVnQkVFSWFpQUZFQkVnQkNnQ0NDSUlJQWNvQWhCUEJFQkJBQ0VDSUFOQkFVR0E2UUJCQUJBUERBRUxRUUVoQWlBQklBVnFJZ0VnQmlnQzBDc2dDRUc0Q0d4cVFRRVFFU0FBSUFRb0FnZ2dBVUVCYWlBRVFReHFJQU1RUTBVRVFFRUFJUUlnQTBFQlFhUWpRUUFRRHd3QkN5QUVLQUlNUlEwQVFRQWhBaUFEUVFGQnBDTkJBQkFQQ3lBRVFSQnFKQUFnQWd1c0JnRUhmeU1BUVJCcklnWWtBQ0FHSUFJMkFnd2dBQ2dDU0NFSkFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2lCQ0FFTFFDSUxFRUJjam9BaUN3Q1FDQUNRUVJOQkVBZ0EwRUJRYndpUVFBUUR3d0JDeUFCSUFSQkFSQVJJQVFvQWdCQkNFOEVRQ0FEUVFGQm1pSkJBQkFQREFFTElBRkJBV29nQmtFSWFrRUJFQkVnQkNBR0tBSUlJZ0kyQWdRZ0FrRUZUZ1JBSUFOQkFVSHhJVUVBRUE4Z0JFRi9OZ0lFQ3lBQlFRSnFJQVJCQ0dwQkFoQVJJQVFvQWdnaUIwR0FnQVJyUVlDQWZFMEVRQ0FHSUFjMkFnQWdBMEVCUWFrOUlBWVFEd3dCQ3lBRUlBQW9BcVFCSWdJZ0J5QUNHellDRENBQlFRUnFJQVJCRUdwQkFSQVJJQVFvQWhCQkFrOEVRQ0FEUVFGQmh5cEJBQkFQREFFTElBRkJCV29oQWlBR0lBWW9BZ3hCQldzMkFnd0NRQ0FKS0FJUUlnZEZEUUFnQkNnQ0FFRUJjU0VJSUFRb0F0QXJJUVJCQUNFSklBZEJDRThFUUNBSFFYaHhJUUVEUUNBRUlBVkJ1QWhzYWlBSU5nSUFJQVFnQlVFQmNrRzRDR3hxSUFnMkFnQWdCQ0FGUVFKeVFiZ0liR29nQ0RZQ0FDQUVJQVZCQTNKQnVBaHNhaUFJTmdJQUlBUWdCVUVFY2tHNENHeHFJQWcyQWdBZ0JDQUZRUVZ5UWJnSWJHb2dDRFlDQUNBRUlBVkJCbkpCdUFoc2FpQUlOZ0lBSUFRZ0JVRUhja0c0Q0d4cUlBZzJBZ0FnQlVFSWFpRUZJQXBCQ0dvaUNpQUJSdzBBQ3dzZ0IwRUhjU0lCUlEwQUEwQWdCQ0FGUWJnSWJHb2dDRFlDQUNBRlFRRnFJUVVnQ1VFQmFpSUpJQUZIRFFBTEMwRUFJUVVnQUVFQUlBSWdCa0VNYWlBREVFTkZCRUFnQTBFQlFid2lRUUFRRHd3QkN5QUdLQUlNQkVBZ0EwRUJRYndpUVFBUUR3d0JDd0ovSUFBb0FnaEJFRVlFUUNBQUtBS2NBU0FBS0FMTUFVR01MR3hxREFFTElBQW9BZ3dMSVFFZ0FDZ0NTQ2dDRUVFQ1R3UkFJQUVvQXRBcklnRW9BZ1JCQW5RaEJ5QUJRYkFIYWlFS0lBRkJyQVpxSVFOQkFTRUpJQUVoQWdOQUlBSWdBZjBBQWdUOUN3SzhDQ0FDSUFFb0FoUTJBc3dJSUFKQjVBNXFJQU1nQnhBU0dpQUNRZWdQYWlBS0lBY1FFaG9nQWtHNENHb2hBaUFKUVFGcUlna2dBQ2dDU0NnQ0VFa05BQXNMUVFFaEJRc2dCa0VRYWlRQUlBVUw3QWtCQm44akFFSHdBR3NpQkNRQUlBUkJBRFlDYUFKQUlBSkJDRWNFUUNBRFFRRkJ2UjVCQUJBUElBTkJBVUc5SGtFQUVBOE1BUXNnQVNBQVFjd0Jha0VDRUJFZ0FVRUNhaUFFUWV3QWFrRUVFQkVnQVVFR2FpQUVRZVFBYWtFQkVCRWdBVUVIYWlBRVFlZ0Fha0VCRUJFZ0FDZ0N6QUVpQWlBQUtBSm9JZ2dnQUNnQ2JHeFBCRUFnQkNBQ05nSmdJQU5CQVVHZE95QUVRZUFBYWhBUERBRUxJQUFvQXB3QklBSkJqQ3hzYWlFRklBSWdDRzRoQnlBRUtBSmtJUUVDUUNBQUtBSXNJZ1pCQUU0Z0FpQUdSM0VOQUNBRktBTFVLMEVCYWlJR0lBRkdEUUFnQkNBR05nSllJQVFnQVRZQ1ZDQUVJQUkyQWxBZ0EwRUJRYlU3SUFSQjBBQnFFQTlCQUNFRkRBRUxJQVVnQVRZQzFDc0NRQUpBSUFRb0Ftd2lBVUVCYTBFTVRRUi9JQUZCREVjTkFTQUVRUXcyQWpBZ0EwRUNRZVhYQUNBRVFUQnFFQThnQkNnQ2JBVWdBUXRGQkVBZ0EwRUVRYkxQQUVFQUVBOGdBRUVCTmdJNEN3SkFBa0FDUUFKQUlBVW9BdGdySWdFRVFDQUVLQUprSWdZZ0FVa05BU0FFSUFFMkFpUWdCQ0FHTmdJZ0lBTkJBVUdGSnlBRVFTQnFFQThnQUVFQk5nSTRRUUFoQlF3SEN5QUVLQUpvSWdZTkFRd0RDeUFFS0FKb0lnWkZEUUVMSUFRZ0JpQUFMUUJFUVFSMlFRRnhhaUlCTmdKb0lBUW9BbVFpQmlBRktBTFlLeUlKUVFGclN3UkFJQVFnQ1RZQ0JDQUVJQVkyQWdBZ0EwRUJRYUltSUFRUUR5QUFRUUUyQWpoQkFDRUZEQVVMSUFFZ0JrMEVRQ0FFSUFFMkFoUWdCQ0FHTmdJUUlBTkJBVUhwSnlBRVFSQnFFQThnQUVFQk5nSTRRUUFoQlF3RkN5QUZJQUUyQXRnckN5QUJJQVFvQW1SQkFXcEhEUUFnQUNBQUxRQkVRUUZ5T2dCRUN5QUVLQUpzSVFFZ0FFRVFOZ0lJSUFCQkFDQUJRUXhySUFBb0FqZ2JOZ0lZQWtBZ0FDZ0NMQ0lCUVg5R0JFQkJCQ0VGSUFJZ0J5QUliR3NpQVNBQUtBSWNTUTBCSUFFZ0FDZ0NKRThOQVNBSElBQW9BaUJKRFFFZ0J5QUFLQUlvVDBFQ2RDRUZEQUVMSUFBb0Fzd0JJQUZIUVFKMElRVUxJQUFnQUMwQVJFSDdBWEVnQlhJNkFFUkJBU0VGSUFBb0FzZ0JJZ0ZGRFFJZ0FTZ0NLQ0lHSUFBb0Fzd0JJZ0pCS0d4cUlnY2dBallDQUNBSElBUW9BbVFpQ0RZQ0RDQUVLQUpvSWdFRVFDQUhJQUUyQWdRZ0J5QUVLQUpvSWdFMkFnZ2dCeWdDRUNJQ1JRUkFJQUZCR0JBVElRRWdBQ2dDeUFFb0FpZ2dBQ2dDekFGQktHeHFJQUUyQWhBZ0FRMEVRUUFoQlNBRFFRRkJ5VFJCQUJBUERBUUxJQUlnQVVFWWJCQVhJUUVnQUNnQ3lBRW9BaWdnQUNnQ3pBRkJLR3hxSVFJZ0FVVUVRQ0FDS0FJUUVCQkJBQ0VGSUFBb0FzZ0JLQUlvSUFBb0Fzd0JRU2hzYWtFQU5nSVFJQU5CQVVISk5FRUFFQThNQkFzZ0FpQUJOZ0lRREFNTElBY29BaEFpQVVVRVFDQUhRUW8yQWdoQkNrRVlFQk1oQVNBQUtBTElBU2dDS0NJR0lBQW9Bc3dCSWdKQktHeHFJZ2NnQVRZQ0VDQUJSUTBDSUFRb0FtUWhDQXNnQ0NBR0lBSkJLR3hxSWdJb0FnaEpEUUlnQWlBSVFRRnFJZ0kyQWdnZ0FTQUNRUmhzRUJjaEFTQUFLQUxJQVNnQ0tDQUFLQUxNQVVFb2JHb2hBaUFCUlFSQUlBSW9BaEFRRUVFQUlRVWdBQ2dDeUFFb0FpZ2dBQ2dDekFGQktHeHFJZ0JCQURZQ0NDQUFRUUEyQWhBZ0EwRUJRY2swUVFBUUR3d0RDeUFDSUFFMkFoQU1BZ3NnQkNBQk5nSkFJQU5CQVVIeTJRQWdCRUZBYXhBUFFRQWhCUXdCQzBFQUlRVWdCMEVBTmdJSUlBTkJBVUhKTkVFQUVBOExJQVJCOEFCcUpBQWdCUXVyQndFSWZ5TUFRZEFBYXlJRUpBQWdCRUVCTmdKTUFrQUNRQ0FBS0FMSUFTSUZLQUlvSWdNTkFDQUZJQUFvQW13Z0FDZ0NhR3dpQXpZQ0pDQURRU2dRRXlFRElBQW9Bc2dCSWdVZ0F6WUNLQ0FEUlFSQVFRQWhCUXdDQ3lBRktBSWtSUTBBQTBCQkFDRUZJQU1nQmtFb2JDSUhhaUlEUVFBMkFoUWdBMEhrQURZQ0hFSGtBRUVZRUJNaENTQUhJQUFvQXNnQklnZ29BaWdpQTJvZ0NUWUNHQ0FKUlEwQ0lBWkJBV29pQmlBSUtBSWtTUTBBQ3dzZ0FDZ0NMQ0VKQWtBZ0F5Z0NFRVVOQUFKQUlBTWdDVUVvYkdvaUF5Z0NCRVVFUUNBQklBQXBBekJDQW53Z0FoQTJEUUZCQUNFRklBSkJBVUduS1VFQUVBOE1Bd3NnQVNBREtBSVFLUU1BUWdKOElBSVFOZzBBUVFBaEJTQUNRUUZCcHlsQkFCQVBEQUlMSUFBb0FnaEJnQUpIRFFBZ0FFRUlOZ0lJQ3dKQUlBQW9BbXdnQUNnQ2FHd2lCMFVOQUNBQUtBS2NBU0VGUVFBaEF5QUhRUWhQQkVBZ0IwRjRjU0VJUVFBaEJnTkFJQVVnQTBHTUxHeHFRWDgyQXRRcklBVWdBMEVCY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVDY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVEY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVFY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVGY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVHY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVIY2tHTUxHeHFRWDgyQXRRcklBTkJDR29oQXlBR1FRaHFJZ1lnQ0VjTkFBc0xJQWRCQjNFaUJrVU5BQU5BSUFVZ0EwR01MR3hxUVg4MkF0UXJJQU5CQVdvaEF5QUtRUUZxSWdvZ0JrY05BQXNMUVFBaEJTQUFJQVJCeUFCcVFRQWdCRUhFQUdvZ0JFRkFheUFFUVR4cUlBUkJPR29nQkVFMGFpQUVRY3dBYWlBQklBSVFKMFVOQUNBSlFRRnFJUWNEUUFKQUlBUW9Ba3hGRFFBZ0FDQUVLQUpJSWdOQkFFRUFJQUVnQWhBclJRMENJQUFvQW1naENDQUFLQUpzSVFvZ0JDQURRUUZxSWdZMkFpQWdCQ0FJSUFwc05nSWtJQUpCQkVHZzF3QWdCRUVnYWhBUElBQW9BdEFCSUFBb0Frd29BaGdRZEVVTkFpQUFLQUtjQVNBRFFZd3NiR29pQlNnQzNDc2lDQVJBSUFnUUVDQUZRZ0EzQXR3ckN5QUVJQVkyQWhBZ0FrRUVRZWI4QUNBRVFSQnFFQThnQXlBSlJnUkFJQUVnQUNnQ3lBRXBBd2hDQW53Z0FoQTJEUUZCQUNFRklBSkJBVUduS1VFQUVBOE1Bd3NnQkNBSE5nSUVJQVFnQmpZQ0FDQUNRUUpCM2VVQUlBUVFEMEVBSVFVZ0FDQUVRY2dBYWtFQUlBUkJ4QUJxSUFSQlFHc2dCRUU4YWlBRVFUaHFJQVJCTkdvZ0JFSE1BR29nQVNBQ0VDY05BUXdDQ3dzZ0FDQUNFSEloQlFzZ0JFSFFBR29rQUNBRkM4Z0dBZ2QvQVg0akFFSFFBR3NpQXlRQUlBTkJBVFlDVEFKQUFrQWdBQ2dDYUNJRVFRRkhEUUFnQUNnQ2JFRUJSdzBBSUFBb0FsUU5BQ0FBS0FKWURRQWdBQ2dDVENJRktBSUFEUUFnQlNnQ0JBMEFJQVVvQWdnZ0FDZ0NYRWNOQUNBRktBSU1JQUFvQW1CSERRQkJBQ0VFSUFBZ0EwSElBR3BCQUNBRFFjUUFhaUFEUVVCcklBTkJQR29nQTBFNGFpQURRVFJxSUFOQnpBQnFJQUVnQWhBblJRMEJBa0FnQUNBREtBSklRUUJCQUNBQklBSVFLd1JBSUFBb0Frd2lBU2dDRUEwQlFRRWhCQXdEQ3lBQ1FRRkJrY0lBUVFBUUR3d0NDeUFCS0FJWUlRRkJBQ0VDQTBBZ0FTQUNRVFJzSWdScUtBSXNFQkFnQUNnQ1RDSUZLQUlZSWdFZ0JHb2lCaUFBS0FMUUFTSUhLQUlVS0FJQUtBSVVJQUpCekFCc2FpSUlLQUlrTmdJc0lBWWdCeWdDR0NnQ0dDQUVhaWdDSkRZQ0pDQUlRUUEyQWlSQkFTRUVJQUpCQVdvaUFpQUZLQUlRU1EwQUN3d0JDd05BQWtBQ2Z3SkFJQVJCQVVjTkFDQUFLQUpzUVFGSERRQWdBQ2dDbkFFb0F0d3JSUTBBSUFOQkFEWUNTQ0FBUVFBMkFzd0JJQUFnQUNnQ0NFR0FBWEkyQWdoQkFBd0JDMEVBSVFRZ0FDQURRY2dBYWtFQUlBTkJ4QUJxSUFOQlFHc2dBMEU4YWlBRFFUaHFJQU5CTkdvZ0EwSE1BR29nQVNBQ0VDZEZEUU1nQXlnQ1RFVU5BU0FES0FKSUN5SUhRUUZxSVFRZ0FDQUhRUUJCQUNBQklBSVFLeUVKSUFBb0FtZ2dBQ2dDYkd3aEJTQUpSUVJBSUFNZ0JUWUNCQ0FESUFRMkFnQWdBa0VCUVpjNUlBTVFEMEVBSVFRTUF3c2dBeUFGTmdJa0lBTWdCRFlDSUNBQ1FRUkJvTmNBSUFOQklHb1FEeUFBS0FMUUFTQUFLQUpNS0FJWUVIUkZCRUJCQUNFRURBTUxBa0FDUUNBQUtBSm9RUUZIRFFBZ0FDZ0NiRUVCUncwQUlBQW9Ba3dpQlNnQ0FDQUFLQUpJSWdZb0FnQkhEUUVnQlNnQ0JDQUdLQUlFUncwQklBVW9BZ2dnQmlnQ0NFY05BU0FGS0FJTUlBWW9BZ3hIRFFFTElBQW9BcHdCSUFkQmpDeHNhaUlGS0FMY0t5SUdSUTBBSUFZUUVDQUZRZ0EzQXR3ckN5QURJQVEyQWhBZ0FrRUVRZWI4QUNBRFFSQnFFQThnQVNrRENDSUtVQVIrUWdBRklBb2dBU2tET0gwTFVBUkFJQUFvQWdoQndBQkdEUUVMSUFoQkFXb2lDQ0FBS0FKb0lnUWdBQ2dDYkd4SERRRUxDeUFBSUFJUWNpRUVDeUFEUWRBQWFpUUFJQVFMdFFZQkRIOGdBQ2dDU0NFSkFrQWdBQ2dDYUNBQUtBSnNiQ0lNQkVBZ0NTZ0NFQ0lCUWJnSWJDRU5JQUVnQVd4QkFuUWhDaUFBS0FJTUlRUWdBQ2dDbkFFaEF3TkFJQU1vQXRBcklRc2dBeUFFUVl3c0VCSWlBVUVBTmdMb0t5QUJRWDgyQXRRcklBRkJBRFlDc0NnZ0FVRUFOZ0tFTENBQlFRQTJBdkFySUFGQ0FEY0MrQ3NnQVNBTE5nTFFLeUFCSUFFdEFJZ3NRZndCY1RvQWlDd2dCQ2dDNkNzRVFDQUJJQW9RRkNJRE5nTG9LeUFEUlFSQVFRQVBDeUFESUFRb0F1Z3JJQW9RRWhvTElBRWdCQ2dDK0N0QkZHd2lCUkFVSWdNMkF2QXJRUUFoQ0NBRFJRMENJQU1nQkNnQzhDc2dCUkFTR2lBRUtBTDBLeUlHQkVBZ0JDZ0M4Q3NoQXlBQktBTHdLeUVGUVFBaEJ3TkFJQU1vQWd3RVFDQUZJQU1vQWhBUUZDSUdOZ0lNSUFaRkJFQkJBQThMSUFZZ0F5Z0NEQ0FES0FJUUVCSWFJQVFvQXZRcklRWUxJQUVnQVNnQytDdEJBV28yQXZncklBVkJGR29oQlNBRFFSUnFJUU1nQjBFQmFpSUhJQVpKRFFBTEN5QUJJQVFvQW9Rc1FSUnNJZ1VRRkNJRE5nTDhLeUFEUlEwQ0lBTWdCQ2dDL0NzZ0JSQVNHaUFCSUFRb0FvUXNJZ2cyQW9Rc0lBZ0VRQ0FFS0FMOEt5RURJQUVvQXZ3cklRVkJBQ0VIQTBBZ0F5Z0NDQ0lHQkVBZ0JTQUJLQUx3S3lBR0lBUW9BdkFyYTJvMkFnZ0xJQU1vQWd3aUJnUkFJQVVnQVNnQzhDc2dCaUFFS0FMd0sydHFOZ0lNQ3lBRlFSUnFJUVVnQTBFVWFpRURJQWRCQVdvaUJ5QUlSdzBBQ3dzZ0N5QUVLQUxRS3lBTkVCSWFJQUZCakN4cUlRTWdEa0VCYWlJT0lBeEhEUUFMQzBFQklRZ2dBQUovUVFCQkFVSElBQkFUSWdGRkRRQWFJQUVnQVMwQUtFSCtBWEZCQVhJNkFDZ2dBVUVCUVFRUUV5SUVOZ0lVSUFFZ0JBMEFHaUFCRUJCQkFBc2lBVFlDMEFFZ0FVVUVRRUVBRHdzZ0FDZ0MxQUVoQlVFQUlRUWdBU0FBUWRBQWFqWUNIQ0FCSUFrMkFoaEJBVUhRQmhBVElRTWdBU2dDRkNBRE5nSUFBa0FnQTBVTkFDQUpLQUlRUWN3QUVCTWhBeUFCS0FJVUtBSUFJZ2NnQXpZQ0ZDQURSUTBBSUFjZ0NTZ0NFRFlDRUNBQUtBS2tBU0VFSUFFZ0JUWUNMQ0FCSUFRMkFnQkJBU0VFQ3lBRURRQWdBQ2dDMEFFUVZVRUFJUWdnQUVFQU5nTFFBU0FDUVFGQndodEJBQkFQQ3lBSUM5VVNBd3gvQVgwQmZpTUFRVEJySWdna0FDQUFRUUUyQWdnQ2Z3SkFBa0FnQVNBSVFTaHFJZ1ZCQWlBQ0VCcEJBa2NOQUNBRklBaEJMR3BCQWhBUklBZ29BaXhCei80RFJ3MEFJQUJCQWpZQ0NDQUFLQUxJQVNBQktRTTRRZ0o5SWhBM0F3QWdDQ0FRTndNUUlBSkJCRUh1M2dBZ0NFRVFhaEFQSUFBb0FzZ0JJZ01wQXdBaEVDQURLQUlZSWdkQkFXb2lCU0FES0FJZ0lnUk5CRUFnQXlnQ0hDRUVEQUlMSUFNQ2Z5QUVzME1BQU1oQ2tpSVBRd0FBZ0U5ZElBOURBQUFBQUdCeEJFQWdENmtNQVF0QkFBc2lCVFlDSUNBREtBSWNJQVZCR0d3UUZ5SUVCRUFnQXlBRU5nSWNJQU1vQWhnaUIwRUJhaUVGREFJTElBTW9BaHdRRUNBRFFRQTJBaUFnQTBJQU53TVlJQUpCQVVHcEhVRUFFQThMSUFKQkFVRzE5UUJCQUJBUFFRQU1BUXNnQkNBSFFSaHNhaUlFUVFJMkFoQWdCQ0FReERjRENDQUVRYy8rQXpzQkFDQURJQVUyQWhnZ0FTQUFLQUlRUVFJZ0FoQWFRUUpIQkVBZ0FrRUJRWllTUVFBUUQwRUFEQUVMSUFBb0FoQWdDRUVvYWtFQ0VCRUNRQUpBSUFnb0FpZ2lCRUdRL3dOSEJFQURRRUhndlFFaEJ5QUVRZi85QTAwRVFDQUlJQVEyQWdBZ0FrRUJRY29RSUFnUUQwRUFEQVVMQTBBZ0J5SUZLQUlBSWdNRVFDQUZRUXhxSVFjZ0F5QUVSdzBCQ3dzQ1FBSkFJQU1OQUVFQ0lRWWdBa0VDUWZVY1FRQVFEMEdXRWlFSEFrQUNRQ0FCSUFBb0FoQkJBaUFDRUJwQkFrY05BQU5BSUFBb0FoQWdDRUVzYWtFQ0VCRkI0TDBCSVFNZ0NDZ0NMQ0lFUVlEK0EwOEVRQU5BSUFNaUJTZ0NBQ0lNQkVBZ0EwRU1haUVESUFRZ0RFY05BUXNMSUFVb0FnUWdBQ2dDQ0hGRkJFQkIvQ2doQnd3REN5QU1CRUFnREVHUS93TkdCRUFnQ0VHUS93TTJBaWdNQndzZ0FTa0RPQ0VRSUFBb0FzZ0JJZ01vQWhnaUJVRUJhaUlFSUFNb0FpQWlCMDBFUUNBREtBSWNJUWNNQlFzZ0F3Si9JQWV6UXdBQXlFS1NJZzlEQUFDQVQxMGdEME1BQUFBQVlIRUVRQ0FQcVF3QkMwRUFDeUlGTmdJZ0lBTW9BaHdnQlVFWWJCQVhJZ2NFUUNBRElBYzJBaHdnQXlnQ0dDSUZRUUZxSVFRTUJRc2dBeWdDSEJBUUlBTkJBRFlDSUNBRFFnQTNBeGhCcVIwaEJ3d0RDeUFHUVFKcUlRWUxJQUVnQUNnQ0VFRUNJQUlRR2tFQ1JnMEFDd3NnQWtFQklBZEJBQkFQSUFKQkFVSDl5QUJCQUJBUFFRQU1Cd3NnQnlBRlFSaHNhaUlGSUFZMkFoQWdCU0FRcHlBR2E2dzNBd2dnQlVFQU93RUFJQU1nQkRZQ0dDQUlJQXcyQWloQjRMMEJJUVFEUUNBRUlnVW9BZ0FpQTBVTkFTQUVRUXhxSVFRZ0F5QU1SdzBBQ3dzZ0JTZ0NCQ0FBS0FJSWNVVUVRQ0FDUVFGQi9DaEJBQkFQUVFBTUJnc2dBU0FBS0FJUVFRSWdBaEFhUVFKSEJFQWdBa0VCUVpZU1FRQVFEMEVBREFZTElBQW9BaEFnQ0VFa2FrRUNFQkVnQ0NnQ0pDSUVRUUZOQkVBZ0FrRUJRYUV1UVFBUUQwRUFEQVlMSUFnZ0JFRUNheUlITmdJa0lBQW9BaEFoQkNBQUtBSVVJQWRKQkVBZ0JDQUhFQmNpQkVVRVFDQUFLQUlRRUJBZ0FFSUFOd01RSUFKQkFVSFVKVUVBRUE5QkFBd0hDeUFBSUFRMkFoQWdBQ0FJS0FJa0lnYzJBaFFMSUFFZ0JDQUhJQUlRR2lJRUlBZ29BaVJIQkVBZ0FrRUJRWllTUVFBUUQwRUFEQVlMSUFBZ0FDZ0NFQ0FFSUFJZ0JTZ0NDQkVCQUVVRVFDQUNRUUZCcUJKQkFCQVBRUUFNQmdzZ0FTa0RPQ0VRSUFnb0FpUWhEQUpBSUFBb0FzZ0JJZ1VvQWhnaUJrRUJhaUlISUFVb0FpQWlCRTBFUUNBRktBSWNJUVFNQVFzZ0JRSi9JQVN6UXdBQXlFS1NJZzlEQUFDQVQxMGdEME1BQUFBQVlIRUVRQ0FQcVF3QkMwRUFDeUlFTmdJZ0lBVW9BaHdnQkVFWWJCQVhJZ1JGRFFVZ0JTQUVOZ0ljSUFVb0FoZ2lCa0VCYWlFSEN5QUVJQVpCR0d4cUlnUWdERUVFYWpZQ0VDQUVJQkNuSUF4clFRUnJyRGNEQ0NBRUlBTTdBUUFnQlNBSE5nSVlJQUVnQUNnQ0VFRUNJQUlRR2tFQ1J3UkFJQUpCQVVHV0VrRUFFQTlCQUF3R0MwRUJJQW9nQTBIYy9nTkdHeUVLUVFFZ0N5QURRZEwrQTBZYklRdEJBU0FOSUFOQjBmNERSaHNoRFNBQUtBSVFJQWhCS0dwQkFoQVJJQWdvQWlnaUJFR1Evd05IRFFFTEN5QU5EUUVMSUFKQkFVR1lKRUVBRUE5QkFBd0NDeUFMUlFSQUlBSkJBVUhHSkVFQUVBOUJBQXdDQ3lBS1JRUkFJQUpCQVVIMEpFRUFFQTlCQUF3Q0MwRUFJUU5CQUNFTkl3QkJFR3NpQkNRQVFRRWhCd0pBSUFBdEFMd0JRUUZ4UlEwQUFrQWdBQ2dDY0NJTFJRMEFBa0FEUUNBQUtBSjBJQTFCQTNScUlnVW9BZ0FpQ2dSQUlBTWdCU2dDQkNJR2F5SUZRUUFnQXlBRlR4c2hCU0FESUFaSkJFQWdCaUFEYXlFTElBTWdDbW9oQ2dOQUlBdEJCRWtFUUVHT0t5RUREQVVMSUFvZ0JFRU1ha0VFRUJFZ0JDZ0NEQ0lEUVg5eklBbEpCRUJCOUNvaEF3d0ZDeUFESUF0QkJHc2lCbXNnQlNBRElBWkxJZ3diSVFVZ0F5QUphaUVKSUFZZ0Eyc2hDeUFLUVFBZ0F5QU1HMnBCQkdvaENpQURJQVpKRFFBTElBQW9BbkFoQ3dzZ0JTRURDeUFOUVFGcUlnMGdDMGtOQUFzZ0EwVU5BVUVBSVFjZ0FrRUJRZWtXUVFBUUR3d0NDMEVBSVFjZ0FrRUJJQU5CQUJBUERBRUxJQUFnQ1JBVUlnTTJBb2dCSUFORkJFQkJBQ0VISUFKQkFVRytJRUVBRUE4TUFRc2dBQ0FKTmdKOElBQW9BblFoQmdKQUlBQW9BbkFpQ2dSQVFRQWhDVUVBSVFOQkFDRUZBMEFnQmlBRlFRTjBJZzFxSWd3b0FnQWlDd1JBSUFBb0FvZ0JJQU5xSVFvQ2Z5QU1LQUlFSWdZZ0NVMEVRQ0FLSUFzZ0JoQVNHaUFESUFacUlRTWdDU0FHYXd3QkN5QUtJQXNnQ1JBU0dpQURJQWxxSVFNZ0JpQUpheUlHQkVBZ0NTQUxhaUVKQTBBZ0JrRUVTUTBHSUFrZ0JFRUlha0VFRUJFZ0NVRUVhaUVKSUFBb0FvZ0JJQU5xSVFvZ0JrRUVheUlHSUFRb0FnZ2lDMGtFUUNBS0lBa2dCaEFTR2lBRElBWnFJUU1nQkNnQ0NDQUdhd3dEQ3lBS0lBa2dDeEFTR2lBRUtBSUlJZ29nQTJvaEF5QUpJQXBxSVFrZ0JpQUtheUlHRFFBTEMwRUFDeUVKSUFBb0FuUWdEV29vQWdBUUVDQUFLQUowSWdZZ0RXcENBRGNDQUNBQUtBSndJUW9MSUFWQkFXb2lCU0FLU1EwQUN5QUFLQUo4SVFrZ0FDZ0NpQUVoQXdzZ0FDQUpOZ0tRQVNBQUlBTTJBbmdnQUVFQU5nSndJQVlRRUNBQVFRQTJBblFNQVF0QkFDRUhJQUpCQVVHT0swRUFFQThMSUFSQkVHb2tBQ0FIUlFSQUlBSkJBVUdQUFVFQUVBOUJBQXdDQ3lBQ1FRUkI5OVlBUVFBUUR5QUFLQUxJQVNBQktRTTRRdjcvLy84UGZFTC8vLy8vRDRNM0F3Z2dBRUVJTmdJSVFRRU1BUXNnQlNnQ0hCQVFJQVZCQURZQ0lDQUZRZ0EzQXhnZ0FrRUJRYWtkUVFBUUQwRUFDeUVPSUFoQk1Hb2tBQ0FPQ3h3QUlBQW9BZ2hGSUFBb0FzQUJRUUJISUFBb0FzUUJRUUJIY1hFTEJBQkJBQXNQQUNBQUJFQWdBQ0FCTmdLNEFRc0xqd0VCQkg4Z0FDZ0NHQ0lCQkVBZ0FDZ0NIQ0lEUVRSdUlRUWdBMEUwVHdSL1FRQWhBd05BSUFFb0FnQWlBZ1JBSUFKQkFXc1FFQ0FCUVFBMkFnQUxJQUVvQWdRaUFnUkFJQUlRRUNBQlFRQTJBZ1FMSUFFb0FnZ2lBZ1JBSUFJUUVDQUJRUUEyQWdnTElBRkJOR29oQVNBRFFRRnFJZ01nQkVjTkFBc2dBQ2dDR0FVZ0FRc1FFQ0FBUVFBMkFoZ0xDNFlCQVFSL0lBQW9BaGdpQVFSQUlBQW9BaHdpQWtIQUFFOEVmeUFDUVFaMklRUkJBQ0VDQTBBZ0FTZ0NBQ0lEQkVBZ0F4QVFJQUZCQURZQ0FBc2dBU2dDQkNJREJFQWdBeEFRSUFGQkFEWUNCQXNnQVNnQ1BCQVFJQUZCQURZQ1BDQUJRVUJySVFFZ0FrRUJhaUlDSUFSSERRQUxJQUFvQWhnRklBRUxFQkFnQUVFQU5nSVlDd3MvQVFGL0lBQUVRQ0FBS0FKMElnRUVRQ0FCRUJBZ0FFRUFOZ0owQ3lBQUtBSjRJZ0VFUUNBQkVCQWdBRUVBTmdKNEN5QUFLQUtVQVJBUUlBQVFFQXNMd2FZRkJGeC9BbnNHZmdGOUl3QkI0QUJySWlNa0FDQUFLQUlJSVJvQ1FBSkFBa0FDUUNBQUtBSUFSUVJBSUJvZ0dpZ0NFQ0FhS0FJSWF5QWFLQUlVSUJvb0FneHJiRUVDZENJR0VCZ2lBellDUENBRFJRUkFJQUFvQWlRYUlBQW9BaUJCQVVIUlBFRUFFQThnQUNnQ0pCb2dBRUVjYWlFUURBTUxJQU5CQUNBR0VCVWFEQUVMSUJvb0Fqd2lBMFVOQUNBREVCQWdHa0VBTmdJOEN5QUFLQUlRSWpJb0Fod2dNaWdDR0VHWUFXeHFJZ05CbUFGcktBSUFJVFVnQTBHUUFXc29BZ0FoTmlBQUtBSVVJUzhnQUNnQ0RDRXdJQUFvQWdRaE55QUFLQUljS0FJQVJRMENJQUJCSEdvaEVBSkFBbjlCQUNBQktBSUVJZ05CQUV3TkFCb2dBU2dDQUNFR0FrQURRQ0FHSUFkQkRHeHFJZ1FvQWdCRkRRRWdCMEVCYWlJSElBTkhEUUFMUVFBTUFRc2dCQ2dDQkFzaUJBMEFRUUZCbkFFUUV5SUVSUVJBSUFBb0FpQkJBVUdRTUVFQUVBOE1BZ3NnQkVFQU5nS01BU0FCS0FJRUlnTkIvLy8vL3dkSEJIOENmeUFCS0FJQUlRWWdBMEVBU2dSQUEwQWdCaUFKUVF4c2FpSUhLQUlBUlFSQUlBY29BZ2dpQXdSL0lBY29BZ1FnQXhFQ0FDQUJLQUlBQlNBR0N5QUpRUXhzYWlJQlFRODJBZ2dnQVNBRU5nSUVRUUVNQXdzZ0NVRUJhaUlKSUFOSERRQUxDMEVBSUFZZ0EwRU1iRUVNYWhBWElnTkZEUUFhSUFFZ0F6WUNBQ0FESUFFb0FnUWlCa0VNYkdvaUEwRVBOZ0lJSUFNZ0JEWUNCQ0FEUVFBMkFnQWdBU0FHUVFGcU5nSUVRUUVMQlVFQUN3MEFJQUFvQWlCQkFVR01QMEVBRUE4Z0JDZ0NkQ0lCQkVBZ0FSQVFJQVJCQURZQ2RBc2dCQ2dDZUNJQkJFQWdBUkFRSUFSQkFEWUNlQXNnQkNnQ2xBRVFFQ0FFRUJBTUFRc2dCQ0FBS0FJWU5nS1FBU0FBS0FJb0lTc2dBQ2dDSkNFaElBQW9BaUFoSFNBdktBS29CaUVSSURBb0FoQWhBUUpBQWtBZ0x5Z0NFQ0lXUWNBQWNRUkFJQlloQ2lNQVFiQUNheUlQSkFBQ1FDQVJCRUFnSVFSQVFRQWhCeUFkUVFGQmdSaEJBQkFQREFJTFFRQWhCeUFkUVFGQmdSaEJBQkFQREFFTElBUW9BblFoQndKQUFrQWdHaWdDRkNBYUtBSU1heUlESUJvb0FoQWdHaWdDQ0dzaUJtd2lBU0FFS0FLRUFVc0VRQ0FIRUJBZ0JDQUJRUUowSWhFUUdDSUhOZ0owSUFkRkJFQkJBQ0VIREFRTElBUWdBVFlDaEFFTUFRc2dCMFVOQVNBQlFRSjBJUkVMSUFkQkFDQVJFQlVhQ3lBRUtBSjRJUWNDUUNBRUtBS0lBVUhQRkVzTkFDQUhFQkFnQkVIQTBnQVFHQ0lITmdKNElBY05BRUVBSVFjTUFRc2dCRUhRRkRZQ2lBRWdCMEVBUWNEU0FCQVZHaUFFSUFNMkFvQUJJQVFnQmpZQ2ZDQWFLQUlZSWdKRkJFQkJBU0VIREFFTElCb29BaHdoRFVFQklRY0NRQUpBQWtBQ1FBSkFJQm9vQWpRaUF3UkFJQm9vQWdRaENVRUFJUWRCQUNFQkFrQWdBMEVFVHdSQUlBTkJmSEVoQVFOQUlBa2dDRUVEZEdvaUJrRWNhaUFHUVJScUlBWkJER29nQnYwSkFnVDlWZ0lBQWYxV0FnQUMvVllDQUFNZ1h2MnVBU0ZlSUFoQkJHb2lDQ0FCUncwQUN5QmVJRjRnWHYwTkNBa0tDd3dORGc4QUFRSURBQUVDQS8ydUFTSmVJRjRnWHYwTkJBVUdCd0FCQWdNQUFRSURBQUVDQS8ydUFmMGJBQ0VISUFFZ0EwWU5BUXNEUUNBSklBRkJBM1JxS0FJRUlBZHFJUWNnQVVFQmFpSUJJQU5IRFFBTEN5QURRUUZHQkVBZ0JDZ0NrQUZGRFFVTElBY2dCQ2dDbUFGTkRRRWdCQ2dDbEFFZ0J4QVhJaEVOQWtFQUlRY01CZ3NnQkNnQ2tBRkZEUVVMSUFRb0FwUUJJaEVOQVVFQUlRY01CQXNnQkNBSE5nS1lBU0FFSUJFMkFwUUJDeUFhS0FJMFJRUkFRUUFoQnd3Q0N5QWFLQUlFSVFoQkFDRUhRUUFoQVFOQUlBY2dFV29nQ0NBQlFRTjBJZ05xSWdZb0FnQWdCaWdDQkJBU0dpQWFLQUlFSWdnZ0Eyb29BZ1FnQjJvaEJ5QUJRUUZxSWdFZ0dpZ0NORWtOQUFzTUFRc2dHaWdDQkNnQ0FDRVJDMEVBSVFGQkFDRUlBbjlCQUNBYUtBSW9JZ05GRFFBYUlCb29BZ0FpQmlnQ0NDRUlRUUFnQTBFQlJnMEFHaUFHS0FJZ0N5RURJQUlnRFdzaFJRSkFJQU1nQ0dvaUNFVUVRRUVBSVFrTUFRdEJBU0VCSUJvb0FnQWlBeWdDQUNFRlFRQWhDU0FJUVFGR0JFQkJBQ0VCREFFTElBTW9BaGdoQ1FzZ1JVRUJhaUVXSUFRb0FuUWhEaUFFS0FKNElSUWdHaWdDRENFU0lCb29BaFFoR0NBYUtBSUlJU1FnR2lnQ0VDRXJBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZGRFFBZ0NRMEFJQ0ZGRFFFZ0hVRUNRYUhRQUVFQUVBOUJBU0VJREFJTElBaEJCRWtOQVNBaEJFQWdEeUFJTmdKd0lCMUJBVUg4eGdBZ0QwSHdBR29RRHd3SUN5QVBJQWcyQW1BZ0hVRUJRZnpHQUNBUFFlQUFhaEFQUVFBaEJ3d0lDeUFkUVFKQm9kQUFRUUFRRHlBYUtBSVlJZ0ZCSGtzTkFVRUJJUXdnQVNBV1R3MEREQVVMSUJvb0FoZ2lBVUVlVFEwQklDRkZEUUFnRHlBQk5nSWdJQjFCQVVHYjJ3QWdEMEVnYWhBUERBVUxJQThnQVRZQ0FDQWRRUUZCbTlzQUlBOFFEMEVBSVFjTUJRc2dBU0FXU1EwQklBaEJBa2tFUUNBSUlRd01BUXNnQVNBV1J3UkFJQWdoREF3QkMwRUJJUXhCa01jQkxRQUFEUUFnSVVVRVFFR1F4d0ZCQVRvQUFDQVBJQWcyQWtBZ0hVRUNRYWJNQUNBUFFVQnJFQThNQVF0QmtNY0JMUUFBUlFSQVFaREhBVUVCT2dBQUlBOGdDRFlDVUNBZFFRSkJwc3dBSUE5QjBBQnFFQThMQ3dKQUFrQWdCVUVDU1EwQUlBVWdCMHNOQUNBRklBbHFJQWRORFFFTElDRUVRRUVBSVFjZ0hVRUJRY0xHQUVFQUVBOE1CUXRCQUNFSElCMUJBVUhDeGdCQkFCQVBEQVFMQWtBQ1FDQUZJQkZxSWhOQkFXc3RBQUJCQkhRZ0UwRUNheTBBQUVFUGNYSWlCa0VDU1EwQUlBVWdCa2dOQUNBR1FmQWZTUTBCQ3lBaEJFQkJBQ0VISUIxQkFVSFc4Z0JCQUJBUERBVUxRUUFoQnlBZFFRRkIxdklBUVFBUUR3d0VDeUFhS0FJY0lTWWdEMEVBTmdLUUFpQVBRUUEyQXBnQ0lBOUNBRGNEaUFJZ0QwSUFOd09vQWlBUFFnQTNBcHdDSUE4Z0JrRUJheUlITmdLVUFpQVBJQVVnRVdvZ0Jtc2lBVFlDZ0FKQy93RWhZQ0FHUVFKUEJFQWdBVEVBQUNGZ0MwRUlJUU1nRDBFSU5nS1FBaUFQSUFaQkFtc2lDRFlDbEFJZ0R5QmdRZytFSUdBZ0IwRUJSaHNpWURjRGlBSWdEeUFCSUFaQkFVcHFJZ2MyQW9BQ0lBOGdZRUwvQVZFaURUWUNtQUlDZndKQUlBRkJBM0VpQWtFRFJnMEFRdjhCSVdFZ0RRUkFRUUFnQnkwQUFFR1BBVXNOQWhvTElBWkJBMDRFUUNBSE1RQUFJV0VMSUE4Z0JrRURheUlOTmdLVUFpQVBRUTlCRUNCZ1F2OEJVU0lMR3lJRE5nS1FBaUFQSUFjZ0JrRUNTbW9pQVRZQ2dBSWdEeUJoUWcrRUlHRWdDRUVCUmhzaVlVTC9BVkUyQXBnQ0lBOGdZRUlIUWdnZ0N4dUdJR0dFSW1BM0E0Z0NJQUpCQWtZTkFDQmhRdjhCVVFSQVFRQWdBUzBBQUVHUEFVc05BaG9MUXY4QklXSWdCa0VFVGdSQUlBRXhBQUFoWWdzZ0R5QUdRUVJySWdjMkFwUUNJQThnQVNBR1FRTkthaUlCTmdLQUFpQVBJR0pDRDRRZ1lpQU5RUUZHR3lKaVF2OEJVVFlDbUFJZ0R5QURRUWRCQ0NCaFF2OEJVU0lJRzJvaUF6WUNrQUlnRHlCZ1FnZENDQ0FJRzRZZ1lvUWlZRGNEaUFJZ0FrRUJSZzBBUXY4QklXRWdZa0wvQVZFRVFFRUFJQUV0QUFCQmp3RkxEUUlhQ3lBR1FRVk9CRUFnQVRFQUFDRmhDeUFQSUFaQkJXczJBcFFDSUE4Z0FTQUdRUVJLYWpZQ2dBSWdEeUJoUWcrRUlHRWdCMEVCUmhzaVlVTC9BVkUyQXBnQ0lBOGdBMEVIUVFnZ1lrTC9BVkVpQVJ0cUlnTTJBcEFDSUE4Z1lFSUhRZ2dnQVJ1R0lHR0VJbUEzQTRnQ0N5QVBJR0JCd0FBZ0EydXRoamNEaUFKQkFRdEZCRUFnSVFSQVFRQWhCeUFkUVFGQmc5VUFRUUFRRHd3RkMwRUFJUWNnSFVFQlFZUFZBRUVBRUE4TUJBc2dLeUFrYXlFVklBOGdCa0VDYXlJTE5nTDBBU0FQSUFVZ0VXb2lBa0VEYXlJRE5nTGdBU0FQSUFKQkFtc3RBQUFpR1VHUEFVc2lEVFlDK0FFZ0R5QVpRUVIyclNKZ053UG9BU0FQUVFOQkJDQmdRZ2VEUWdkUkd5SUJOZ0x3QVNBRFFRTnhRUUZxSWdjZ0N5QUhJQXRJR3lFSUFrQUNRQ0FHUVFKTUJFQWdEeUFMSUFocklnSTJBdlFCREFFTElBOGdBa0VFYXlJSE5nTGdBU0FQSUFNdEFBQWlGMEdQQVVzaURUWUMrQUVnRHlBWHJTSmhJQUd0aGlCZ2hDSmdOd1BvQVNBUFFRaEJCMEVJSUdGQy93Q0RRdjhBVVJzZ0dVR1BBVTBiSUFGcUlnRTJBdkFCQWtBZ0NFRUJSZ1JBSUFjaEF3d0JDeUFQSUFKQkJXc2lBellDNEFFZ0R5QUhMUUFBSWhsQmp3RkxJZzAyQXZnQklBOGdHYTBpWVNBQnJZWWdZSVFpWURjRDZBRWdEMEVJUVFkQkNDQmhRdjhBZzBML0FGRWJJQmRCandGTkd5QUJhaUlCTmdMd0FTQUlRUUpHRFFBZ0R5QUNRUVpySWdjMkF1QUJJQThnQXkwQUFDSVhRWThCU3lJTk5nTDRBU0FQSUJldEltRWdBYTJHSUdDRUltQTNBK2dCSUE5QkNFRUhRUWdnWVVML0FJTkMvd0JSR3lBWlFZOEJUUnNnQVdvaUFUWUM4QUVnQ0VFRFJnUkFJQWNoQXd3QkN5QVBJQUpCQjJzaUF6WUM0QUVnRHlBSE1RQUFJbUZDandGV0lnMDJBdmdCSUE4Z1lTQUJyWVlnWUlRaVlEY0Q2QUVnRDBFSVFRZEJDQ0JoUXY4QWcwTC9BRkViSUJkQmp3Rk5HeUFCYWlJQk5nTHdBUXNnRHlBTElBaHJJZ0kyQXZRQklBRkJJRXNOQVFzQ1FDQUNRUVJPQkVBZ0EwRURheWdDQUNFSElBOGdBa0VFYXpZQzlBRWdEeUFEUVFSck5nTGdBUXdCQ3lBQ1FRQk1CRUJCQUNFSERBRUxJQUpCQVhFaFJ3SkFJQUpCQVVZRVFFRVlJUWhCQUNFSERBRUxJQUpCL3YvLy93ZHhJUmRCR0NFSVFRQWhCMEVBSVFzRFFDQVBJQU5CQVdzaUh6WUM0QUVnQXkwQUFDRkdJQThnQTBFQ2F5SUROZ0xnQVNBUElBSkJBV3MyQXZRQklCOHRBQUFoSHlBUElBSkJBbXNpQWpZQzlBRWdSaUFJZENBSGNpQWZJQWhCQ0d0MGNpRUhJQWhCRUdzaENDQUxRUUpxSWdzZ0YwY05BQXNMSUVkRkRRQWdEeUFEUVFGck5nTGdBU0FETFFBQUlVZ2dEeUFDUVFGck5nTDBBU0JJSUFoMElBZHlJUWNMSUE4Z0IwSC9BWEVpQTBHUEFVczJBdmdCSUE5QkIwRUlJQWRCZ0lDQStBZHhRWUNBZ1BnSFJodEJDQ0FOR3lJQ1FRaEJCMEVJSUFkQmdJRDhBM0ZCZ0lEOEEwWWJJQWRCLy8vLy8zaE5HMm9pQ0VFSVFRZEJDQ0FIUVlEK0FYRkJnUDRCUmhzZ0IwRVFka0gvQVhFaURVR1BBVTBiYWlJTFFRaEJCMEVJSUFkQi93QnhRZjhBUmhzZ0IwRUlka0gvQVhFaUdVR1BBVTBiSUFGcWFqWUM4QUVnRHlBTklBSjBJQWRCR0haeUlCa2dDSFJ5SUFNZ0MzUnlyU0FCcllZZ1lJUTNBK2dCQ3lBUFFjQUJhaUFSSUFVZ0JtdEIvd0VRV3dKL1FRQWdERUVDU1EwQUdpQVBRYUFCYWlBVElBbEJBQkJiUVFBZ0RFRUNSZzBBR2tJQUlXQkNBQ0ZpSUE5QkFUWUNtQUVnRDBFQU5nS1FBU0FQUWdBM0E0Z0JJQThnQ1VFQmF5SUdOZ0tVQVNBUElBVWdFV29nQ1dvaUEwRUJheUlCTmdLQUFTQUJRUU54SVFVQ1FDQUpRUUJNQkVBZ0FTRUREQUVMSUE4Z0EwRUNheUlETmdLQUFTQUJNUUFBSVdBTElBOGdZRGNEaUFFZ0R5QmdRbzhCVmlJUk5nS1lBU0FQUVFkQkNDQmdRdjhBZzBML0FGRWJJZzAyQXBBQkFrQWdCVVVOQUNBUElBbEJBbXNpQWpZQ2xBRUNRQ0FKUVFKSUJFQWdBeUVIREFFTElBOGdBMEVCYXlJSE5nS0FBU0FETVFBQUlXSUxJQThnWWtLUEFWWWlFVFlDbUFFZ0R5QmlJQTJ0aGlCZ2hDSmhOd09JQVNBUFFRaEJCMEVJSUdKQy93Q0RRdjhBVVJzZ1lFS1BBVmdiSUExcUlnMDJBcEFCSUFWQkFVWUVRQ0FISVFNZ1lTRmdJQVloQ1NBQ0lRWU1BUXNnRHlBSlFRTnJJZ2cyQXBRQkFrQWdDVUVEU0FSQUlBY2hBUXdCQ3lBUElBZEJBV3NpQVRZQ2dBRWdCekVBQUNGakN5QVBJR05DandGV0loRTJBcGdCSUE4Z1l5QU5yWVlnWVlRaVlEY0RpQUVnRDBFSVFRZEJDQ0JqUXY4QWcwTC9BRkViSUdKQ2p3RllHeUFOYWlJTk5nS1FBU0FGUVFKR0JFQWdBU0VESUFJaENTQUlJUVlNQVFzZ0R5QUpRUVJySWdZMkFwUUJRZ0FoWWdKQUlBbEJCRWdFUUNBQklRTU1BUXNnRHlBQlFRRnJJZ00yQW9BQklBRXhBQUFoWWdzZ0R5QmlRbzhCVmlJUk5nS1lBU0FQSUdJZ0RhMkdJR0NFSW1BM0E0Z0JJQTlCQ0VFSFFRZ2dZa0wvQUlOQy93QlJHeUJqUW84QldCc2dEV29pRFRZQ2tBRWdDQ0VKQ3lBTlFTQk5CRUFDUUNBSlFRVk9CRUFnQTBFRGF5Z0NBQ0VISUE4Z0NVRUZhellDbEFFZ0R5QURRUVJyTmdLQUFRd0JDMEVBSVFjZ0NVRUNTQTBBUVJnaENRTkFJQThnQTBFQmF5SUJOZ0tBQVNBRExRQUFJVWtnRHlBR1FRRnJJZ0kyQXBRQklFa2dDWFFnQjNJaEJ5QUdRUUZMSVVvZ0FTRURJQWxCQ0dzaENTQUNJUVlnU2cwQUN3c2dEeUFIUWY4QmNTSUJRWThCU3pZQ21BRWdEMEVIUVFnZ0IwR0FnSUQ0QjNGQmdJQ0ErQWRHRzBFSUlCRWJJZ05CQ0VFSFFRZ2dCMEdBZ1B3RGNVR0FnUHdEUmhzZ0IwSC8vLy8vZUUwYmFpSUdRUWhCQjBFSUlBZEJnUDRCY1VHQS9nRkdHeUFIUVJCMlFmOEJjU0lKUVk4QlRSdHFJZ0pCQ0VFSFFRZ2dCMEgvQUhGQi93QkdHeUFIUVFoMlFmOEJjU0lJUVk4QlRSc2dEV3BxTmdLUUFTQVBJQWtnQTNRZ0IwRVlkbklnQ0NBR2RISWdBU0FDZEhLdElBMnRoaUJnaERjRGlBRUxRUUVMSVRFZ0dDQVNheUVmSUJaQkFXb2hMQ0FVUVFBNkFNQVFJQlJCd0JCcUlRc2dEMEdBQW1vUUtDRUNJQlZCQUVvRVFDQW1RUUZySVJNZ0ZDRURJQXNoQ0VFQUlSRWdEaUVHUVFBaERRTkFJQTBoQlNBUlFRaDBJQTlCNEFGcUVDOUIvd0J4UVFGMGNrR2cvUUJxTHdFQUlRRUNRQ0FSRFFBZ0FVRUFJQUpCQW1zaUIwRi9SaHNoQVNBQ1FRRktCRUFnQnlFQ0RBRUxJQTlCZ0FKcUVDZ2hBZ3NnRHlrRDZBRWhaQ0FQS0FMd0FTRkxJQU1nQXlnQ0FDQUJRUVIySWhoQkEzRWdBVUVDZGtFd2NYSWdJblJ5SWhZMkFnQWdBVUVGZGtFSGNTQUJRUkJ4SWg1QkJIWnlJUkVnU3lBQlFRZHhJZ2RySVEwZ1pDQUhyWWdpWUtjaENVRUFJUWNnRlNBRlFRSnlTZ1JBSUJGQkNIUWdDVUgvQUhGQkFYUnlRYUQ5QUdvdkFRQWhCd0pBSUJFTkFDQUhRUUFnQWtFQ2F5SUpRWDlHR3lFSElBSkJBVW9FUUNBSklRSU1BUXNnRDBHQUFtb1FLQ0VDQ3lBSFFRUjJRUUZ4SUFkQkJYWkJCM0Z5SVJFZ0RTQUhRUWR4SWdscklRMGdZQ0FKcllnaVlLY2hDUXNnQXlBSFFRSjBRWUFHY1NBSFFUQnhjaUFpUVFScWRDQVdjallDQUFKQUlBZEJBblpCQW5FZ0FVRURka0VCY1hJaUYwRURSdzBBUVFSQkF5QUNRUUpySWhaQmYwWWJJUmNnQWtFQlNnUkFJQlloQWd3QkN5QVBRWUFDYWhBb0lRSUxBbjhnRjBVRVFDQVBRb0dBZ0lBUU53SjRRUUFNQVFzZ0YwRUNUUVJBSUE5QkFTQUpRUWR4UWRTZEFXb3RBQUFpRmtFRmRrRi9JQlpCQW5aQkIzRWlHWFJCZjNNZ0NTQVdRUU54SWdsMmNXcEJBV29pRmlBWFFRRkdJaGNiTmdKOElBOGdGa0VCSUJjYk5nSjRJQWtnR1dvTUFRc2dDU0FKUVFkeFFkU2RBV290QUFBaUZrRURjU0laZGlFSklCZEJBMFlFUUNBV1FRVjJRUUZxSVJjZ0dVRURSZ1JBSUE4Z0NVRUJjVUVDY2pZQ2ZDQVBJQmRCZnlBV1FRSjJRUWR4SWhaMFFYOXpJQWxCQVhaeGFqWUNlQ0FXUVFScURBSUxJQThnRnlBSklBbEJCM0ZCMUowQmFpMEFBQ0lKUVFOeEloSjJJaUJCZnlBV1FRSjJRUWR4SWhaMFFYOXpjV28yQW5nZ0QwRi9JQWxCQW5aQkIzRWlGM1JCZjNNZ0lDQVdkbkVnQ1VFRmRtcEJBV28yQW53Z0ZpQVphaUFTYWlBWGFnd0JDeUFQSUFrZ0NVRUhjVUhVblFGcUxRQUFJZ2xCQTNFaUVuWWlJRUYvSUJaQkFuWkJCM0VpRjNSQmYzTnhJQlpCQlhacVFRTnFOZ0o0SUE5QmZ5QUpRUUoyUVFkeEloWjBRWDl6SUNBZ0YzWnhJQWxCQlhacVFRTnFOZ0o4SUJJZ0dXb2dGMm9nRm1vTElRa0NRQ0FzSUE4b0FuZ2lHVThFUUNBUEtBSjhJaElnTEUwTkFRc2dJUVJBUVFBaEJ5QWRRUUZCbWZZQVFRQVFEd3dIQzBFQUlRY2dIVUVCUVpuMkFFRUFFQThNQmdzZ0R5QU5JQWxyTmdMd0FTQVBJR0FnQ2EySU53UG9BU0FIUWZBQmNTQVlRUTl4Y2tIL0FVSC9BU0FGUVFScUlnMGdGV3RCQVhSMklBMGdGVXdiSWdrZ0NVSFZBSEVnSDBFQlNoc2lDVUYvYzNFRVFDQWhCRUJCQUNFSElCMUJBVUd2MmdCQkFCQVBEQWNMUVFBaEJ5QWRRUUZCcjlvQVFRQVFEd3dHQ3dKQUFrQWdIZ1JBSUE5QndBRnFFQnNoRnlBUElBOG9BdEFCSUJrZ0FVRVRkRUVmZFdvaUZtczJBdEFCSUE4Z0R5a0R5QUVnRnEySU53UElBU0FYUVg4Z0ZuUkJmM054SUFGQkNIWkJBWEVnRm5SeVFRRnlRUUpxSUJOMElCZEJIM1J5SVJZTUFRdEJBQ0VXSUFsQkFYRkZEUUVMSUFZZ0ZqWUNBQXNDUUNBQlFTQnhCRUFnRDBIQUFXb1FHeUVYSUE4Z0R5Z0MwQUVnR1NBQlFSSjBRUjkxYWlJV2F6WUMwQUVnRHlBUEtRUElBU0FXcllnM0E4Z0JJQVlnRlVFQ2RHb2dGMEYvSUJaMFFYOXpjU0FCUVFsMlFRRnhJQlowY2tFQmNpSVdRUUpxSUJOMElCZEJIM1J5TmdJQUlBaEJJQ0FXWjJzaUZpQUlMUUFBUWY4QWNTSVhJQllnRjBzYlFZQUJjam9BQUF3QkN5QUpRUUp4UlEwQUlBWWdGVUVDZEdwQkFEWUNBQXNnQmtFRWFpRVhBa0FDUUNBQlFjQUFjUVJBSUE5QndBRnFFQnNoR0NBUElBOG9BdEFCSUJrZ0FVRVJkRUVmZFdvaUZtczJBdEFCSUE4Z0R5a0R5QUVnRnEySU53UElBU0FZUVg4Z0ZuUkJmM054SUFGQkNuWkJBWEVnRm5SeVFRRnlRUUpxSUJOMElCaEJIM1J5SVJZTUFRdEJBQ0VXSUFsQkJIRkZEUUVMSUJjZ0ZqWUNBQXNnQ0VFQU9nQUJBa0FnQVVHQUFYRUVRQ0FQUWNBQmFoQWJJUmdnRHlBUEtBTFFBU0FaSUFGQkVIUkJIM1ZxSWhack5nTFFBU0FQSUE4cEE4Z0JJQmF0aURjRHlBRWdGeUFWUVFKMGFpQVlRWDhnRm5SQmYzTnhJQUZCQzNaQkFYRWdGblJ5UVFGeUlnRkJBbW9nRTNRZ0dFRWZkSEkyQWdBZ0NFR2dmeUFCWjJzNkFBRU1BUXNnQ1VFSWNVVU5BQ0FYSUJWQkFuUnFRUUEyQWdBTElBWkJDR29oQVFKQUFrQWdCMEVRY1FSQUlBOUJ3QUZxRUJzaEdTQVBJQThvQXRBQklCSWdCMEVUZEVFZmRXb2lGbXMyQXRBQklBOGdEeWtEeUFFZ0ZxMklOd1BJQVNBWlFYOGdGblJCZjNOeElBZEJDSFpCQVhFZ0ZuUnlRUUZ5UVFKcUlCTjBJQmxCSDNSeUlSY01BUXRCQUNFWElBbEJFSEZGRFFFTElBRWdGellDQUFzQ1FDQUhRU0J4QkVBZ0QwSEFBV29RR3lFWklBOGdEeWdDMEFFZ0VpQUhRUkowUVI5MWFpSVdhellDMEFFZ0R5QVBLUVBJQVNBV3JZZzNBOGdCSUFFZ0ZVRUNkR29nR1VGL0lCWjBRWDl6Y1NBSFFRbDJRUUZ4SUJaMGNrRUJjaUlCUVFKcUlCTjBJQmxCSDNSeU5nSUFJQWhCSUNBQloyc2lBU0FJTFFBQlFmOEFjU0lXSUFFZ0Zrc2JRWUFCY2pvQUFRd0JDeUFKUVNCeFJRMEFJQUVnRlVFQ2RHcEJBRFlDQUFzZ0JrRU1haUVCQWtBQ1FDQUhRY0FBY1FSQUlBOUJ3QUZxRUJzaEdTQVBJQThvQXRBQklCSWdCMEVSZEVFZmRXb2lGbXMyQXRBQklBOGdEeWtEeUFFZ0ZxMklOd1BJQVNBWlFYOGdGblJCZjNOeElBZEJDblpCQVhFZ0ZuUnlRUUZ5UVFKcUlCTjBJQmxCSDNSeUlSY01BUXRCQUNFWElBbEJ3QUJ4UlEwQkN5QUJJQmMyQWdBTElBaEJBbW9pQ0VFQU9nQUFBa0FnQjBHQUFYRUVRQ0FQUWNBQmFoQWJJUllnRHlBUEtBTFFBU0FTSUFkQkVIUkJIM1ZxSWdsck5nTFFBU0FQSUE4cEE4Z0JJQW10aURjRHlBRWdBU0FWUVFKMGFpQVdRWDhnQ1hSQmYzTnhJQWRCQzNaQkFYRWdDWFJ5UVFGeUlnRkJBbW9nRTNRZ0ZrRWZkSEkyQWdBZ0NFR2dmeUFCWjJzNkFBQU1BUXNnQ1VHQUFVa05BQ0FCSUJWQkFuUnFRUUEyQWdBTElDSkJFSE1oSWlBRElBVkJCSEZxSVFNZ0JrRVFhaUVHSUEwZ0ZVZ05BQXNMSUFwQkNIRWhPQ0FVUWJBTWFpRW9JQlJCb0FocUlTa2dGRUdRQkdvaEpTQWZRUU5PQkVBZ0ZVRURiQ0U1SUJWQkFYUWhPaUFtUVFGcklTQkJBeUFtUVFKcklnRjBJUzFCQVNBQmRDRXVJQlZCQjJwQkFYWkIvUC8vL3dkeFFRUnFJVDBnS3lBa1FYOXphaUlCUVFOMklnTkJBblFpUGtFRWFpRTdJQU5CQVdvaVAwSDgvLy8vQTNFaUhFRUNkQ0U4SUJ4QkEzUWhFaUFCUVJoSklVQkJBaUVaQTBBZ0dTRVRJQXN0QUFBaEZpQUxRUUE2QUFBZ0lrRnZjVUVDY3lFaUFrQWdGVUVBVEFSQUlCTkJBbW9oR1F3QkN5QWxJQlFnRTBFRWNSc2hFU0FUUVFKcUlSa2dEaUFUSUJWc1FRSjBhaUVJUVFBaENpQUxJUVpCQUNFTkEwQWdEU0VGSUFZdEFBRkJCWFpCQkhFZ0NpQVdRUWQyY25JaUEwRUlkQ0FQUWVBQmFoQXZRZjhBY1VFQmRISkJvSTBCYWk4QkFDRUJBa0FnQXcwQUlBRkJBQ0FDUVFKcklnTkJmMFliSVFFZ0FrRUJTZ1JBSUFNaEFnd0JDeUFQUVlBQ2FoQW9JUUlMSUE4cEErZ0JJV1VnRHlnQzhBRWhUQ0FSSUJFb0FnQWdBVUVFZGtFRGNTQUJRUUoyUVRCeGNpQWlkSElpQ1RZQ0FDQUJRY0FBY1NJcVFRVjJJQUZCZ0FGeElpZEJCblp5SVFvZ1RDQUJRUWR4SWdOcklSY2daU0FEcllnaVlLY2hEVUVBSVJnQ1FDQVZJQVZCQW5KTUJFQkJBQ0VIREFFTElBb2dCaTBBQWtFRmRrRUVjU0FHTFFBQlFRZDJjbklpQTBFSWRDQU5RZjhBY1VFQmRISkJvSTBCYWk4QkFDRUhBa0FnQXcwQUlBZEJBQ0FDUVFKcklnTkJmMFliSVFjZ0FrRUJTZ1JBSUFNaEFnd0JDeUFQUVlBQ2FoQW9JUUlMSUFkQkJYWWdCMEVHZG5KQkFuRWhDaUFYSUFkQkIzRWlBMnNoRnlCZ0lBT3RpQ0pncHlFTkN5QVJJQWRCQW5SQmdBWnhJQWRCTUhGeUlDSkJCR3AwSUFseU5nSUFRUUVoQ1VFQklRTUNRQ0FIUVFKMlFRSnhJQUZCQTNaQkFYRnlJaDVGRFFBZ0RTQU5RUWR4UWRTZEFXb3RBQUFpQTBFRGNTSU5kaUVKSUI1QkEwY0VRRUVCSUFsQmZ5QURRUUoyUVFkeEloaDBRWDl6Y1NBRFFRVjJha0VCYWlJRElCNUJBVVlpSGhzaENTQURRUUVnSGhzaEF5QU5JQmhxSVJnTUFRc2dDVUVIY1VIVW5RRnFMUUFBSWg1QkEzRWlNeUFOSUFOQkFuWkJCM0VpRzJwcUlCNUJBblpCQjNFaURXb2hHQ0FKSUROMklnbEJmeUFiZEVGL2MzRWdBMEVGZG1wQkFXb2hBMEYvSUExMFFYOXpJQWtnRzNaeElCNUJCWFpxUVFGcUlRa0xJQThnRnlBWWF6WUM4QUVnRHlCZ0lCaXRpRGNENkFFZ0FVSHdBWEVpRFNBTlFRRnJjUVJBSUFNZ0ZrSC9BSEVpRmlBR0xRQUJRZjhBY1NJWElCWWdGMHNiSWhaQkFtc2lGMEVBSUJZZ0YwOGJhaUVEQ3lBSFFmQUJjU0lYSUJkQkFXdHhCRUFnQ1NBR0xRQUJRZjhBY1NJV0lBWXRBQUpCL3dCeEloZ2dGaUFZU3hzaUZrRUNhMEVBSUJaQkFrc2JhaUVKQ3lBRElDeE5JQWtnTEUxeFJRUkFJQ0VFUUVFQUlRY2dIVUVCUWYzMkFFRUFFQThNQ1F0QkFDRUhJQjFCQVVIOTlnQkJBQkFQREFnTElBWXRBQUloRmlBR1FRQTdBQUVnRnlBTlFRUjJja0gvQVVIL0FTQUZRUVJxSWcwZ0ZXdEJBWFIySUEwZ0ZVd2JJaGRCMVFCeElCY2dHU0FmU2hzaUdFRi9jM0VFUUNBaEJFQkJBQ0VISUIxQkFVR3YyZ0JCQUJBUERBa0xRUUFoQnlBZFFRRkJyOW9BUVFBUUR3d0lDd0pBQWtBZ0FVRVFjUVJBSUE5QndBRnFFQnNoSGlBUElBOG9BdEFCSUFNZ0FVRVRkRUVmZFdvaUYyczJBdEFCSUE4Z0R5a0R5QUVnRjYySU53UElBU0FlUVg4Z0YzUkJmM054SUFGQkNIWkJBWEVnRjNSeVFRRnlRUUpxSUNCMElCNUJIM1J5SVJjTUFRdEJBQ0VYSUJoQkFYRkZEUUVMSUFnZ0Z6WUNBQXNDUUNBQlFTQnhCRUFnRDBIQUFXb1FHeUVlSUE4Z0R5Z0MwQUVnQXlBQlFSSjBRUjkxYWlJWGF6WUMwQUVnRHlBUEtRUElBU0FYcllnM0E4Z0JJQWdnRlVFQ2RHb2dIa0YvSUJkMFFYOXpjU0FCUVFsMlFRRnhJQmQwY2tFQmNpSVhRUUpxSUNCMElCNUJIM1J5TmdJQUlBWkJJQ0FYWjJzaUZ5QUdMUUFBUWY4QWNTSWVJQmNnSGtzYlFZQUJjam9BQUF3QkN5QVlRUUp4UlEwQUlBZ2dGVUVDZEdwQkFEWUNBQXNnQ0VFRWFpRWVBa0FDUUNBcUJFQWdEMEhBQVdvUUd5RWJJQThnRHlnQzBBRWdBeUFCUVJGMFFSOTFhaUlYYXpZQzBBRWdEeUFQS1FQSUFTQVhyWWczQThnQklCdEJmeUFYZEVGL2MzRWdBVUVLZGtFQmNTQVhkSEpCQVhKQkFtb2dJSFFnRzBFZmRISWhGd3dCQzBFQUlSY2dHRUVFY1VVTkFRc2dIaUFYTmdJQUN3SkFJQ2NFUUNBUFFjQUJhaEFiSVJjZ0R5QVBLQUxRQVNBRElBRkJFSFJCSDNWcUlnTnJOZ0xRQVNBUElBOHBBOGdCSUFPdGlEY0R5QUVnSGlBVlFRSjBhaUFYUVg4Z0EzUkJmM054SUFGQkMzWkJBWEVnQTNSeVFRRnlJZ0ZCQW1vZ0lIUWdGMEVmZEhJMkFnQWdCa0dnZnlBQloyczZBQUVNQVFzZ0dFRUljVVVOQUNBZUlCVkJBblJxUVFBMkFnQUxJQWhCQ0dvaEFRSkFBa0FnQjBFUWNRUkFJQTlCd0FGcUVCc2hGeUFQSUE4b0F0QUJJQWtnQjBFVGRFRWZkV29pQTJzMkF0QUJJQThnRHlrRHlBRWdBNjJJTndQSUFTQVhRWDhnQTNSQmYzTnhJQWRCQ0haQkFYRWdBM1J5UVFGeVFRSnFJQ0IwSUJkQkgzUnlJUU1NQVF0QkFDRURJQmhCRUhGRkRRRUxJQUVnQXpZQ0FBc0NRQ0FIUVNCeEJFQWdEMEhBQVdvUUd5RVhJQThnRHlnQzBBRWdDU0FIUVJKMFFSOTFhaUlEYXpZQzBBRWdEeUFQS1FQSUFTQURyWWczQThnQklBRWdGVUVDZEdvZ0YwRi9JQU4wUVg5emNTQUhRUWwyUVFGeElBTjBja0VCY2lJQlFRSnFJQ0IwSUJkQkgzUnlOZ0lBSUFaQklDQUJaMnNpQVNBR0xRQUJRZjhBY1NJRElBRWdBMHNiUVlBQmNqb0FBUXdCQ3lBWVFTQnhSUTBBSUFFZ0ZVRUNkR3BCQURZQ0FBc2dDRUVNYWlFQkFrQUNRQ0FIUWNBQWNRUkFJQTlCd0FGcUVCc2hGeUFQSUE4b0F0QUJJQWtnQjBFUmRFRWZkV29pQTJzMkF0QUJJQThnRHlrRHlBRWdBNjJJTndQSUFTQVhRWDhnQTNSQmYzTnhJQWRCQ25aQkFYRWdBM1J5UVFGeVFRSnFJQ0IwSUJkQkgzUnlJUU1NQVF0QkFDRURJQmhCd0FCeFJRMEJDeUFCSUFNMkFnQUxJQVpCQW1vaEJnSkFJQWRCZ0FGeEJFQWdEMEhBQVdvUUd5RVhJQThnRHlnQzBBRWdDU0FIUVJCMFFSOTFhaUlEYXpZQzBBRWdEeUFQS1FQSUFTQURyWWczQThnQklBRWdGVUVDZEdvZ0YwRi9JQU4wUVg5emNTQUhRUXQyUVFGeElBTjBja0VCY2lJQlFRSnFJQ0IwSUJkQkgzUnlOZ0lBSUFaQm9IOGdBV2RyT2dBQURBRUxJQmhCZ0FGSkRRQWdBU0FWUVFKMGFrRUFOZ0lBQ3lBaVFSQnpJU0lnRVNBRlFRUnhhaUVSSUFoQkVHb2hDQ0FOSUJWSURRQUxDd0pBSUF4QkFra05BQ0FUUVFKeFJRMEFJQmxCQkhFaEF3SkFBbjhDUUFKQUlERUVRQ0FVSUNVZ0F4c2hGa0VBSVJnZ0ZVRUFUQTBCSUE0Z0UwRUNheUFWYkVFQ2RHb2hFUU5BSUE5QmdBRnFFQzhoQjBFQUlRRWdGaWdDQUNJSUJFQWdFU0FZUVFKMGFpRUJRUUFoQ1VFUElRWURRQUpBSUFZZ0NIRkZEUUFnQmtHUm9zU0lBWEVpRFNBSWNRUkFJQUVnQVNnQ0FDQUhRWDl6UVFGeElDQjBjeUF1Y2pZQ0FDQUhRUUYySVFjTElBMUJBWFFnQ0hFRVFDQUJJQlZCQW5ScUlnVWdCU2dDQUNBSFFYOXpRUUZ4SUNCMGN5QXVjallDQUNBSFFRRjJJUWNMSUExQkFuUWdDSEVFUUNBQklEcEJBblJxSWdVZ0JTZ0NBQ0FIUVg5elFRRnhJQ0IwY3lBdWNqWUNBQ0FIUVFGMklRY0xJQTFCQTNRZ0NIRkZEUUFnQVNBNVFRSjBhaUlOSUEwb0FnQWdCMEYvYzBFQmNTQWdkSE1nTG5JMkFnQWdCMEVCZGlFSEN5QUJRUVJxSVFFZ0JrRUVkQ0VHSUFsQkFXb2lDVUVJUncwQUN5QUlhU0VCQ3lBV1FRUnFJUllnRHlBUEtBS1FBU0FCYXpZQ2tBRWdEeUFQS1FPSUFTQUJyWWczQTRnQklCaEJDR29pR0NBVlNBMEFDd3NnS1NBb0lBTWJJUVVnRkNBbElBTWJJUllnQTBVaEdDQVZRUUJNRFFOQkFDRURJRUFOQVNBRklCWWdPMnBKSUJZZ0JTQTdhaUlIU1hFTkFVRUFJQVVpQVNBV0lnWWdQbXBCQ0dwSklBWkJCR29nQjBseERRSWFJQVlnUEdvaEJpQUJJRHhxSVFIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBaFhrRUFJUWNEUUNBRklBZEJBblFpQTJvaUNTQURJQlpxSWdQOUFBSUFJbDlCQlAydEFTQmZRUVQ5cXdFZ1hpQmYvUTBNRFE0UEVCRVNFeFFWRmhjWUdSb2JRUno5clFIOVVQMVFJRi85VUNKZS9Rc0NBQ0FKSUY0Z0EvMEFBZ1JCSFAyckFmMVFJbDVCQWYydEFmME1kM2QzZDNkM2QzZDNkM2QzZDNkM2QvMU9JRjVCQWYyckFmME03dTd1N3U3dTd1N3U3dTd1N3U3dTd2MU8vVkFnWHYxUUlGLzlULzBMQWdBZ1h5RmVJQWRCQkdvaUJ5QWNSdzBBQ3lBY0lEOUdEUU1nRWlFRElGNzlHd01NQWdzZ0EwVWhHQ0FwSUNnZ0F4c2hCUXdDQ3lBRklRRWdGaUVHUVFBTElRY0RRQ0FIUVJ4MklRa2dBU0FHS0FJQUlnZEJCSFlnQ1NBSFFRUjBjbklnQjNJaUNUWUNBQ0FCSUFrZ0JpZ0NCRUVjZEhJaUNVRUJka0gzN3QyN0IzRWdDVUVCZEVIdTNidjNmbkZ5SUFseUlBZEJmM054TmdJQUlBRkJCR29oQVNBR1FRUnFJUVlnQTBFSWFpSURJQlZJRFFBTEN5QVRRUVpKRFFCQkFDRUpRUUFoRVNBV0lRRWdLU0FvSUJnYkloc2hCeUFVSUNVZ0dCc2lGeUVHQWtBZ0ZVRUFUQ0lORFFBRFFDQUJRUVJxSVFNZ0J5Z0NBQ0VJSUFFb0FnQWhBU0FISURnRWZ5QUlCU0FCUVFSMElCRkJISFp5SUFGQkJIWnlJQU1vQWdCQkhIUnlJQUZ5UVFOMFFZaVJvc1I0Y1NBSWNnc2dCaWdDQUVGL2MzRTJBZ0FnQmtFRWFpRUdJQWRCQkdvaEJ5QUJJUkVnQXlFQklBbEJDR29pQ1NBVlNBMEFDeUFORFFBZ0RpQVRRUVpySUJWc1FRSjBhaUZCUVFBaEhpQVhJUkVEUUVFQUlRTWdHeWdDQUNJQkJFQWdGU0FlYXlGQ1FRQWhCMEVBSVFvRFFDQUhJVTBnRDBHZ0FXb1FHeUVIQWtBZ0NpQUtRUVJxSWdZZ1FpQUdJQjVxSUJWSUd5SXpUaUpEQkVCQkFDRUdEQUVMSUJFb0FnQkJmM01oS2lCQklBb2dIbkpCQW5ScUlSaEJBQ0VHUVE4Z0NpSUpRUUowSWtSMElnMGhDQU5BQWtBZ0FTQUljVVVOQUNBSVFaR2l4SWdCY1NJbklBRnhCRUFnQjBFQmNRUkFJQU1nSjNJaEEwRXlJQWxCQW5SMElDcHhJQUZ5SVFFTElBZEJBWFloQnlBR1FRRnFJUVlMSUFFZ0owRUJkQ0kwY1FSQUlBZEJBWEVFUUNBRElEUnlJUU1nQVVIMEFDQUpRUUowZENBcWNYSWhBUXNnQjBFQmRpRUhJQVpCQVdvaEJnc2dBU0FuUVFKMElqUnhCRUFnQjBFQmNRUkFJQU1nTkhJaEF5QUJRZWdCSUFsQkFuUjBJQ3B4Y2lFQkN5QUhRUUYySVFjZ0JrRUJhaUVHQ3lBQklDZEJBM1FpSjNGRkRRQWdCMEVCY1FSQUlBTWdKM0loQXlBQlFjQUJJQWxCQW5SMElDcHhjaUVCQ3lBR1FRRnFJUVlnQjBFQmRpRUhDeUFJUVFSMElRZ2dDVUVCYWlJSklETklEUUFMSUFNZ1JIWkIvLzhEY1VVTkFDQkREUUFEUUFKQUlBTWdEWEZGRFFBZ0RVR1Jvc1NJQVhFaUNTQURjUVJBSUJnZ0dDZ0NBQ0FIUVI5MGNpQXRjallDQUNBSFFRRjJJUWNnQmtFQmFpRUdDeUFKUVFGMElBTnhCRUFnR0NBVlFRSjBhaUlJSUFnb0FnQWdCMEVmZEhJZ0xYSTJBZ0FnQjBFQmRpRUhJQVpCQVdvaEJnc2dDVUVDZENBRGNRUkFJQmdnT2tFQ2RHb2lDQ0FJS0FJQUlBZEJIM1J5SUMxeU5nSUFJQWRCQVhZaEJ5QUdRUUZxSVFZTElBbEJBM1FnQTNGRkRRQWdHQ0E1UVFKMGFpSUpJQWtvQWdBZ0IwRWZkSElnTFhJMkFnQWdCa0VCYWlFR0lBZEJBWFloQndzZ0RVRUVkQ0VOSUJoQkJHb2hHQ0FLUVFGcUlnb2dNMGdOQUFzTElBOGdEeWdDc0FFZ0JtczJBckFCSUE4Z0R5a0RxQUVnQnEySU53T29BVUVCSVFkQkJDRUtJRTFCQVhGRkRRQUxJQnNnR3lnQ0JDQURRUnQyUVE1eElBTkJIWFp5SUFOQkhIWnlJQkVvQWdSQmYzTnhjallDQkFzZ0VTZ0NBQ0FEY2lJRFFRTjJRWkdpeElnQmNTSUJRUVIySUFGQkJIUnlJQUZ5SVFZZ0hnUkFJQVZCQkdzaUJ5QUhLQUlBSUJaQkJHc29BZ0JCZjNNZ0FVRWNkSEZ5TmdJQUN5QUZJQVVvQWdBZ0JpQVdLQUlBUVg5emNYSTJBZ0FnQlNBRktBSUVJQllvQWdSQmYzTWdBMEVmZG5GeU5nSUVJQnRCQkdvaEd5QVJRUVJxSVJFZ0JVRUVhaUVGSUJaQkJHb2hGaUFlUVFocUloNGdGVWdOQUFzTElCZEJBQ0E5RUJVYUN5QVpJQjlJRFFBTEN3SkFJQXhCQWtrTkFBSkFJQjlCQTNGQkFXc2lGa0VDU1NBeGNRUkFJQlZCQUV3TkFVRUJJQ1pCQW10MElRSWdEaUFmUWZ6Ly93ZHhJQlZzUVFKMGFpRVJJQ1VnRkNBZlFRUnhHeUVGSUNaQkFXc2hDRUVBSVFvZ0ZVRU1iQ0VNSUJWQkEzUWhDd05BSUE5QmdBRnFFQzhoQjBFQUlRRWdCU2dDQUNJREJFQWdFU0FLUVFKMGFpRUJRUThoQmtFQUlRa0RRQUpBSUFNZ0JuRkZEUUFnQmtHUm9zU0lBWEVpRFNBRGNRUkFJQUVnQVNnQ0FDQUhRWDl6UVFGeElBaDBjeUFDY2pZQ0FDQUhRUUYySVFjTElBMUJBWFFnQTNFRVFDQUJJQlZCQW5ScUloMGdIU2dDQUNBSFFYOXpRUUZ4SUFoMGN5QUNjallDQUNBSFFRRjJJUWNMSUExQkFuUWdBM0VFUUNBQklBdHFJaDBnSFNnQ0FDQUhRWDl6UVFGeElBaDBjeUFDY2pZQ0FDQUhRUUYySVFjTElBMUJBM1FnQTNGRkRRQWdBU0FNYWlJTklBMG9BZ0FnQjBGL2MwRUJjU0FJZEhNZ0FuSTJBZ0FnQjBFQmRpRUhDeUFCUVFScUlRRWdCa0VFZENFR0lBbEJBV29pQ1VFSVJ3MEFDeUFEYVNFQkN5QUZRUVJxSVFVZ0R5QVBLQUtRQVNBQmF6WUNrQUVnRHlBUEtRT0lBU0FCcllnM0E0Z0JJQXBCQ0dvaUNpQVZTQTBBQ3dzZ0ZrRUJTdzBBSUJWQkFFd05BQ0FsSUJRZ0gwRUVjU0lCR3lFSklDZ2dLU0FCR3lFQ1FRQWhBd0ovQWtBZ0t5QWtRWDl6YWlJQlFUaEpEUUFnQWlBSklBRkJBWFpCL1AvLy93ZHhJZ1pCQkdvaUIycEpJQWtnQWlBSGFpSUhTWEVOQUNBQ0lBWWdDV3BCQ0dwSklBbEJCR29nQjBseERRQWdBVUVEZGtFQmFpSU5RZnovLy84RGNTSUlRUU4wSVFNZ0NTQUlRUUowSWdGcUlRWWdBU0FDYWlFQi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlWNUJBQ0VIQTBBZ0FpQUhRUUowSWhacUloRWdDU0FXYWlJVy9RQUNBQ0pmUVFUOXJRRWdYMEVFL2FzQklGNGdYLzBOREEwT0R4QVJFaE1VRlJZWEdCa2FHMEVjL2EwQi9WRDlVQ0JmL1ZBaVh2MExBZ0FnRVNCZUlCYjlBQUlFUVJ6OXF3SDlVQ0plUVFIOXJRSDlESGQzZDNkM2QzZDNkM2QzZDNkM2QzZjlUaUJlUVFIOXF3SDlETzd1N3U3dTd1N3U3dTd1N3U3dTd1NzlUdjFRSUY3OVVDQmYvVS85Q3dJQUlGOGhYaUFIUVFScUlnY2dDRWNOQUFzZ0NDQU5SZzBDSUY3OUd3TU1BUXNnQWlFQklBa2hCa0VBQ3lFSEEwQWdCMEVjZGlFSklBRWdCaWdDQUNJSFFRUjJJQWtnQjBFRWRISnlJQWR5SWdrMkFnQWdBU0FKSUFZb0FnUkJISFJ5SWdsQkFYWkI5KzdkdXdkeElBbEJBWFJCN3QyNzkzNXhjaUFKY2lBSFFYOXpjVFlDQUNBQlFRUnFJUUVnQmtFRWFpRUdJQU5CQ0dvaUF5QVZTQTBBQ3dzZ0h5QWZRUUZxUVFOeGEwRURhMEVBSUI5QkJrb2JJaEVnSDA0TkFFRURJQ1pCQW10MElSa2dLeUFrUVg5emFpSUJRUU4ySWdOQkFuUWlLMEVFYWlFZElBTkJBV29pQTBIOC8vLy9BM0VpRWtFQ2RDRWhJQkpCQTNRaEZpQVZRUXhzSVN3Z0ZVRURkQ0V0SUFGQkdFa2hKaUFESUJKR0lSc0RRQUpBQWtBQ1FBSkFBbjhDUUNBZklCRnJJZ0ZCQVdzaUEwRURUd1JBUVg4aEZ5QUJRUVZJRFFVZ0ZVRUFUQTBHSUNVZ0ZDQVJRUVJ4SWdFYklRSWdLQ0FwSUFFYklRa2dPQVJBUVFBaEJpQW1EUVFnQWlBSklCMXFTU0FDSUIxcUlBbExjUTBFSUFJZ0lXb2hBU0FKSUNGcUlRY0RRQ0FKSUFaQkFuUWlBMm9pQ0NBSS9RQUNBQ0FDSUFOcS9RQUNBUDFQL1FzQ0FDQUdRUVJxSWdZZ0VrY05BQXNnRmlFR0lCc05CZ3dGQ3lBVUlDVWdBUnNoRFVFQUlRTWdKZzBCSUFrZ0RTQWRha2tnRFNBSklCMXFJZ0ZKY1EwQklBa2dEU0FyYWtFSWFra2dEVUVFYWlBQlNYRU5BU0FKSUFJZ0hXcEpJQUVnQWt0eERRRWdBaUFoYWlFSUlBa2dJV29oQVNBTklDRnFJUWY5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFoWGtFQUlRWURRQ0FKSUFaQkFuUWlBMm9pQlNBRElBMXFJZ3o5QUFJQUlsOUJCUDJ0QVNCZlFRVDlxd0VnWGlCZi9RME1EUTRQRUJFU0V4UVZGaGNZR1JvYlFSejlyUUg5VVAxUUlBejlBQUlFUVJ6OXF3SDlVQ0JmL1ZCQkEvMnJBZjBNaUlpSWlJaUlpSWlJaUlpSWlJaUlpUDFPSUFYOUFBSUEvVkFnQWlBRGF2MEFBZ0Q5VC8wTEFnQWdYeUZlSUFaQkJHb2lCaUFTUncwQUN5QWJEUVVnRmlFRElGNzlHd01NQWdzZ0EwRUNkRUhjblFGcUtBSUFJUmNNQkFzZ0RTRUhJQWtoQVNBQ0lRaEJBQXNoQmdOQUlBWkJISFloQ1NBQklBRW9BZ0FnQnlnQ0FDSUdRUVIySUFrZ0JrRUVkSEp5SUFjb0FnUkJISFJ5SUFaeVFRTjBRWWlSb3NSNGNYSWdDQ2dDQUVGL2MzRTJBZ0FnQ0VFRWFpRUlJQUZCQkdvaEFTQUhRUVJxSVFjZ0EwRUlhaUlESUJWSURRQUxEQUlMSUFraEJ5QUNJUUVMQTBBZ0J5QUhLQUlBSUFFb0FnQkJmM054TmdJQUlBRkJCR29oQVNBSFFRUnFJUWNnQmtFSWFpSUdJQlZJRFFBTEN5QVZRUUJNRFFBZ0pTQVVJQkZCQkhFaUFSc2hDaUFvSUNrZ0FSc2hBaUFVSUNVZ0FSc2hFeUFwSUNnZ0FSc2hIaUFPSUJFZ0ZXeEJBblJxSVM1QkFDRUZBMEJCQUNFRElBSW9BZ0FnRjNFaUFRUkFJQlVnQldzaEtrRUFJUWRCQUNFTkEwQWdCeUZPSUE5Qm9BRnFFQnNoQndKQUlBMGdEVUVFYWlJR0lDb2dCU0FHYWlBVlNCc2lKRTRpSndSQVFRQWhCZ3dCQ3lBWElBb29BZ0JCZjNOeElSZ2dMaUFGSUExeVFRSjBhaUVMUVFBaEJrRVBJQTBpQ1VFQ2RDSWNkQ0lnSVFnRFFBSkFJQUVnQ0hGRkRRQWdDRUdSb3NTSUFYRWlJaUFCY1FSQUlBZEJBWEVFUUNBRElDSnlJUU5CTWlBSlFRSjBkQ0FZY1NBQmNpRUJDeUFIUVFGMklRY2dCa0VCYWlFR0N5QUJJQ0pCQVhRaU1YRUVRQ0FIUVFGeEJFQWdBeUF4Y2lFRElBRkI5QUFnQ1VFQ2RIUWdHSEZ5SVFFTElBZEJBWFloQnlBR1FRRnFJUVlMSUFFZ0lrRUNkQ0l4Y1FSQUlBZEJBWEVFUUNBRElERnlJUU1nQVVIb0FTQUpRUUowZENBWWNYSWhBUXNnQjBFQmRpRUhJQVpCQVdvaEJnc2dBU0FpUVFOMElpSnhSUTBBSUFkQkFYRUVRQ0FESUNKeUlRTWdBVUhBQVNBSlFRSjBkQ0FZY1hJaEFRc2dCa0VCYWlFR0lBZEJBWFloQndzZ0NFRUVkQ0VJSUFsQkFXb2lDU0FrU0EwQUN5QURJQngyUWYvL0EzRkZEUUFnSncwQUEwQUNRQ0FESUNCeFJRMEFJQ0JCa2FMRWlBRnhJZ2tnQTNFRVFDQUxJQXNvQWdBZ0IwRWZkSElnR1hJMkFnQWdCMEVCZGlFSElBWkJBV29oQmdzZ0NVRUJkQ0FEY1FSQUlBc2dGVUVDZEdvaUNDQUlLQUlBSUFkQkgzUnlJQmx5TmdJQUlBZEJBWFloQnlBR1FRRnFJUVlMSUFsQkFuUWdBM0VFUUNBTElDMXFJZ2dnQ0NnQ0FDQUhRUjkwY2lBWmNqWUNBQ0FIUVFGMklRY2dCa0VCYWlFR0N5QUpRUU4wSUFOeFJRMEFJQXNnTEdvaUNTQUpLQUlBSUFkQkgzUnlJQmx5TmdJQUlBWkJBV29oQmlBSFFRRjJJUWNMSUNCQkJIUWhJQ0FMUVFScUlRc2dEVUVCYWlJTklDUklEUUFMQ3lBUElBOG9BckFCSUFack5nS3dBU0FQSUE4cEE2Z0JJQWF0aURjRHFBRkJBU0VIUVFRaERTQk9RUUZ4UlEwQUN5QUNJQUlvQWdRZ0EwRWJka0VPY1NBRFFSMTJjaUFEUVJ4MmNpQUtLQUlFUVg5emNYSTJBZ1FMSUFvb0FnQWdBM0lpQTBFRGRrR1Jvc1NJQVhFaUFVRUVkaUFCUVFSMGNpQUJjaUVHSUFVRVFDQWVRUVJySWdjZ0J5Z0NBQ0FUUVFScktBSUFRWDl6SUFGQkhIUnhjallDQUFzZ0hpQWVLQUlBSUFZZ0V5Z0NBRUYvYzNGeU5nSUFJQjRnSGlnQ0JDQVRLQUlFUVg5eklBTkJIM1p4Y2pZQ0JDQUNRUVJxSVFJZ0NrRUVhaUVLSUI1QkJHb2hIaUFUUVFScUlSTWdCVUVJYWlJRklCVklEUUFMQ3lBUlFRUnFJaEVnSDBnTkFBc0xRUUVoQnlBZlFRQk1EUU1nRlVFQVRBMERJQlZCL1AvLy93ZHhJZ1pCQW5RaEFpQVZRUVJKSVFoQkFDRUpBMEFnRGlBSklCVnNRUUowYWlFREFrQUNRQ0FJQkVBZ0F5RUhRUUFoQVF3QkN5QUNJQU5xSVFkQkFDRUJBMEFnQXlBQlFRSjBhaUlOSUEzOUFBSUFJbDc5RFAvLy8zLy8vLzkvLy8vL2YvLy8vMy85VGlKZi9hRUJJRjhnWHYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WTDlDd0lBSUFGQkJHb2lBU0FHUncwQUN5QUdJZ0VnRlVZTkFRc0RRQ0FIUVFBZ0J5Z0NBQ0lEUWYvLy8vOEhjU0lOYXlBTklBTkJBRWdiTmdJQUlBZEJCR29oQnlBQlFRRnFJZ0VnRlVjTkFBc0xRUUVoQnlBSlFRRnFJZ2tnSDBjTkFBc01Bd3NnSVVVTkFDQVBJQm9vQWhnMkFqUWdEeUFXTmdJd0lCMUJBVUhjeHdBZ0QwRXdhaEFQREFFTElBOGdBVFlDRkNBUElCWTJBaEFnSFVFQlFkekhBQ0FQUVJCcUVBOUJBQ0VIREFFTFFRQWhCd3NnRDBHd0Ftb2tBQ0FIRFFFTUF3c2dCQ0FCUVFsMFFkQ3BBV28yQW13Q2Z5QUVLQUowSVFFQ1FBSkFJQm9vQWhBZ0dpZ0NDR3NpQlNBYUtBSVVJQm9vQWd4cklnbHNJZ01nQkNnQ2hBRkxCRUFnQVJBUUlBUWdBMEVDZEJBWUlnRTJBblJCQUNBQlJRMERHaUFFSUFNMkFvUUJEQUVMSUFGRkRRRUxJQUZCQUNBRFFRSjBFQlVhQ3lBRUtBSjRJUUVDUUNBRlFRSnFJZ1lnQ1VFRGFrRUNkaUlNUVFKcWJDSURJQVFvQW9nQlRRUkFJQU5CQW5RaENBd0JDeUFCRUJBZ0JDQURRUUowSWdnUUdDSUJOZ0o0SUFFTkFFRUFEQUVMSUFRZ0F6WUNpQUVnQVVFQUlBZ1FGUm9DUUNBR1JRMEFJQVFvQW5naUJ5RUJBa0FnQmtFRVR3UkFJQWNnQmtGOGNTSU5RUUowYWlFQlFRQWhDQU5BSUFjZ0NFRUNkR3I5REFBQUlFa0FBQ0JKQUFBZ1NRQUFJRW45Q3dJQUlBaEJCR29pQ0NBTlJ3MEFDeUFHSUExR0RRRUxBMEFnQVVHQWdJREpCRFlDQUNBQlFRUnFJUUVnRFVFQmFpSU5JQVpIRFFBTEN5QUhJQXhCQVdvZ0JteEJBblJxSVFOQkFDRU5Ba0FDUUNBR1FRUkpCRUFnQXlFQkRBRUxJQU1nQmtGOGNTSU5RUUowYWlFQlFRQWhDQU5BSUFNZ0NFRUNkR3I5REFBQUlFa0FBQ0JKQUFBZ1NRQUFJRW45Q3dJQUlBaEJCR29pQ0NBTlJ3MEFDeUFHSUExR0RRRUxBMEFnQVVHQWdJREpCRFlDQUNBQlFRUnFJUUVnRFVFQmFpSU5JQVpIRFFBTEN5QUpRUU54SWdGRkRRQWdCa1VOQUVHQWdJRElCRUdBZ0lEQUJFR0FnSUNBQkNBQlFRSkdHeUFCUVFGR0d5RUxJQWNnQmlBTWJFRUNkR29oQTBFQUlRMENRQ0FHUVFSSkJFQWdBeUVCREFFTElBTWdCa0Y4Y1NJTlFRSjBhaUVCSUF2OUVTRmZRUUFoQ0FOQUlBTWdDRUVDZEdvZ1gvMExBZ0FnQ0VFRWFpSUlJQTFIRFFBTElBWWdEVVlOQVFzRFFDQUJJQXMyQWdBZ0FVRUVhaUVCSUExQkFXb2lEU0FHUncwQUN3c2dCQ0FKTmdLQUFTQUVJQVUyQW54QkFRdEZEUUlnR2lnQ0hDQVJhaUlaUVI5T0JFQWdJVVVOQWlBaklCazJBaEFnSFVFQ1FkWEJBQ0FqUVJCcUVBOE1Bd3NnQkJCYVFRQWhBU0FFUWJDcEFUWUNaQ0FFUWRDZUFUWUNZQ0FFUWZDZUFUWUNIQUpBQWtBQ1FBSkFJQm9vQWpRaUIwRUJTdzBBSUFRb0FwQUJSUTBDSUFjTkFBd0JDeUFhS0FJRUlRTWdCMEVFVHdSQUlBZEJmSEVoQWtFQUlRWURRQ0FESUFaQkEzUnFJZ0ZCSEdvZ0FVRVVhaUFCUVF4cUlBSDlDUUlFL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJRjc5cmdFaFhpQUdRUVJxSWdZZ0FrY05BQXNnWGlCZUlGNzlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDlyZ0VpWGlCZUlGNzlEUVFGQmdjQUFRSURBQUVDQXdBQkFnUDlyZ0g5R3dBaEFTQUNJQWRHRFFFTEEwQWdBeUFDUVFOMGFpZ0NCQ0FCYWlFQklBSkJBV29pQWlBSFJ3MEFDd3NnQVVFQ2FpSURJQVFvQXBnQlN3UkFJQVFvQXBRQklBTVFGeUlHUlEwRklBUWdCallDbEFFZ0FTQUdha0VBT3dBQUlBUWdBellDbUFFZ0dpZ0NOQ0VIQ3lBRUtBS1VBU0VlSUFkRkRRRWdHaWdDQkNFR1FRQWhBa0VBSVFFRFFDQUNJQjVxSUFZZ0FVRURkQ0lEYWlJR0tBSUFJQVlvQWdRUUVob2dHaWdDQkNJR0lBTnFLQUlFSUFKcUlRSWdBVUVCYWlJQklCb29BalJKRFFBTERBRUxJQWRCQVVjTkFTQWFLQUlFS0FJQUlSNExJQm9vQWp3aUFRUkFJQVFvQW5RaExDQUVJQUUyQW5RTElCb29BaXdFUUNBV1FRaHhJU1VnQkVFY2FpRVBJQlpCQVhFaExTQVdRUUp4UlNFdVFRSWhId05BSUI0Z0tHb2hBU0FhS0FJQUlDbEJHR3hxSWlBb0FnQWhBd0pBSUMwZ0gwRUNTU0FaSUJvb0FoeEJCR3RNY1hFaUlnUkFJQVFnQVRZQ0ZDQUVJQUVnQTJvaUF6WUNHQ0FFSUFNdkFBQTdBWEFnQTBIL0FUb0FBQ0FFS0FJWVFmOEJPZ0FCSUFSQkFEWUNDQ0FFUVFBMkFnQWdCQ0FCTmdJUURBRUxJQVFnQVRZQ0ZDQUVJQUVnQTJvaUJqWUNHQ0FFSUFZdkFBQTdBWEFnQmtIL0FUb0FBQ0FFS0FJWVFmOEJPZ0FCSUFRZ0JFRWNhallDYUNBRUlBRTJBaEFnQkVFQU5nSU1JQVFnQXdSL0lBRXRBQUJCRUhRRlFZQ0EvQWNMSWdNMkFnQkJBU0VHSUFGQkFXb2hDU0FCTFFBQklRY0NmeUFCTFFBQVFmOEJSZ1JBSUFkQmtBRlBCRUFnQkVFQk5nSU1JQU5CZ1A0RGNnd0NDeUFFSUFrMkFoQkJBQ0VHSUFkQkNYUWdBMm9NQVFzZ0JDQUpOZ0lRSUFkQkNIUWdBM0lMSVFFZ0JDQUdOZ0lJSUFSQmdJQUNOZ0lFSUFRZ0FVRUhkRFlDQUFzZ0lDZ0NBQ0VxQWtBZ0dVRUFUQTBBSUNBb0FnaEZEUUFnSWlBdWNpRW5RUUFoSmdOQUFrQUNRQUpBQWtBQ1FDQWZRUUZyRGdJQkFnQUxJQ0lFUUVFQklCbDBJZ0ZCQVhZZ0FYSWhFU0FFS0FKOElnVkJBblFpRFNBRUtBSjRha0VNYWlFQklBUW9BblFoQmtFQUlRZ2dCQ2dDZ0FFaUEwRUVUd1JBSUFWRkRRVWdCVUVEYkNFQ0lBVkJBWFFoREVFQUlCRnJJUWtEUUNBTVFRSjBJUXRCQUNFREEwQUNRQ0FCSWdjb0FnQWlBVVVOQUFKQUlBRkJrSUNBQVhFTkFDQUJRZThEY1VVTkFDQUVLQUlBSVFFQ1FDQUVLQUlJSWhBTkFDQUJRZjhCUmlFS0lBUW9BaEFpRUMwQUFDRUJBa0FnQ2tVRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJUU5nSUlBa0FnQVNBUWRrRUJjVVVOQUFKQUlCQU5BQ0FCUWY4QlJpRUtJQVFvQWhBaUVDMEFBQ0VCQWtBZ0NrVUVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnRUVFQmFqWUNFRUVISVJBTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlSQUxJQVFnRUVFQmF5SVFOZ0lJSUFZZ0NTQVJJQUVnRUhaQkFYRWlFQnMyQWdBZ0JDZ0NmQ0VCSUFkQkJHc2lDaUFLS0FJQVFTQnlOZ0lBSUFjZ0J5Z0NCRUVJY2pZQ0JDQUhJQWNvQWdBZ0VFRVRkSEpCRUhJMkFnQWdKUTBBSUFkQmZpQUJhMEVDZEdvaUFTQUJLQUlFUVlDQUFuSTJBZ1FnQVNBQktBSUFJQkJCSDNSeVFZQ0FCSEkyQWdBZ0FVRUVheUlCSUFFb0FnQkJnSUFJY2pZQ0FBc2dCeUFIS0FJQVFZQ0FnQUZ5SWdFMkFnQUxBa0FnQVVHQWdZQUljUTBBSUFGQitCNXhSUTBBSUFRb0FnQWhBUUpBSUFRb0FnZ2lFQTBBSUFGQi93RkdJUW9nQkNnQ0VDSVFMUUFBSVFFQ1FDQUtSUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJaEEyQWdnZ0J3Si9JQUVnRUhaQkFYRkZCRUFnQnlnQ0FBd0JDd0pBSUJBTkFDQUJRZjhCUmlFS0lBUW9BaEFpRUMwQUFDRUJBa0FnQ2tVRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJUU5nSUlJQVlnRFdvZ0NTQVJJQUVnRUhaQkFYRWlBUnMyQWdBZ0IwRUVheUlRSUJBb0FnQkJnQUp5TmdJQUlBY2dCeWdDQkVIQUFISTJBZ1FnQnlnQ0FDQUJRUlowY2tHQUFYSUxRWUNBZ0FoeUlnRTJBZ0FMQWtBZ0FVR0FpSURBQUhFTkFDQUJRY0QzQVhGRkRRQWdCQ2dDQUNFQkFrQWdCQ2dDQ0NJUURRQWdBVUgvQVVZaENpQUVLQUlRSWhBdEFBQWhBUUpBSUFwRkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VBd0JDeUFCUVk4QlRRUkFJQVFnQVRZQ0FDQUVJQkJCQVdvMkFoQkJCeUVRREFJTFFmOEJJUUVnQkVIL0FUWUNBQXRCQ0NFUUN5QUVJQkJCQVdzaUVEWUNDQ0FIQW44Z0FTQVFka0VCY1VVRVFDQUhLQUlBREFFTEFrQWdFQTBBSUFGQi93RkdJUW9nQkNnQ0VDSVFMUUFBSVFFQ1FDQUtSUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJaEEyQWdnZ0JpQUxhaUFKSUJFZ0FTQVFka0VCY1NJQkd6WUNBQ0FIUVFSckloQWdFQ2dDQUVHQUVISTJBZ0FnQnlBSEtBSUVRWUFFY2pZQ0JDQUhLQUlBSUFGQkdYUnlRWUFJY2d0QmdJQ0F3QUJ5SWdFMkFnQUxJQUZCZ01DQWdBUnhEUUFnQVVHQXZBOXhSUTBBSUFRb0FnQWhBUUpBSUFRb0FnZ2lFQTBBSUFGQi93RkdJUW9nQkNnQ0VDSVFMUUFBSVFFQ1FDQUtSUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJaEEyQWdnZ0FTQVFka0VCY1FSQUlBWWdBa0VDZEdvaFR3SkFJQkFOQUNBQlFmOEJSaUVVSUFRb0FoQWlFQzBBQUNFQkFrQWdGRVVFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0VFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlRTmdJSUlFOGdDU0FSSUFFZ0VIWkJBWEVpRUJzMkFnQWdCQ2dDZkNFQklBZEJCR3NpQ2lBS0tBSUFRWUNBQVhJMkFnQWdCeUFIS0FJRVFZQWdjallDQkNBSElBY29BZ0FnRUVFY2RISkJnTUFBY2pZQ0FDQUhJQUZCQW5ScUlnRWdBU2dDQkVFRWNqWUNCQ0FCSUFFb0FneEJBWEkyQWd3Z0FTQUJLQUlJSUJCQkVuUnlRUUp5TmdJSUN5QUhJQWNvQWdCQmdJQ0FnQVJ5TmdJQUN5QUdRUVJxSVFZZ0IwRUVhaUVCSUFOQkFXb2lBeUFGUncwQUN5QUhRUXhxSVFFZ0JpQUNRUUowYWlFR0lBaEJCR29pQ0NBRUtBS0FBU0lEUVh4eFNRMEFDd3NnQXlBSVRRMERJQVZGRFFOQkFDRVRRUUFnRVdzaEN5QURJUkFEUUFKQUlBZ2dFRVlFUUNBSUlSQU1BUXNnQVVFRWF5RU1JQUVvQWdBaERVRUFJUUlEUUFKQUlBMGdBa0VEYkNJSGRpSUpRWkNBZ0FGeERRQWdDVUh2QTNGRkRRQWdCQ2dDQUNFREFrQWdCQ2dDQ0NJSkRRQWdBMEgvQVVjaEVDQUVLQUlRSWdrdEFBQWhBd0pBSUJCRkJFQWdBMEdRQVU4RVFFSC9BU0VESUFSQi93RTJBZ0FNQWdzZ0JDQUROZ0lBSUFRZ0NVRUJhallDRUVFSElRa01BZ3NnQkNBRE5nSUFJQVFnQ1VFQmFqWUNFQXRCQ0NFSkN5QUVJQWxCQVdzaUNUWUNDQUpBSUFNZ0NYWkJBWEZGRFFBZ0JpQUNJQVZzUVFKMGFpRlFBa0FnQ1EwQUlBTkIvd0ZISVEwZ0JDZ0NFQ0lKTFFBQUlRTUNRQ0FOUlFSQUlBTkJrQUZQQkVCQi93RWhBeUFFUWY4Qk5nSUFEQUlMSUFRZ0F6WUNBQ0FFSUFsQkFXbzJBaEJCQnlFSkRBSUxJQVFnQXpZQ0FDQUVJQWxCQVdvMkFoQUxRUWdoQ1FzZ0JDQUpRUUZySWdrMkFnZ2dVQ0FMSUJFZ0F5QUpka0VCY1NJSkd6WUNBQ0FFS0FKOElSQWdEQ0FNS0FJQVFTQWdCM1J5TmdJQUlBRWdBU2dDQUNBSlFSTjBRUkJ5SUFkMGNqWUNBQ0FCSUFFb0FnUkJDQ0FIZEhJMkFnUWdBaUFsY2tVRVFDQUJRWDRnRUd0QkFuUnFJZ01nQXlnQ0JFR0FnQUp5TmdJRUlBTWdBeWdDQUNBSlFSOTBja0dBZ0FSeU5nSUFJQU5CQkdzaUF5QURLQUlBUVlDQUNISTJBZ0FMSUFKQkEwY05BQ0FCSUJCQkFuUnFJZ01nQXlnQ0JFRUVjallDQkNBRElBTW9BZ3hCQVhJMkFnd2dBeUFES0FJSUlBbEJFblJ5UVFKeU5nSUlDeUFCSUFFb0FnQkJnSUNBQVNBSGRISWlEVFlDQUNBRUtBS0FBU0VEQ3lBRElSQWdBa0VCYWlJQ0lBTWdDR3RKRFFBTEN5QUdRUVJxSVFZZ0FVRUVhaUVCSUJOQkFXb2lFeUFGUncwQUN3d0RDMEVBSVFkQkFDRU5RUUFoRndKQUFrQUNRQUpBSUFRb0Fud2lFRUhBQUVjTkFDQUVLQUtBQVVIQUFFY05BRUVBUVFFZ0dYUWlBVUVCZGlBQmNpSVJheUVGSUFSQkhHb2hFQ0FFS0FKNFFZd0NhaUVHSUFRb0FnZ2hDQ0FFS0FJRUlRTWdCQ2dDQUNFQ0lBUW9BbWdoRENBRUtBSjBJUUVnRmtFSWNRMEJBMEJCQUNFWEEwQWdBU0VKSUFZaUJ5Z0NBQ0lHQkVBQ1FDQUdRWkNBZ0FGeERRQWdCa0h2QTNFaUFVVU5BQ0FESUJBZ0JDZ0NiQ0FCYWkwQUFFRUNkR29pRENnQ0FDSUxLQUlBSWdGcklRTUNmeUFCSUFKQkVIWkxCRUFnQ3lnQ0JDRUtJQXdnQzBFSVFRd2dBU0FEU3lJVUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFNZ0NDMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQURRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElBb2dDa1VnRkJzTUFRc2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVUVRQ0FMS0FJRUlRb2dEQ0FMUVF4QkNDQUJJQU5MSWhRYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQVNBSUxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFLUlNBS0lCUWJEQUVMSUFzb0FnUUxCSDhnQXlBUUlBY29BZ1JCRVhaQkJIRWdCMEVFYXlJS0tBSUFRUk4yUVFGeElBWkJEblpCRUhFZ0JrRVFka0hBQUhFZ0JrR3FBWEZ5Y25KeUloUkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUxLQUlBSWdGcklRTWdGRUhRdXdGcUxRQUFJUk1nQ1NBRklCRUNmeUFCSUFKQkVIWkxCRUFnQ3lnQ0JDRVVJQXdnQzBFSVFRd2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFNZ0NDMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQURRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElCUWdGRVVnRGhzTUFRc2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVUVRQ0FMS0FJRUlSUWdEQ0FMUVF4QkNDQUJJQU5MSWc0YmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQVNBSUxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFVUlNBVUlBNGJEQUVMSUFzb0FnUUxJQk56SWdFYk5nSUFJQW9nQ2lnQ0FFRWdjallDQUNBSElBY29BZ1JCQ0hJMkFnUWdCMEdNQW1zaUN5QUxLQUlBUVlDQUNISTJBZ0FnQjBHRUFtc2lDeUFMS0FJQVFZQ0FBbkkyQWdBZ0IwR0lBbXNpQ3lBTEtBSUFJQUZCSDNSeVFZQ0FCSEkyQWdBZ0JpQUJRUk4wY2tFUWNnVWdCZ3RCZ0lDQUFYSWhCZ3NDUUNBR1FZQ0JnQWh4RFFBZ0JrSDRIbkZGRFFBZ0F5QVFJQVFvQW13Z0JrRURkaUlVUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoQ2lBTUlBdEJDRUVNSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFLSUFwRklCTWJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VLSUF3Z0MwRU1RUWdnQVNBRFN5SVRHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0NrVWdDaUFUR3d3QkN5QUxLQUlFQ3dSL0lBTWdFQ0FIS0FJRVFSUjJRUVJ4SUFkQkJHc2lDaWdDQUVFV2RrRUJjU0FHUVE5MlFSQnhJQVpCRTNaQndBQnhJQlJCcWdGeGNuSnljaUlVUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVESUJSQjBMc0JhaTBBQUNFVElBa2dCU0FSQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoRkNBTUlBdEJDRUVNSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFVSUJSRklBNGJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VVSUF3Z0MwRU1RUWdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0ZFVWdGQ0FPR3d3QkN5QUxLQUlFQ3lBVGN5SUJHellDZ0FJZ0NpQUtLQUlBUVlBQ2NqWUNBQ0FISUFjb0FnUkJ3QUJ5TmdJRUlBWWdBVUVXZEhKQmdBRnlCU0FHQzBHQWdJQUljaUVHQ3dKQUlBWkJnSWlBd0FCeERRQWdCa0hBOXdGeFJRMEFJQU1nRUNBRUtBSnNJQVpCQm5ZaUZFSHZBM0ZxTFFBQVFRSjBhaUlNS0FJQUlnc29BZ0FpQVdzaEF3Si9JQUVnQWtFUWRrc0VRQ0FMS0FJRUlRb2dEQ0FMUVFoQkRDQUJJQU5MSWhNYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQXlBSUxRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0NpQUtSU0FUR3d3QkN5QUNJQUZCRUhScklRSWdBMEdBZ0FKeFJRUkFJQXNvQWdRaENpQU1JQXRCREVFSUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VCSUFndEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQXBGSUFvZ0V4c01BUXNnQ3lnQ0JBc0VmeUFESUJBZ0J5Z0NCRUVYZGtFRWNTQUhRUVJySWdvb0FnQkJHWFpCQVhFZ0JrRVNka0VRY1NBR1FSWjJRY0FBY1NBVVFhb0JjWEp5Y25JaUZFSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnc29BZ0FpQVdzaEF5QVVRZEM3QVdvdEFBQWhFeUFKSUFVZ0VRSi9JQUVnQWtFUWRrc0VRQ0FMS0FJRUlSUWdEQ0FMUVFoQkRDQUJJQU5MSWc0YmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQXlBSUxRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0ZDQVVSU0FPR3d3QkN5QUNJQUZCRUhScklRSWdBMEdBZ0FKeFJRUkFJQXNvQWdRaEZDQU1JQXRCREVFSUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VCSUFndEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQlJGSUJRZ0Roc01BUXNnQ3lnQ0JBc2dFM01pQVJzMkFvQUVJQW9nQ2lnQ0FFR0FFSEkyQWdBZ0J5QUhLQUlFUVlBRWNqWUNCQ0FHSUFGQkdYUnlRWUFJY2dVZ0JndEJnSUNBd0FCeUlRWUxBa0FnQmtHQXdJQ0FCSEVOQUNBR1FZQzhEM0ZGRFFBZ0F5QVFJQVFvQW13Z0JrRUpkaUlVUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoQ2lBTUlBdEJDRUVNSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFLSUFwRklCTWJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VLSUF3Z0MwRU1RUWdnQVNBRFN5SVRHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0NrVWdDaUFUR3d3QkN5QUxLQUlFQ3dSL0lBTWdFQ0FIS0FJRVFScDJRUVJ4SUFkQkJHc2lDaWdDQUVFY2RrRUJjU0FHUVJWMlFSQnhJQVpCR1haQndBQnhJQlJCcWdGeGNuSnljaUlVUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVESUJSQjBMc0JhaTBBQUNFVElBa2dCU0FSQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoRkNBTUlBdEJDRUVNSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFVSUJSRklBNGJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VVSUF3Z0MwRU1RUWdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0ZFVWdGQ0FPR3d3QkN5QUxLQUlFQ3lBVGN5SUJHellDZ0FZZ0NpQUtLQUlBUVlDQUFYSTJBZ0FnQnlBSEtBSUVRWUFnY2pZQ0JDQUhJQWNvQW9RQ1FRUnlOZ0tFQWlBSElBY29Bb3dDUVFGeU5nS01BaUFISUFjb0FvZ0NJQUZCRW5SeVFRSnlOZ0tJQWlBR0lBRkJISFJ5UVlEQUFISUZJQVlMUVlDQWdJQUVjaUVHQ3lBSElBWTJBZ0FMSUFkQkJHb2hCaUFKUVFScUlRRWdGMEVCYWlJWFFjQUFSdzBBQ3lBSFFReHFJUVlnQ1VHRUJtb2hBU0FOUVR4SklWRWdEVUVFYWlFTklGRU5BQXNNQWd0QkFTQVpkQ0lCUVFGMklBRnlJUTBnQkNnQ2VDSUpJQkJCQW5ScVFReHFJUVlnQkNnQ2dBRWhBU0FFS0FJSUlRZ2dCQ2dDQkNFRElBUW9BZ0FoQWlBRUtBSm9JUXdnQkNnQ2RDRVJBa0FnRmtFSWNRUkFBa0FnQVVFRVNRMEFJQkFFUUVFQUlBMXJJUlFnQkVFY2FpRUZJQkJCREd3aEV5QVFRUU4wSVJVRFFFRUFJUXNEUUNBR0lna29BZ0FpQmdSQUFrQWdCa0dRZ0lBQmNRMEFJQVpCN3dOeElnRkZEUUFnQXlBRklBUW9BbXdnQVdvdEFBQkJBblJxSWd3b0FnQWlDaWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJUUVJBSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkVFUUNBS0tBSUVEQUlMSUFvb0FnUWhEaUFNSUFwQkRFRUlJQUVnQTBzaUVodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFQklBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBbzJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUE1RklBNGdFaHNNQVFzZ0NpZ0NCQ0VPSUF3Z0NrRUlRUXdnQVNBRFN5SVNHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRTWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdDallDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQTRnRGtVZ0Voc0xCSDhnQXlBRklBa29BZ1JCRVhaQkJIRWdDVUVFYXlJT0tBSUFRUk4yUVFGeElBWkJEblpCRUhFZ0JrRVFka0hBQUhFZ0JrR3FBWEZ5Y25KeUloSkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTWdFa0hRdXdGcUxRQUFJUmdnRVNBVUlBMENmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRVNJQXdnQ2tFTVFRZ2dBU0FEU3lJYkcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRWtVZ0VpQWJHd3dCQ3lBS0tBSUVJUklnRENBS1FRaEJEQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdFaUFTUlNBYkd3c2dHSE1pQVJzMkFnQWdEaUFPS0FJQVFTQnlOZ0lBSUFrZ0NTZ0NCRUVJY2pZQ0JDQUdJQUZCRTNSeVFSQnlCU0FHQzBHQWdJQUJjaUVHQ3dKQUlBWkJnSUdBQ0hFTkFDQUdRZmdlY1VVTkFDQURJQVVnQkNnQ2JDQUdRUU4ySWhKQjd3TnhhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBWUd3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhnYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FZR3dzRWZ5QURJQVVnQ1NnQ0JFRVVka0VFY1NBSlFRUnJJZzRvQWdCQkZuWkJBWEVnQmtFUGRrRVFjU0FHUVJOMlFjQUFjU0FTUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQkJCQW5ScUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJQkd6WUNBQ0FPSUE0b0FnQkJnQUp5TmdJQUlBa2dDU2dDQkVIQUFISTJBZ1FnQmlBQlFSWjBja0dBQVhJRklBWUxRWUNBZ0FoeUlRWUxBa0FnQmtHQWlJREFBSEVOQUNBR1FjRDNBWEZGRFFBZ0F5QUZJQVFvQW13Z0JrRUdkaUlTUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ2lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQURRWUNBQW5FRVFDQUtLQUlFREFJTElBb29BZ1FoRGlBTUlBcEJERUVJSUFFZ0Ewc2lHQnRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRUJJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQW8yQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBNUZJQTRnR0JzTUFRc2dDaWdDQkNFT0lBd2dDa0VJUVF3Z0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUU1nQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQ2pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUE0Z0RrVWdHQnNMQkg4Z0F5QUZJQWtvQWdSQkYzWkJCSEVnQ1VFRWF5SU9LQUlBUVJsMlFRRnhJQVpCRW5aQkVIRWdCa0VXZGtIQUFIRWdFa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1nRWtIUXV3RnFMUUFBSVJnZ0VTQVZhaUFVSUEwQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFU0lBd2dDa0VNUVFnZ0FTQURTeUliRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dFa1VnRWlBYkd3d0JDeUFLS0FJRUlSSWdEQ0FLUVFoQkRDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0VpQVNSU0FiR3dzZ0dITWlBUnMyQWdBZ0RpQU9LQUlBUVlBUWNqWUNBQ0FKSUFrb0FnUkJnQVJ5TmdJRUlBWWdBVUVaZEhKQmdBaHlCU0FHQzBHQWdJREFBSEloQmdzQ1FDQUdRWURBZ0lBRWNRMEFJQVpCZ0x3UGNVVU5BQ0FESUFVZ0JDZ0NiQ0FHUVFsMkloSkI3d054YWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVlHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloZ2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBWUd3c0VmeUFESUFVZ0NTZ0NCRUVhZGtFRWNTQUpRUVJySWc0b0FnQkJISFpCQVhFZ0JrRVZka0VRY1NBR1FSbDJRY0FBY1NBU1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJOcUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJS0d6WUNBQ0FPSUE0b0FnQkJnSUFCY2pZQ0FDQUpJQWtvQWdSQmdDQnlOZ0lFSUFRb0FueEJBblFnQ1dvaUFTQUJLQUlFUVFSeU5nSUVJQUVnQVNnQ0RFRUJjallDRENBQklBRW9BZ2dnQ2tFU2RISkJBbkkyQWdnZ0JpQUtRUngwY2tHQXdBQnlCU0FHQzBHQWdJQ0FCSEloQmdzZ0NTQUdOZ0lBQ3lBSlFRUnFJUVlnRVVFRWFpRVJJQXRCQVdvaUN5QVFSdzBBQ3lBSlFReHFJUVlnRVNBVGFpRVJJQWRCQkdvaUJ5QUVLQUtBQVNJQlFYeHhTUTBBQ3d3QkMwRUVJQUZCZkhFaUJpQUdRUVJORzBFQmF5SUdRWHh4UVFScUlRY2dDU0FHUVFGMFFYaHhha0VVYWlFR0N5QUVJQWcyQWdnZ0JDQUROZ0lFSUFRZ0FqWUNBQ0FFSUF3MkFtZ2dFRVVOQVNBQklBZE5EUUVEUUNBQklBZEdJVkpCQUNFSUlBY2hBU0JTUlFSQUEwQWdCQ0FHSUJFZ0NDQVFiRUVDZEdvZ0RTQUlJQVFvQW54QkFtcEJBUkJaSUFoQkFXb2lDQ0FFS0FLQUFTSUJJQWRyU1EwQUN3c2dCa0VFYWlFR0lCRkJCR29oRVNBWFFRRnFJaGNnRUVjTkFBc01BUXNDUUNBQlFRUkpEUUFnRUFSQVFRQWdEV3NoRkNBRVFSeHFJUVVnRUVFTWJDRVRJQkJCQTNRaEZRTkFRUUFoQ3dOQUlBWWlDU2dDQUNJR0JFQUNRQ0FHUVpDQWdBRnhEUUFnQmtIdkEzRWlBVVVOQUNBRElBVWdCQ2dDYkNBQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VPSUF3Z0NrRU1RUWdnQVNBRFN5SVNHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0RrVWdEaUFTR3d3QkN5QUtLQUlFSVE0Z0RDQUtRUWhCRENBQklBTkxJaEliYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRGlBT1JTQVNHd3NFZnlBRElBVWdDU2dDQkVFUmRrRUVjU0FKUVFScklnNG9BZ0JCRTNaQkFYRWdCa0VPZGtFUWNTQUdRUkIyUWNBQWNTQUdRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ29vQWdBaUFXc2hBeUFTUWRDN0FXb3RBQUFoR0NBUklCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJS0d6WUNBQ0FPSUE0b0FnQkJJSEkyQWdBZ0NTQUpLQUlFUVFoeU5nSUVJQWxCZmlBRUtBSjhhMEVDZEdvaUFTQUJLQUlFUVlDQUFuSTJBZ1FnQVNBQktBSUFJQXBCSDNSeVFZQ0FCSEkyQWdBZ0FVRUVheUlCSUFFb0FnQkJnSUFJY2pZQ0FDQUdJQXBCRTNSeVFSQnlCU0FHQzBHQWdJQUJjaUVHQ3dKQUlBWkJnSUdBQ0hFTkFDQUdRZmdlY1VVTkFDQURJQVVnQkNnQ2JDQUdRUU4ySWhKQjd3TnhhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBWUd3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhnYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FZR3dzRWZ5QURJQVVnQ1NnQ0JFRVVka0VFY1NBSlFRUnJJZzRvQWdCQkZuWkJBWEVnQmtFUGRrRVFjU0FHUVJOMlFjQUFjU0FTUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQkJCQW5ScUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJQkd6WUNBQ0FPSUE0b0FnQkJnQUp5TmdJQUlBa2dDU2dDQkVIQUFISTJBZ1FnQmlBQlFSWjBja0dBQVhJRklBWUxRWUNBZ0FoeUlRWUxBa0FnQmtHQWlJREFBSEVOQUNBR1FjRDNBWEZGRFFBZ0F5QUZJQVFvQW13Z0JrRUdkaUlTUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ2lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQURRWUNBQW5FRVFDQUtLQUlFREFJTElBb29BZ1FoRGlBTUlBcEJERUVJSUFFZ0Ewc2lHQnRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRUJJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQW8yQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBNUZJQTRnR0JzTUFRc2dDaWdDQkNFT0lBd2dDa0VJUVF3Z0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUU1nQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQ2pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUE0Z0RrVWdHQnNMQkg4Z0F5QUZJQWtvQWdSQkYzWkJCSEVnQ1VFRWF5SU9LQUlBUVJsMlFRRnhJQVpCRW5aQkVIRWdCa0VXZGtIQUFIRWdFa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1nRWtIUXV3RnFMUUFBSVJnZ0VTQVZhaUFVSUEwQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFU0lBd2dDa0VNUVFnZ0FTQURTeUliRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dFa1VnRWlBYkd3d0JDeUFLS0FJRUlSSWdEQ0FLUVFoQkRDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0VpQVNSU0FiR3dzZ0dITWlBUnMyQWdBZ0RpQU9LQUlBUVlBUWNqWUNBQ0FKSUFrb0FnUkJnQVJ5TmdJRUlBWWdBVUVaZEhKQmdBaHlCU0FHQzBHQWdJREFBSEloQmdzQ1FDQUdRWURBZ0lBRWNRMEFJQVpCZ0x3UGNVVU5BQ0FESUFVZ0JDZ0NiQ0FHUVFsMkloSkI3d054YWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVlHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloZ2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBWUd3c0VmeUFESUFVZ0NTZ0NCRUVhZGtFRWNTQUpRUVJySWc0b0FnQkJISFpCQVhFZ0JrRVZka0VRY1NBR1FSbDJRY0FBY1NBU1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJOcUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJS0d6WUNBQ0FPSUE0b0FnQkJnSUFCY2pZQ0FDQUpJQWtvQWdSQmdDQnlOZ0lFSUFRb0FueEJBblFnQ1dvaUFTQUJLQUlFUVFSeU5nSUVJQUVnQVNnQ0RFRUJjallDRENBQklBRW9BZ2dnQ2tFU2RISkJBbkkyQWdnZ0JpQUtRUngwY2tHQXdBQnlCU0FHQzBHQWdJQ0FCSEloQmdzZ0NTQUdOZ0lBQ3lBSlFRUnFJUVlnRVVFRWFpRVJJQXRCQVdvaUN5QVFSdzBBQ3lBSlFReHFJUVlnRVNBVGFpRVJJQWRCQkdvaUJ5QUVLQUtBQVNJQlFYeHhTUTBBQ3d3QkMwRUVJQUZCZkhFaUJpQUdRUVJORzBFQmF5SUdRWHh4UVFScUlRY2dDU0FHUVFGMFFYaHhha0VVYWlFR0N5QUVJQWcyQWdnZ0JDQUROZ0lFSUFRZ0FqWUNBQ0FFSUF3MkFtZ2dFRVVOQUNBQklBZE5EUUFEUUNBQklBZEdJVk5CQUNFSUlBY2hBU0JUUlFSQUEwQWdCQ0FHSUJFZ0NDQVFiRUVDZEdvZ0RTQUlJQVFvQW54QkFtcEJBQkJaSUFoQkFXb2lDQ0FFS0FLQUFTSUJJQWRyU1EwQUN3c2dCa0VFYWlFR0lCRkJCR29oRVNBWFFRRnFJaGNnRUVjTkFBc0xEQUlMQTBCQkFDRVhBMEFnQVNFSklBWWlCeWdDQUNJR0JFQUNRQ0FHUVpDQWdBRnhEUUFnQmtIdkEzRWlBVVVOQUNBRElCQWdCQ2dDYkNBQmFpMEFBRUVDZEdvaURDZ0NBQ0lMS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpMQkVBZ0N5Z0NCQ0VLSUF3Z0MwRUlRUXdnQVNBRFN5SVVHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRTWdDQzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQW9nQ2tVZ0ZCc01BUXNnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVFUUNBTEtBSUVJUW9nRENBTFFReEJDQ0FCSUFOTEloUWJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEFTQUlMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBS1JTQUtJQlFiREFFTElBc29BZ1FMQkg4Z0F5QVFJQWNvQWdSQkVYWkJCSEVnQjBFRWF5SUtLQUlBUVJOMlFRRnhJQVpCRG5aQkVIRWdCa0VRZGtIQUFIRWdCa0dxQVhGeWNuSnlJaFJCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lMS0FJQUlnRnJJUU1nRkVIUXV3RnFMUUFBSVJNZ0NTQUZJQkVDZnlBQklBSkJFSFpMQkVBZ0N5Z0NCQ0VVSUF3Z0MwRUlRUXdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRTWdDQzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQlFnRkVVZ0Roc01BUXNnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVFUUNBTEtBSUVJUlFnRENBTFFReEJDQ0FCSUFOTElnNGJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEFTQUlMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBVVJTQVVJQTRiREFFTElBc29BZ1FMSUJOeklnRWJOZ0lBSUFvZ0NpZ0NBRUVnY2pZQ0FDQUhJQWNvQWdSQkNISTJBZ1FnQmlBQlFSTjBja0VRY2dVZ0JndEJnSUNBQVhJaEJnc0NRQ0FHUVlDQmdBaHhEUUFnQmtINEhuRkZEUUFnQXlBUUlBUW9BbXdnQmtFRGRpSVVRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhDaUFNSUF0QkNFRU1JQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QUtJQXBGSUJNYkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRUtJQXdnQzBFTVFRZ2dBU0FEU3lJVEcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQ2tVZ0NpQVRHd3dCQ3lBTEtBSUVDd1IvSUFNZ0VDQUhLQUlFUVJSMlFRUnhJQWRCQkdzaUNpZ0NBRUVXZGtFQmNTQUdRUTkyUVJCeElBWkJFM1pCd0FCeElCUkJxZ0Z4Y25KeWNpSVVRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURJQlJCMExzQmFpMEFBQ0VUSUFrZ0JTQVJBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhGQ0FNSUF0QkNFRU1JQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVVJQlJGSUE0YkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRVVJQXdnQzBFTVFRZ2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRkVVZ0ZDQU9Hd3dCQ3lBTEtBSUVDeUFUY3lJQkd6WUNnQUlnQ2lBS0tBSUFRWUFDY2pZQ0FDQUhJQWNvQWdSQndBQnlOZ0lFSUFZZ0FVRVdkSEpCZ0FGeUJTQUdDMEdBZ0lBSWNpRUdDd0pBSUFaQmdJaUF3QUJ4RFFBZ0JrSEE5d0Z4UlEwQUlBTWdFQ0FFS0FKc0lBWkJCbllpRkVIdkEzRnFMUUFBUVFKMGFpSU1LQUlBSWdzb0FnQWlBV3NoQXdKL0lBRWdBa0VRZGtzRVFDQUxLQUlFSVFvZ0RDQUxRUWhCRENBQklBTkxJaE1iYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBeUFJTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nQ2lBS1JTQVRHd3dCQ3lBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4UlFSQUlBc29BZ1FoQ2lBTUlBdEJERUVJSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRUJJQWd0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBcEZJQW9nRXhzTUFRc2dDeWdDQkFzRWZ5QURJQkFnQnlnQ0JFRVhka0VFY1NBSFFRUnJJZ29vQWdCQkdYWkJBWEVnQmtFU2RrRVFjU0FHUVJaMlFjQUFjU0FVUWFvQmNYSnljbklpRkVIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdzb0FnQWlBV3NoQXlBVVFkQzdBV290QUFBaEV5QUpJQVVnRVFKL0lBRWdBa0VRZGtzRVFDQUxLQUlFSVJRZ0RDQUxRUWhCRENBQklBTkxJZzRiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBeUFJTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRkNBVVJTQU9Hd3dCQ3lBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4UlFSQUlBc29BZ1FoRkNBTUlBdEJERUVJSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRUJJQWd0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElCUkZJQlFnRGhzTUFRc2dDeWdDQkFzZ0UzTWlBUnMyQW9BRUlBb2dDaWdDQUVHQUVISTJBZ0FnQnlBSEtBSUVRWUFFY2pZQ0JDQUdJQUZCR1hSeVFZQUljZ1VnQmd0QmdJQ0F3QUJ5SVFZTEFrQWdCa0dBd0lDQUJIRU5BQ0FHUVlDOEQzRkZEUUFnQXlBUUlBUW9BbXdnQmtFSmRpSVVRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhDaUFNSUF0QkNFRU1JQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QUtJQXBGSUJNYkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRUtJQXdnQzBFTVFRZ2dBU0FEU3lJVEcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQ2tVZ0NpQVRHd3dCQ3lBTEtBSUVDd1IvSUFNZ0VDQUhLQUlFUVJwMlFRUnhJQWRCQkdzaUNpZ0NBRUVjZGtFQmNTQUdRUlYyUVJCeElBWkJHWFpCd0FCeElCUkJxZ0Z4Y25KeWNpSVVRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURJQlJCMExzQmFpMEFBQ0VUSUFrZ0JTQVJBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhGQ0FNSUF0QkNFRU1JQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVVJQlJGSUE0YkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRVVJQXdnQzBFTVFRZ2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRkVVZ0ZDQU9Hd3dCQ3lBTEtBSUVDeUFUY3lJQkd6WUNnQVlnQ2lBS0tBSUFRWUNBQVhJMkFnQWdCeUFIS0FJRVFZQWdjallDQkNBSElBY29Bb1FDUVFSeU5nS0VBaUFISUFjb0Fvd0NRUUZ5TmdLTUFpQUhJQWNvQW9nQ0lBRkJFblJ5UVFKeU5nS0lBaUFHSUFGQkhIUnlRWURBQUhJRklBWUxRWUNBZ0lBRWNpRUdDeUFISUFZMkFnQUxJQWRCQkdvaEJpQUpRUVJxSVFFZ0YwRUJhaUlYUWNBQVJ3MEFDeUFIUVF4cUlRWWdDVUdFQm1vaEFTQU5RVHhKSVZRZ0RVRUVhaUVOSUZRTkFBc0xJQVFnQ0RZQ0NDQUVJQU0yQWdRZ0JDQUNOZ0lBSUFRZ0REWUNhQXNNQWdzZ0lnUkFRUUVnR1hSQkFYWWhDU0FFS0FKOEloRkJBblFpRENBRUtBSjRha0VNYWlFQklBUW9BblFoQmtFQUlRMGdCQ2dDZ0FFaUEwRUVUd1JBSUJGRkRRUWdFVUVEYkNFRklCRkJBWFFoQzBFQUlBbHJJUUlEUUNBTFFRSjBJUXBCQUNFREEwQUNRQ0FCSWdjb0FnQWlBVVVOQUNBQlFaQ0FnQUZ4UVJCR0JFQWdCQ2dDQUNFQkFrQWdCQ2dDQ0NJUURRQWdBVUgvQVVZaEVDQUVLQUlRSWdndEFBQWhBUUpBSUJCRkJFQWdCQ0FCTmdJQUlBUWdDRUVCYWpZQ0VBd0JDeUFCUVk4QlRRUkFJQVFnQVRZQ0FDQUVJQWhCQVdvMkFoQkJCeUVRREFJTFFmOEJJUUVnQkVIL0FUWUNBQXRCQ0NFUUN5QUVJQkJCQVdzaUNEWUNDQ0FHSUFJZ0NTQUJJQWgyUVFGeElBWW9BZ0FpQVVFZmRrWWJJQUZxTmdJQUlBY2dCeWdDQUVHQWdNQUFjaUlCTmdJQUN5QUJRWUNCZ0FoeFFZQUJSZ1JBSUFRb0FnQWhBUUpBSUFRb0FnZ2lFQTBBSUFGQi93RkdJUkFnQkNnQ0VDSUlMUUFBSVFFQ1FDQVFSUVJBSUFRZ0FUWUNBQ0FFSUFoQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBSVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJZ2cyQWdnZ0JpQU1haUlRSUFJZ0NTQUJJQWgyUVFGeElCQW9BZ0FpQVVFZmRrWWJJQUZxTmdJQUlBY2dCeWdDQUVHQWdJQUVjaUlCTmdJQUN5QUJRWUNJZ01BQWNVR0FDRVlFUUNBRUtBSUFJUUVDUUNBRUtBSUlJaEFOQUNBQlFmOEJSaUVRSUFRb0FoQWlDQzBBQUNFQkFrQWdFRVVFUUNBRUlBRTJBZ0FnQkNBSVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0NFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlJTmdJSUlBWWdDbW9pRUNBQ0lBa2dBU0FJZGtFQmNTQVFLQUlBSWdGQkgzWkdHeUFCYWpZQ0FDQUhJQWNvQWdCQmdJQ0FJSElpQVRZQ0FBc2dBVUdBd0lDQUJIRkJnTUFBUncwQUlBWWdCVUVDZEdvaEVDQUVLQUlBSVFFQ1FDQUVLQUlJSWdnTkFDQUJRZjhCUmlFVUlBUW9BaEFpQ0MwQUFDRUJBa0FnRkVVRVFDQUVJQUUyQWdBZ0JDQUlRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdDRUVCYWpZQ0VFRUhJUWdNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVFnTElBUWdDRUVCYXlJSU5nSUlJQkFnQWlBSklBRWdDSFpCQVhFZ0VDZ0NBQ0lCUVI5MlJoc2dBV28yQWdBZ0J5QUhLQUlBUVlDQWdJQUNjallDQUFzZ0JrRUVhaUVHSUFkQkJHb2hBU0FEUVFGcUlnTWdFVWNOQUFzZ0IwRU1haUVCSUFZZ0JVRUNkR29oQmlBTlFRUnFJZzBnQkNnQ2dBRWlBMEY4Y1VrTkFBc0xJQU1nRFUwTkFpQVJSUTBDUVFBaEUwRUFJQWxySVFVZ0F5RUhBMEFDUUNBSElBMUdCRUFnRFNFSERBRUxJQUVvQWdBaEVFRUFJUUlEUUVHUWdJQUJJQUpCQTJ3aUIzUWdFSEZCRUNBSGRFWUVRQ0FHSUFJZ0VXeEJBblJxSVJBZ0JDZ0NBQ0VEQWtBZ0JDZ0NDQ0lJRFFBZ0EwSC9BVWNoRENBRUtBSVFJZ2d0QUFBaEF3SkFJQXhGQkVBZ0EwR1FBVThFUUVIL0FTRURJQVJCL3dFMkFnQU1BZ3NnQkNBRE5nSUFJQVFnQ0VFQmFqWUNFRUVISVFnTUFnc2dCQ0FETmdJQUlBUWdDRUVCYWpZQ0VBdEJDQ0VJQ3lBRUlBaEJBV3NpQ0RZQ0NDQVFJQVVnQ1NBRElBaDJRUUZ4SUJBb0FnQWlBMEVmZGtZYklBTnFOZ0lBSUFFZ0FTZ0NBRUdBZ01BQUlBZDBjaUlRTmdJQUlBUW9Bb0FCSVFNTElBTWhCeUFDUVFGcUlnSWdBeUFOYTBrTkFBc0xJQVpCQkdvaEJpQUJRUVJxSVFFZ0UwRUJhaUlUSUJGSERRQUxEQUlMSUFRb0FuZ2hDQ0FFS0FKMElRY2dCQ2dDZ0FFaEF3SkFJQVFvQW53aURFSEFBRWNOQUNBRFFjQUFSdzBBSUFoQmpBSnFJUU5CQUNFVFFRQkJBU0FaZEVFQmRpSUZheUVNSUFRb0FnZ2hBaUFFS0FJRUlRWWdCQ2dDQUNFQklBUW9BbWdoRFFOQVFRQWhDQU5BSUFjaENTQURJaEFvQWdBaUJ3UkFJQU1oVlNBSFFaQ0FnQUZ4UVJCR0JFQWdCaUFQUVJCQkQwRU9JQWRCN3dOeEd5QUhRWUNBd0FCeEcwRUNkR29pRFNnQ0FDSVJLQUlBSWdOcklRWUNmeUFESUFGQkVIWkxCRUFnRVNnQ0JDRUxJQTBnRVVFSVFRd2dBeUFHU3lJS0cyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaEVTQUNMUUFCSVFZZ0FpMEFBRUgvQVVZRVFDQUdRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTUFnc2dCQ0FSTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQVJOZ0lRUVFnaEFpQUdRUWgwSUFGcUlRRUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lBc2dDMFVnQ2hzTUFRc2dBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NVVUVRQ0FSS0FJRUlRc2dEU0FSUVF4QkNDQURJQVpMSWdvYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlBa0VCYWlFUklBSXRBQUVoQXlBQ0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWd3Q0N5QUVJQkUyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlCRTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRc2dBa0VCYXlFQ0lBRkJBWFFoQVNBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFMUlNBTElBb2JEQUVMSUJFb0FnUUxJUU1nQ1NBTUlBVWdBeUFKS0FJQUloRkJIM1pHR3lBUmFqWUNBQ0FIUVlDQXdBQnlJUWNMSUFkQmdJR0FDSEZCZ0FGR0JFQWdCaUFQUVJCQkQwRU9JQWRCK0I1eEd5QUhRWUNBZ0FSeEcwRUNkR29pRFNnQ0FDSVJLQUlBSWdOcklRWUNmeUFESUFGQkVIWkxCRUFnRVNnQ0JDRUxJQTBnRVVFSVFRd2dBeUFHU3lJS0cyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaEVTQUNMUUFCSVFZZ0FpMEFBRUgvQVVZRVFDQUdRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTUFnc2dCQ0FSTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQVJOZ0lRUVFnaEFpQUdRUWgwSUFGcUlRRUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lBc2dDMFVnQ2hzTUFRc2dBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NVVUVRQ0FSS0FJRUlRc2dEU0FSUVF4QkNDQURJQVpMSWdvYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlBa0VCYWlFUklBSXRBQUVoQXlBQ0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWd3Q0N5QUVJQkUyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlCRTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRc2dBa0VCYXlFQ0lBRkJBWFFoQVNBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFMUlNBTElBb2JEQUVMSUJFb0FnUUxJUU1nQ1NBTUlBVWdBeUFKS0FLQUFpSVJRUjkyUmhzZ0VXbzJBb0FDSUFkQmdJQ0FCSEloQndzZ0IwR0FpSURBQUhGQmdBaEdCRUFnQmlBUFFSQkJEMEVPSUFkQndQY0JjUnNnQjBHQWdJQWdjUnRCQW5ScUlnMG9BZ0FpRVNnQ0FDSURheUVHQW44Z0F5QUJRUkIyU3dSQUlCRW9BZ1FoQ3lBTklCRkJDRUVNSUFNZ0Jrc2lDaHRxS0FJQU5nSUFBMEFDUUNBQ0RRQWdCQ2dDRUNJQ1FRRnFJUkVnQWkwQUFTRUdJQUl0QUFCQi93RkdCRUFnQmtHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FVR0EvZ05xSVFGQkNDRUNEQUlMSUFRZ0VUWUNFQ0FHUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnRVRZQ0VFRUlJUUlnQmtFSWRDQUJhaUVCQ3lBQ1FRRnJJUUlnQVVFQmRDRUJJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhCaUFMSUF0RklBb2JEQUVMSUFFZ0EwRVFkR3NoQVNBR1FZQ0FBbkZGQkVBZ0VTZ0NCQ0VMSUEwZ0VVRU1RUWdnQXlBR1N5SUtHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hFU0FDTFFBQklRTWdBaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSU1BZ3NnQkNBUk5nSVFJQU5CQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FSTmdJUVFRZ2hBaUFEUVFoMElBRnFJUUVMSUFKQkFXc2hBaUFCUVFGMElRRWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0MwVWdDeUFLR3d3QkN5QVJLQUlFQ3lFRElBa2dEQ0FGSUFNZ0NTZ0NnQVFpRVVFZmRrWWJJQkZxTmdLQUJDQUhRWUNBZ0NCeUlRY0xJRlVnQjBHQXdJQ0FCSEZCZ01BQVJnUi9JQVlnRDBFUVFROUJEaUFIUVlDOEQzRWJJQWRCZ0lDQWdBSnhHMEVDZEdvaURTZ0NBQ0lSS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpMQkVBZ0VTZ0NCQ0VMSUEwZ0VVRUlRUXdnQXlBR1N5SUtHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hFU0FDTFFBQklRWWdBaTBBQUVIL0FVWUVRQ0FHUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSU1BZ3NnQkNBUk5nSVFJQVpCQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FSTmdJUVFRZ2hBaUFHUVFoMElBRnFJUUVMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQXNnQzBVZ0Noc01BUXNnQVNBRFFSQjBheUVCSUFaQmdJQUNjVVVFUUNBUktBSUVJUXNnRFNBUlFReEJDQ0FESUFaTElnb2JhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQWtFQmFpRVJJQUl0QUFFaEF5QUNMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFGQmdQNERhaUVCUVFnaEFnd0NDeUFFSUJFMkFoQWdBMEVKZENBQmFpRUJRUWNoQWd3QkN5QUVJQkUyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXNnQWtFQmF5RUNJQUZCQVhRaEFTQUdRUUYwSWdaQmdJQUNTUTBBQ3lBTFJTQUxJQW9iREFFTElCRW9BZ1FMSVFNZ0NTQU1JQVVnQXlBSktBS0FCaUlSUVI5MlJoc2dFV28yQW9BR0lBZEJnSUNBZ0FKeUJTQUhDellDQUFzZ0VFRUVhaUVESUFsQkJHb2hCeUFJUVFGcUlnaEJ3QUJIRFFBTElCQkJER29oQXlBSlFZUUdhaUVISUJOQlBFa2hWaUFUUVFScUlSTWdWZzBBQ3lBRUlBSTJBZ2dnQkNBR05nSUVJQVFnQVRZQ0FDQUVJQTAyQW1nTUFndEJBU0FaZEVFQmRpRUxJQWdnREVFQ2RDSU9ha0VNYWlFSklBUW9BZ2doQWlBRUtBSUVJUVlnQkNnQ0FDRUJJQVFvQW1naERVRUFJUkVDUUNBRFFRUkpEUUFnREFSQUlBeEJBMndoRkNBTVFRRjBJUmRCQUNBTGF5RUtBMEFnRjBFQ2RDRVNRUUFoQ0FOQUlBa2lCU2dDQUNJUUJFQWdFRUdRZ0lBQmNVRVFSZ1JBSUFZZ0QwRVFRUTlCRGlBUVFlOERjUnNnRUVHQWdNQUFjUnRCQW5ScUlnMG9BZ0FpQ1NnQ0FDSURheUVHQW44Z0F5QUJRUkIyVFFSQUlBRWdBMEVRZEdzaEFTQUdRWUNBQW5FRVFDQUpLQUlFREFJTElBa29BZ1FoRXlBTklBbEJERUVJSUFNZ0Jrc2lGUnRxS0FJQU5nSUFBMEFDUUNBQ0RRQWdCQ2dDRUNJSlFRRnFJUUlnQ1MwQUFTRURJQWt0QUFCQi93RkhCRUFnQkNBQ05nSVFRUWdoQWlBRFFRaDBJQUZxSVFFTUFRc2dBMEdQQVUwRVFDQUVJQUkyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBVUdBL2dOcUlRRkJDQ0VDQ3lBQ1FRRnJJUUlnQVVFQmRDRUJJQVpCQVhRaUJrR0FnQUpKRFFBTElCTkZJQk1nRlJzTUFRc2dDU2dDQkNFVElBMGdDVUVJUVF3Z0F5QUdTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnbEJBV29oQWlBSkxRQUJJUVlnQ1MwQUFFSC9BVWNFUUNBRUlBSTJBaEJCQ0NFQ0lBWkJDSFFnQVdvaEFRd0JDeUFHUVk4QlRRUkFJQVFnQWpZQ0VDQUdRUWwwSUFGcUlRRkJCeUVDREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTElBSkJBV3NoQWlBQlFRRjBJUUVnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVHSUJNZ0UwVWdGUnNMSVFNZ0J5QUtJQXNnQXlBSEtBSUFJZ2xCSDNaR0d5QUphallDQUNBUVFZQ0F3QUJ5SVJBTElCQkJnSUdBQ0hGQmdBRkdCRUFnQmlBUFFSQkJEMEVPSUJCQitCNXhHeUFRUVlDQWdBUnhHMEVDZEdvaURTZ0NBQ0lKS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpOQkVBZ0FTQURRUkIwYXlFQklBWkJnSUFDY1FSQUlBa29BZ1FNQWdzZ0NTZ0NCQ0VUSUEwZ0NVRU1RUWdnQXlBR1N5SVZHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdsQkFXb2hBaUFKTFFBQklRTWdDUzBBQUVIL0FVY0VRQ0FFSUFJMkFoQkJDQ0VDSUFOQkNIUWdBV29oQVF3QkN5QURRWThCVFFSQUlBUWdBallDRUNBRFFRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlMSUFKQkFXc2hBaUFCUVFGMElRRWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0UwVWdFeUFWR3d3QkN5QUpLQUlFSVJNZ0RTQUpRUWhCRENBRElBWkxJaFViYWlnQ0FEWUNBQU5BQWtBZ0FnMEFJQVFvQWhBaUNVRUJhaUVDSUFrdEFBRWhCaUFKTFFBQVFmOEJSd1JBSUFRZ0FqWUNFRUVJSVFJZ0JrRUlkQ0FCYWlFQkRBRUxJQVpCandGTkJFQWdCQ0FDTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWdzZ0FrRUJheUVDSUFGQkFYUWhBU0FEUVFGMElnTkJnSUFDU1EwQUN5QURJUVlnRXlBVFJTQVZHd3NoQXlBSElBNXFJZ2tnQ2lBTElBTWdDU2dDQUNJSlFSOTJSaHNnQ1dvMkFnQWdFRUdBZ0lBRWNpRVFDeUFRUVlDSWdNQUFjVUdBQ0VZRVFDQUdJQTlCRUVFUFFRNGdFRUhBOXdGeEd5QVFRWUNBZ0NCeEcwRUNkR29pRFNnQ0FDSUpLQUlBSWdOcklRWUNmeUFESUFGQkVIWk5CRUFnQVNBRFFSQjBheUVCSUFaQmdJQUNjUVJBSUFrb0FnUU1BZ3NnQ1NnQ0JDRVRJQTBnQ1VFTVFRZ2dBeUFHU3lJVkcyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ2xCQVdvaEFpQUpMUUFCSVFNZ0NTMEFBRUgvQVVjRVFDQUVJQUkyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXdCQ3lBRFFZOEJUUVJBSUFRZ0FqWUNFQ0FEUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0JrRUJkQ0lHUVlDQUFra05BQXNnRTBVZ0V5QVZHd3dCQ3lBSktBSUVJUk1nRFNBSlFRaEJEQ0FESUFaTEloVWJhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQ1VFQmFpRUNJQWt0QUFFaEJpQUpMUUFBUWY4QlJ3UkFJQVFnQWpZQ0VFRUlJUUlnQmtFSWRDQUJhaUVCREFFTElBWkJqd0ZOQkVBZ0JDQUNOZ0lRSUFaQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBRkJnUDREYWlFQlFRZ2hBZ3NnQWtFQmF5RUNJQUZCQVhRaEFTQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRWWdFeUFUUlNBVkd3c2hBeUFISUJKcUlna2dDaUFMSUFNZ0NTZ0NBQ0lKUVI5MlJoc2dDV28yQWdBZ0VFR0FnSUFnY2lFUUN5QUZJQkJCZ01DQWdBUnhRWURBQUVZRWZ5QUdJQTlCRUVFUFFRNGdFRUdBdkE5eEd5QVFRWUNBZ0lBQ2NSdEJBblJxSWcwb0FnQWlDU2dDQUNJRGF5RUdBbjhnQXlBQlFSQjJUUVJBSUFFZ0EwRVFkR3NoQVNBR1FZQ0FBbkVFUUNBSktBSUVEQUlMSUFrb0FnUWhFeUFOSUFsQkRFRUlJQU1nQmtzaUZSdHFLQUlBTmdJQUEwQUNRQ0FDRFFBZ0JDZ0NFQ0lKUVFGcUlRSWdDUzBBQVNFRElBa3RBQUJCL3dGSEJFQWdCQ0FDTmdJUVFRZ2hBaUFEUVFoMElBRnFJUUVNQVFzZ0EwR1BBVTBFUUNBRUlBSTJBaEFnQTBFSmRDQUJhaUVCUVFjaEFnd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FVR0EvZ05xSVFGQkNDRUNDeUFDUVFGcklRSWdBVUVCZENFQklBWkJBWFFpQmtHQWdBSkpEUUFMSUJORklCTWdGUnNNQVFzZ0NTZ0NCQ0VUSUEwZ0NVRUlRUXdnQXlBR1N5SVZHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdsQkFXb2hBaUFKTFFBQklRWWdDUzBBQUVIL0FVY0VRQ0FFSUFJMkFoQkJDQ0VDSUFaQkNIUWdBV29oQVF3QkN5QUdRWThCVFFSQUlBUWdBallDRUNBR1FRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQk1nRTBVZ0ZSc0xJUU1nQnlBVVFRSjBhaUlKSUFvZ0N5QURJQWtvQWdBaUNVRWZka1liSUFscU5nSUFJQkJCZ0lDQWdBSnlCU0FRQ3pZQ0FBc2dCVUVFYWlFSklBZEJCR29oQnlBSVFRRnFJZ2dnREVjTkFBc2dCVUVNYWlFSklBY2dGRUVDZEdvaEJ5QVJRUVJxSWhFZ0JDZ0NnQUVpQTBGOGNVa05BQXNNQVF0QkJDQURRWHh4SWdrZ0NVRUVUUnRCQVdzaUNVRjhjVUVFYWlFUklBZ2dDVUVCZEVGNGNXcEJGR29oQ1FzZ0JDQUNOZ0lJSUFRZ0JqWUNCQ0FFSUFFMkFnQWdCQ0FOTmdKb0lBeEZEUUVnQXlBUlRRMEJRUUFoRTBFQUlBdHJJUlFnQXlFQkEwQUNRQ0FCSUJGR0JFQWdFU0VCREFFTElBa29BZ0FoQWtFQUlSQURRRUdRZ0lBQklCQkJBMndpQ0hRZ0FuRkJFQ0FJZEVZRVFDQUhJQXdnRUd4QkFuUnFJUVVnQkNBUFFSQkJEMEVPSUFJZ0NIWWlBVUh2QTNFYklBRkJnSURBQUhFYlFRSjBhaUlOTmdKb0lBUWdCQ2dDQkNBTktBSUFJZ0lvQWdBaUFXc2lBellDQkFKL0lBRWdCQ2dDQUNJR1FSQjJTd1JBSUFJb0FnUWhDaUFFSUFFMkFnUWdEU0FDUVFoQkRDQUJJQU5MSWc0YmFpZ0NBRFlDQUNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRFNBQ0xRQUJJUU1nQWkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUdRWUQrQTJvaEJrRUlJUUlNQWdzZ0JDQU5OZ0lRSUFOQkNYUWdCbW9oQmtFSElRSU1BUXNnQkNBTk5nSVFRUWdoQWlBRFFRaDBJQVpxSVFZTElBUWdBa0VCYXlJQ05nSUlJQVFnQmtFQmRDSUdOZ0lBSUFRZ0FVRUJkQ0lCTmdJRUlBRkJnSUFDU1EwQUN5QUtJQXBGSUE0YkRBRUxJQVFnQmlBQlFSQjBheUlHTmdJQUlBTkJnSUFDY1VVRVFDQUNLQUlFSVFvZ0RTQUNRUXhCQ0NBQklBTkxJZzRiYWlnQ0FEWUNBQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hEU0FDTFFBQklRRWdBaTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBR1FZRCtBMm9oQmtFSUlRSU1BZ3NnQkNBTk5nSVFJQUZCQ1hRZ0Jtb2hCa0VISVFJTUFRc2dCQ0FOTmdJUVFRZ2hBaUFCUVFoMElBWnFJUVlMSUFRZ0FrRUJheUlDTmdJSUlBUWdCa0VCZENJR05nSUFJQVFnQTBFQmRDSUROZ0lFSUFOQmdJQUNTUTBBQ3lBS1JTQUtJQTRiREFFTElBSW9BZ1FMSVFFZ0JTQVVJQXNnQVNBRktBSUFJZ05CSDNaR0d5QURhallDQUNBSklBa29BZ0JCZ0lEQUFDQUlkSElpQWpZQ0FDQUVLQUtBQVNFREN5QVFRUUZxSWhBZ0F5SUJJQkZyU1EwQUN3c2dDVUVFYWlFSklBZEJCR29oQnlBVFFRRnFJaE1nREVjTkFBc01BUXRCQUNFUlFRQWhGd0pBQWtBQ1FBSkFJQVFvQW53aUZFSEFBRWNOQUNBRUtBS0FBVUhBQUVjTkFFRUFRUUVnR1hRaUFVRUJkaUFCY2lJVWF5RVRJQVJCNUFCcUlRZ2dCRUhnQUdvaEVDQUVRUnhxSVFzZ0JDZ0NlRUdNQW1vaEJpQUVLQUlJSVFVZ0JDZ0NCQ0VCSUFRb0FnQWhBaUFFS0FKb0lRa2dCQ2dDZENFRElCWkJDSEVOQVFOQVFRQWhEQU5BSUFNaEVRSkFBa0FDZndKQUFrQWdCaUlOS0FJQUlnWkZCRUFnQVNBUUtBSUFJZ01vQWdBaUJtc2hBUUovSUFZZ0FrRVFka3NFUUNBREtBSUVJUWNnRUNBRFFRaEJEQ0FCSUFaSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUpJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdCeUFIUlNBS0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhCeUFRSUFOQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dDaHNNQVFzZ0F5Z0NCQXRGQkVBZ0VDRUpEQVlMSUFFZ0NDZ0NBQ0lES0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpMQkVBZ0F5Z0NCQ0VISUFnZ0EwRUlRUXdnQVNBR1NTSUtHMm9vQWdBaUF6WUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUNVRUJhaUVGSUFrdEFBRWhBU0FKTFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQnlBSFJTQUtHd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQnlBSUlBTkJERUVJSUFFZ0Jra2lDaHRxS0FJQUlnTTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnbEJBV29oQlNBSkxRQUJJUVlnQ1MwQUFFSC9BVVlFUUNBR1FaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCMFVnQnlBS0d3d0JDeUFES0FJRUN5RUtJQUVnQXlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyU3dSQUlBTW9BZ1FoQnlBSUlBTkJDRUVNSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRFFRRnFJUWtnQXkwQUFTRUJJQU10QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FISUFkRklBNGJEQUVMSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0F5Z0NCQ0VISUFnZ0EwRU1RUWdnQVNBR1NTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRTWdCaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0IwVWdCeUFPR3d3QkN5QURLQUlFQ3lFRFFRQWhCaUFJSVFrQ1FBSkFBa0FDZndKQUFrQWdBeUFLUVFGMGNnNEVBQUVEQlFvTElBRWdDeUFOS0FJRVFSRjJRUVJ4SUExQkJHc2lCeWdDQUVFVGRrRUJjWElpRGtIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdNb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGtzRVFDQURLQUlFSVFvZ0NTQURRUWhCRENBQklBWkpJaEliYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVKSUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQ2lBS1JTQVNHd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQ2lBSklBTkJERUVJSUFFZ0Jra2lFaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nRWhzTUFRc2dBeWdDQkFzaEF5QVJJQk1nRkNBRElBNUIwTHNCYWkwQUFITWlBeHMyQWdBZ0J5QUhLQUlBUVNCeU5nSUFJQTBnRFNnQ0JFRUljallDQkNBTlFZd0NheUlHSUFZb0FnQkJnSUFJY2pZQ0FDQU5RWVFDYXlJR0lBWW9BZ0JCZ0lBQ2NqWUNBQ0FOUVlnQ2F5SUdJQVlvQWdBZ0EwRWZkSEpCZ0lBRWNqWUNBQ0FEUVJOMElWY2dBU0FMSUFRb0Ftd3RBQUpCQW5ScUlnY29BZ0FpQXlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyU3dSQUlBTW9BZ1FoQ1NBSElBTkJDRUVNSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRFFRRnFJUWNnQXkwQUFTRUJJQU10QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0J6WUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQnpZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FKSUFsRklBNGJEQUVMSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0F5Z0NCQ0VKSUFjZ0EwRU1RUWdnQVNBR1NTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hCeUFHTFFBQklRTWdCaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FITmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NVVWdDU0FPR3d3QkN5QURLQUlFQ3lFRElGZEJFSElpQmlBRFJRMEJHZ3NnQVNBTElBMG9BZ1JCRkhaQkJIRWdEVUVFYXlJSktBSUFRUloyUVFGeElBWkJEM1pCRUhFZ0JrRVRka0hBQUhFZ0JrRURka0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaUNpZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VPSUFvZ0IwRUlRUXdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQTRnRGtVZ0Noc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUTRnQ2lBSFFReEJDQ0FCSUFOSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBT1JTQU9JQW9iREFFTElBY29BZ1FMSVFNZ0VTQVRJQlFnQXlBU1FkQzdBV290QUFCeklnTWJOZ0tBQWlBSklBa29BZ0JCZ0FKeU5nSUFJQTBnRFNnQ0JFSEFBSEkyQWdRZ0JpQURRUlowY2tHQUFYSUxJUVlnQVNBTElBUW9BbXdnQmtFR2RrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrc0VRQ0FIS0FJRUlRb2dDU0FIUVFoQkRDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFSklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0NpQUtSU0FPR3d3QkN5QUNJQU5CRUhScklRSWdBVUdBZ0FKeFJRUkFJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdBMGtpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFrZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdDVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0NUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0Roc01BUXNnQnlnQ0JBdEZEUUVMSUFFZ0N5QU5LQUlFUVJkMlFRUnhJQTFCQkdzaUNTZ0NBRUVaZGtFQmNTQUdRUkoyUVJCeElBWkJGblpCd0FCeElBWkJCblpCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlnb29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBS0lBZEJDRUVNSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklBb2JEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFvZ0IwRU1RUWdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFLR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDZ0FRZ0NTQUpLQUlBUVlBUWNqWUNBQ0FOSUEwb0FnUkJnQVJ5TmdJRUlBWWdBMEVaZEhKQmdBaHlJUVlMSUFFZ0N5QUVLQUpzSUFaQkNYWkI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRGhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lBNGJEQUVMSUFjb0FnUUxSUTBGQ3lBQklBc2dEU2dDQkVFYWRrRUVjU0FOUVFScklnNG9BZ0JCSEhaQkFYRWdCa0VWZGtFUWNTQUdRUmwyUWNBQWNTQUdRUWwyUWFvQmNYSnljbklpQ2tIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVNBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VTSUFrZ0IwRUlRUXdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQklnRWtVZ0ZSc01CQXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjUTBCSUFjb0FnUWhFaUFKSUFkQkRFRUlJQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUJKRklCSWdGUnNNQXdzQ1FDQUdRWkNBZ0FGeERRQWdBU0FMSUFRb0Ftd2dCa0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUW9nQ1NBSFFRaEJEQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdDaUFLUlNBT0d3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQTBraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEaHNNQVFzZ0J5Z0NCQXRGRFFBZ0FTQUxJQTBvQWdSQkVYWkJCSEVnRFVFRWF5SUtLQUlBUVJOMlFRRnhJQVpCRG5aQkVIRWdCa0VRZGtIQUFIRWdCa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VPSUFrZ0IwRUlRUXdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQTRnRGtVZ0ZSc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUTRnQ1NBSFFReEJDQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBT1JTQU9JQlViREFFTElBY29BZ1FMSVFNZ0VTQVRJQlFnQXlBU1FkQzdBV290QUFCeklnTWJOZ0lBSUFvZ0NpZ0NBRUVnY2pZQ0FDQU5JQTBvQWdSQkNISTJBZ1FnRFVHTUFtc2lCeUFIS0FJQVFZQ0FDSEkyQWdBZ0RVR0VBbXNpQnlBSEtBSUFRWUNBQW5JMkFnQWdEVUdJQW1zaUJ5QUhLQUlBSUFOQkgzUnlRWUNBQkhJMkFnQWdCaUFEUVJOMGNrRVFjaUVHQ3dKQUlBWkJnSUdBQ0hFTkFDQUJJQXNnQkNnQ2JDQUdRUU4ySWc1Qjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQURTU0lTRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFvZ0NrVWdFaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBTkpJaEliYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUJJYkRBRUxJQWNvQWdRTFJRMEFJQUVnQ3lBTktBSUVRUlIyUVFSeElBMUJCR3NpQ2lnQ0FFRVdka0VCY1NBR1FROTJRUkJ4SUFaQkUzWkJ3QUJ4SUE1QnFnRnhjbkp5Y2lJU1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaERpQUpJQWRCQ0VFTUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBT0lBNUZJQlViREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFT0lBa2dCMEVNUVFnZ0FTQURTU0lWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dEa1VnRGlBVkd3d0JDeUFIS0FJRUN5RURJQkVnRXlBVUlBTWdFa0hRdXdGcUxRQUFjeUlER3pZQ2dBSWdDaUFLS0FJQVFZQUNjallDQUNBTklBMG9BZ1JCd0FCeU5nSUVJQVlnQTBFV2RISkJnQUZ5SVFZTEFrQWdCa0dBaUlEQUFIRU5BQ0FCSUFzZ0JDZ0NiQ0FHUVFaMklnNUI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRWhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWhJYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lCSWJEQUVMSUFjb0FnUUxSUTBBSUFFZ0N5QU5LQUlFUVJkMlFRUnhJQTFCQkdzaUNpZ0NBRUVaZGtFQmNTQUdRUkoyUVJCeElBWkJGblpCd0FCeElBNUJxZ0Z4Y25KeWNpSVNRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhEaUFKSUFkQkNFRU1JQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQU9JQTVGSUJVYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRU9JQWtnQjBFTVFRZ2dBU0FEU1NJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnRGtVZ0RpQVZHd3dCQ3lBSEtBSUVDeUVESUJFZ0V5QVVJQU1nRWtIUXV3RnFMUUFBY3lJREd6WUNnQVFnQ2lBS0tBSUFRWUFRY2pZQ0FDQU5JQTBvQWdSQmdBUnlOZ0lFSUFZZ0EwRVpkSEpCZ0FoeUlRWUxJQVpCZ01DQWdBUnhEUU1nQVNBTElBUW9BbXdnQmtFSmRpSVNRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlBU2dDQUNJRGF5RUhBbjhnQXlBQ1FSQjJTd1JBSUFFb0FnUWhDaUFKSUFGQkNFRU1JQU1nQjBzaURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEJ5QUtJQXBGSUE0YkRBRUxJQUlnQTBFUWRHc2hBaUFIUVlDQUFuRkZCRUFnQVNnQ0JDRUtJQWtnQVVFTVFRZ2dBeUFIU3lJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ05CQVdvaEJTQURMUUFCSVFFZ0F5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0IwRUJkQ0lIUVlDQUFra05BQXNnQ2tVZ0NpQU9Hd3dCQ3lBQktBSUVDMFVFUUNBSElRRU1CQXNnQnlBTElBMG9BZ1JCR25aQkJIRWdEVUVFYXlJT0tBSUFRUngyUVFGeElBWkJGWFpCRUhFZ0JrRVpka0hBQUhFZ0VrR3FBWEZ5Y25KeUlncEIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdGcklRTWdBU0FDUVJCMlN3UkFJQWNvQWdRaEVpQUpJQWRCQ0VFTUlBRWdBMHNpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQklnRWtVZ0ZSc01Bd3NnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVOQVNBRElRRUxJQWNvQWdRTUFRc2dCeWdDQkNFU0lBa2dCMEVNUVFnZ0FTQURTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUJKRklCSWdGUnNMSVFNZ0VTQVRJQlFnQXlBS1FkQzdBV290QUFCeklnTWJOZ0tBQmlBT0lBNG9BZ0JCZ0lBQmNqWUNBQ0FOSUEwb0FnUkJnQ0J5TmdJRUlBMGdEU2dDaEFKQkJISTJBb1FDSUEwZ0RTZ0NqQUpCQVhJMkFvd0NJQTBnRFNnQ2lBSWdBMEVTZEhKQkFuSTJBb2dDSUFZZ0EwRWNkSEpCZ01BQWNpRUdDeUFOSUFaQi8vLy90bnR4TmdJQUN5QU5RUVJxSVFZZ0VVRUVhaUVESUF4QkFXb2lERUhBQUVjTkFBc2dEVUVNYWlFR0lCRkJoQVpxSVFNZ0YwRThTU0ZZSUJkQkJHb2hGeUJZRFFBTERBSUxRUUVnR1hRaUFVRUJkaUFCY2lFT0lBUW9BbmdpQnlBVVFRSjBha0VNYWlFRElBUW9Bb0FCSVFZZ0JDZ0NDQ0VGSUFRb0FnUWhBU0FFS0FJQUlRSWdCQ2dDYUNFSklBUW9BblFoQ3dKQUFrQWdGa0VJY1FSQUlBWkJCRWtOQWlBVVJRMEJJQVJCNUFCcUlSQWdCRUhnQUdvaERTQVVRUU5zSVJzZ0ZFRUJkQ0VrUVFBZ0Rtc2hGU0FFUVJ4cUlSSURRRUVBSVJnRFFBSkFBa0FDZndKQUlBTWlDQ2dDQUNJREJFQUNRQ0FEUVpDQWdBRnhEUUFnQVNBU0lBUW9BbXdnQTBIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVF3Z0NTQUhRUXhCQ0NBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QU1SU0FNSUFvYkRBRUxJQWNvQWdRaERDQUpJQWRCQ0VFTUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBTUlBeEZJQW9iQzBVTkFDQUJJQklnQ0NnQ0JFRVJka0VFY1NBSVFRUnJJZ3dvQWdCQkUzWkJBWEVnQTBFT2RrRVFjU0FEUVJCMlFjQUFjU0FEUWFvQmNYSnljbklpRTBIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBWkpJaHdiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUJ3YkRBRUxJQWNvQWdRaENpQUpJQWRCQ0VFTUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBS0lBcEZJQndiQ3lFR0lBc2dGU0FPSUFZZ0UwSFF1d0ZxTFFBQWN5SUdHellDQUNBTUlBd29BZ0JCSUhJMkFnQWdDQ0FJS0FJRVFRaHlOZ0lFSUFNZ0JrRVRkSEpCRUhJaEF3c0NRQ0FEUVlDQmdBaHhEUUFnQVNBU0lBUW9BbXdnQTBFRGRpSUtRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0V4c0xSUTBBSUFFZ0VpQUlLQUlFUVJSMlFRUnhJQWhCQkdzaURDZ0NBRUVXZGtFQmNTQURRUTkyUVJCeElBTkJFM1pCd0FCeElBcEJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dIQnNNQVFzZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0hCc0xJUVlnQ3lBVVFRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBd2dEQ2dDQUVHQUFuSTJBZ0FnQ0NBSUtBSUVRY0FBY2pZQ0JDQURJQVpCRm5SeVFZQUJjaUVEQ3dKQUlBTkJnSWlBd0FCeERRQWdBU0FTSUFRb0Ftd2dBMEVHZGlJS1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnRXhzTFJRMEFJQUVnRWlBSUtBSUVRUmQyUVFSeElBaEJCR3NpRENnQ0FFRVpka0VCY1NBRFFSSjJRUkJ4SUFOQkZuWkJ3QUJ4SUFwQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFrUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUF3Z0RDZ0NBRUdBRUhJMkFnQWdDQ0FJS0FJRVFZQUVjallDQkNBRElBWkJHWFJ5UVlBSWNpRURDeUFEUVlEQWdJQUVjUTBESUFFZ0VpQUVLQUpzSUFOQkNYWWlDa0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ0VvQWdBaUJtc2hCd0ovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0IwR0FnQUp4QkVBZ0FTZ0NCQXdDQ3lBQktBSUVJUXdnQ1NBQlFReEJDQ0FHSUFkTEloTWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUZJQVl0QUFFaEFTQUdMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUhRUUYwSWdkQmdJQUNTUTBBQ3lBTVJTQU1JQk1iREFFTElBRW9BZ1FoRENBSklBRkJDRUVNSUFZZ0Iwc2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhCeUFNSUF4RklCTWJDMFVFUUNBSElRRU1CQXNnQnlBU0lBZ29BZ1JCR25aQkJIRWdDRUVFYXlJTUtBSUFRUngyUVFGeElBTkJGWFpCRUhFZ0EwRVpka0hBQUhFZ0NrR3FBWEZ5Y25KeUloTkIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUtLQUlBSWdGcklRWWdBU0FDUVJCMlRRUkFJQUlnQVVFUWRHc2hBaUFHUVlDQUFuRUVRQ0FHSVFFTUF3c2dDaWdDQkNFSElBa2dDa0VNUVFnZ0FTQUdTeUljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUUVnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFkRklBY2dIQnNNQXdzZ0NpZ0NCQ0VISUFrZ0NrRUlRUXdnQVNBR1N5SWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRWWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFaQkNIUWdBbW9oQWd3QkN5QUdRWThCVFFSQUlBUWdDallDRUNBR1FRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0J5QUhSU0FjR3d3Q0N5QUJJQTBvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QU5JQVpCREVFSUlBRWdBMGtpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0RCc01BUXNnQmlnQ0JDRUhJQTBnQmtFSVFRd2dBU0FEU1NJTUcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBY2dCMFVnREJzTFJRUkFJQTBoQ1F3RUN5QUJJQkFvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QVFJQVpCREVFSUlBRWdBMGtpREJ0cUtBSUFJZ1kyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2xCQVdvaEJTQUpMUUFCSVFNZ0NTMEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQjBVZ0J5QU1Hd3dCQ3lBR0tBSUVJUWNnRUNBR1FRaEJEQ0FCSUFOSklnd2JhaWdDQUNJR05nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSlFRRnFJUVVnQ1MwQUFTRUJJQWt0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FISUFkRklBd2JDeUVNSUFFZ0JpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QVFJQVpCREVFSUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0Noc01BUXNnQmlnQ0JDRUhJQkFnQmtFSVFRd2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBY2dCMFVnQ2hzTElRWkJBQ0VESUJBaENRSkFBa0FDUUFKL0FrQUNRQ0FHSUF4QkFYUnlEZ1FBQVFNRkNBc2dBU0FTSUFnb0FnUkJFWFpCQkhFZ0NFRUVheUlIS0FJQVFSTjJRUUZ4Y2lJS1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaERDQUpJQVpCREVFSUlBRWdBMGtpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQmlnQ0JDRU1JQWtnQmtFSVFRd2dBU0FEU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBd2dERVVnRXhzTElRTWdDeUFWSUE0Z0F5QUtRZEM3QVdvdEFBQnpJZ01iTmdJQUlBY2dCeWdDQUVFZ2NqWUNBQ0FJSUFnb0FnUkJDSEkyQWdRZ0EwRVRkQ0ZaSUFFZ0VpQUVLQUpzTFFBQ1FRSjBhaUlIS0FJQUlnWW9BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrMEVRQ0FDSUFOQkVIUnJJUUlnQVVHQWdBSnhCRUFnQmlnQ0JBd0NDeUFHS0FJRUlRa2dCeUFHUVF4QkNDQUJJQU5KSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFSElBWXRBQUVoQXlBR0xRQUFRZjhCUndSQUlBUWdCellDRUVFSUlRVWdBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBSE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFKUlNBSklBb2JEQUVMSUFZb0FnUWhDU0FISUFaQkNFRU1JQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRY2dCaTBBQVNFQklBWXRBQUJCL3dGSEJFQWdCQ0FITmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBYzJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUpJQWxGSUFvYkN5RUdJRmxCRUhJaUF5QUdSUTBCR2dzZ0FTQVNJQWdvQWdSQkZIWkJCSEVnQ0VFRWF5SUpLQUlBUVJaMlFRRnhJQU5CRDNaQkVIRWdBMEVUZGtIQUFIRWdBMEVEZGtHcUFYRnljbkp5SWhOQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJSEtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTkJFQWdBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NRUkFJQWNvQWdRTUFnc2dCeWdDQkNFS0lBd2dCMEVNUVFnZ0FTQUdTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUVlnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBWkJDSFFnQW1vaEFnd0JDeUFHUVk4QlRRUkFJQVFnQlRZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDa1VnQ2lBTUd3d0JDeUFIS0FJRUlRb2dEQ0FIUVFoQkRDQUJJQVpKSWd3YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0NpQUtSU0FNR3dzaEJpQUxJQlJCQW5ScUlCVWdEaUFHSUJOQjBMc0JhaTBBQUhNaUJoczJBZ0FnQ1NBSktBSUFRWUFDY2pZQ0FDQUlJQWdvQWdSQndBQnlOZ0lFSUFNZ0JrRVdkSEpCZ0FGeUN5RURJQUVnRWlBRUtBSnNJQU5CQm5aQjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTkJFQWdBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NRUkFJQWNvQWdRTUFnc2dCeWdDQkNFTUlBa2dCMEVNUVFnZ0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUVlnQnkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBWkJDSFFnQW1vaEFnd0JDeUFHUVk4QlRRUkFJQVFnQ1RZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dERVVnRENBS0d3d0JDeUFIS0FJRUlRd2dDU0FIUVFoQkRDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFSklBY3RBQUVoQVNBSExRQUFRZjhCUndSQUlBUWdDVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBSk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0RDQU1SU0FLR3d0RkRRRUxJQUVnRWlBSUtBSUVRUmQyUVFSeElBaEJCR3NpQ1NnQ0FFRVpka0VCY1NBRFFSSjJRUkJ4SUFOQkZuWkJ3QUJ4SUFOQkJuWkJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFNSUFkQkRFRUlJQUVnQmtraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEQnNNQVFzZ0J5Z0NCQ0VLSUF3Z0IwRUlRUXdnQVNBR1NTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0RCc0xJUVlnQ3lBa1FRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBa2dDU2dDQUVHQUVISTJBZ0FnQ0NBSUtBSUVRWUFFY2pZQ0JDQURJQVpCR1hSeVFZQUljaUVEQ3lBQklCSWdCQ2dDYkNBRFFRbDJRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dDaHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0Noc0xSUTBEQ3lBQklCSWdDQ2dDQkVFYWRrRUVjU0FJUVFScklnd29BZ0JCSEhaQkFYRWdBMEVWZGtFUWNTQURRUmwyUWNBQWNTQURRUWwyUWFvQmNYSnljbklpRTBIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdvb0FnQWlCbXNoQVNBR0lBSkJFSFpOQkVBZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1EwQklBb29BZ1FoQnlBSklBcEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRlFRRnFJUW9nQlMwQUFTRUdJQVV0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQW8yQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnSEJzTUFnc2dDaWdDQkNFSElBa2dDa0VJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUUVnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFjZ0IwVWdIQnNNQVFzZ0NpZ0NCQXNoQmlBTElCdEJBblJxSUJVZ0RpQUdJQk5CMExzQmFpMEFBSE1pQnhzMkFnQWdEQ0FNS0FJQVFZQ0FBWEkyQWdBZ0NDQUlLQUlFUVlBZ2NqWUNCQ0FFS0FKOFFRSjBJQWhxSWdZZ0JpZ0NCRUVFY2pZQ0JDQUdJQVlvQWd4QkFYSTJBZ3dnQmlBR0tBSUlJQWRCRW5SeVFRSnlOZ0lJSUFNZ0IwRWNkSEpCZ01BQWNpRURDeUFJSUFOQi8vLy90bnR4TmdJQUN5QUlRUVJxSVFNZ0MwRUVhaUVMSUJoQkFXb2lHQ0FVUncwQUN5QUlRUXhxSVFNZ0N5QWJRUUowYWlFTElCRkJCR29pRVNBRUtBS0FBU0lHUVh4eFNRMEFDd3dDQ3dKQUlBWkJCRWtOQUNBVUJFQWdCRUhrQUdvaEVDQUVRZUFBYWlFTklCUkJBMndoR3lBVVFRRjBJU1JCQUNBT2F5RVZJQVJCSEdvaEVnTkFRUUFoR0FOQUFrQUNRQUovQWtBZ0F5SUlLQUlBSWdNRVFBSkFJQU5Ca0lDQUFYRU5BQ0FCSUJJZ0JDZ0NiQ0FEUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnQ2hzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdDaHNMUlEwQUlBRWdFaUFJS0FJRVFSRjJRUVJ4SUFoQkJHc2lEQ2dDQUVFVGRrRUJjU0FEUVE1MlFSQnhJQU5CRUhaQndBQnhJQU5CcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QVZJQTRnQmlBVFFkQzdBV290QUFCeklnY2JOZ0lBSUF3Z0RDZ0NBRUVnY2pZQ0FDQUlJQWdvQWdSQkNISTJBZ1FnQ0VGK0lBUW9BbnhyUVFKMGFpSUdJQVlvQWdSQmdJQUNjallDQkNBR0lBWW9BZ0FnQjBFZmRISkJnSUFFY2pZQ0FDQUdRUVJySWdZZ0JpZ0NBRUdBZ0FoeU5nSUFJQU1nQjBFVGRISkJFSEloQXdzQ1FDQURRWUNCZ0FoeERRQWdBU0FTSUFRb0Ftd2dBMEVEZGlJS1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnRXhzTFJRMEFJQUVnRWlBSUtBSUVRUlIyUVFSeElBaEJCR3NpRENnQ0FFRVdka0VCY1NBRFFROTJRUkJ4SUFOQkUzWkJ3QUJ4SUFwQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFVUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUF3Z0RDZ0NBRUdBQW5JMkFnQWdDQ0FJS0FJRVFjQUFjallDQkNBRElBWkJGblJ5UVlBQmNpRURDd0pBSUFOQmdJaUF3QUJ4RFFBZ0FTQVNJQVFvQW13Z0EwRUdkaUlLUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdFeHNMUlEwQUlBRWdFaUFJS0FJRVFSZDJRUVJ4SUFoQkJHc2lEQ2dDQUVFWmRrRUJjU0FEUVJKMlFSQnhJQU5CRm5aQndBQnhJQXBCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QWtRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQXdnRENnQ0FFR0FFSEkyQWdBZ0NDQUlLQUlFUVlBRWNqWUNCQ0FESUFaQkdYUnlRWUFJY2lFREN5QURRWURBZ0lBRWNRMERJQUVnRWlBRUtBSnNJQU5CQ1hZaUNrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnRW9BZ0FpQm1zaEJ3Si9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQjBHQWdBSnhCRUFnQVNnQ0JBd0NDeUFCS0FJRUlRd2dDU0FCUVF4QkNDQUdJQWRMSWhNYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFRklBWXRBQUVoQVNBR0xRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBSFFRRjBJZ2RCZ0lBQ1NRMEFDeUFNUlNBTUlCTWJEQUVMSUFFb0FnUWhEQ0FKSUFGQkNFRU1JQVlnQjBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEJ5QU1JQXhGSUJNYkMwVUVRQ0FISVFFTUJBc2dCeUFTSUFnb0FnUkJHblpCQkhFZ0NFRUVheUlNS0FJQVFSeDJRUUZ4SUFOQkZYWkJFSEVnQTBFWmRrSEFBSEVnQ2tHcUFYRnljbkp5SWhOQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJS0tBSUFJZ0ZySVFZZ0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQUdRWUNBQW5FRVFDQUdJUUVNQXdzZ0NpZ0NCQ0VISUFrZ0NrRU1RUWdnQVNBR1N5SWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRRWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWRGSUFjZ0hCc01Bd3NnQ2lnQ0JDRUhJQWtnQ2tFSVFRd2dBU0FHU3lJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1ZCQVdvaENpQUZMUUFCSVFZZ0JTMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUZJQVpCQ0hRZ0Ftb2hBZ3dCQ3lBR1FZOEJUUVJBSUFRZ0NqWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQnlBSFJTQWNHd3dDQ3lBQklBMG9BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBTklBWkJERUVJSUFFZ0Ewa2lEQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnREJzTUFRc2dCaWdDQkNFSElBMGdCa0VJUVF3Z0FTQURTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFjZ0IwVWdEQnNMUlFSQUlBMGhDUXdFQ3lBQklCQW9BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBUUlBWkJERUVJSUFFZ0Ewa2lEQnRxS0FJQUlnWTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnbEJBV29oQlNBSkxRQUJJUU1nQ1MwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCMFVnQnlBTUd3d0JDeUFHS0FJRUlRY2dFQ0FHUVFoQkRDQUJJQU5KSWd3YmFpZ0NBQ0lHTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lKUVFGcUlRVWdDUzBBQVNFQklBa3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUhJQWRGSUF3YkN5RU1JQUVnQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBUUlBWkJERUVJSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnQ2hzTUFRc2dCaWdDQkNFSElCQWdCa0VJUVF3Z0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFjZ0IwVWdDaHNMSVFaQkFDRURJQkFoQ1FKQUFrQUNRQUovQWtBQ1FDQUdJQXhCQVhSeURnUUFBUU1GQ0FzZ0FTQVNJQWdvQWdSQkVYWkJCSEVnQ0VFRWF5SUhLQUlBUVJOMlFRRnhjaUlLUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoRENBSklBWkJERUVJSUFFZ0Ewa2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCaWdDQkNFTUlBa2dCa0VJUVF3Z0FTQURTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUF3Z0RFVWdFeHNMSVFNZ0N5QVZJQTRnQXlBS1FkQzdBV290QUFCeklnWWJOZ0lBSUFjZ0J5Z0NBRUVnY2pZQ0FDQUlJQWdvQWdSQkNISTJBZ1FnQ0VGK0lBUW9BbnhyUVFKMGFpSURJQU1vQWdSQmdJQUNjallDQkNBRElBTW9BZ0FnQmtFZmRISkJnSUFFY2pZQ0FDQURRUVJySWdNZ0F5Z0NBRUdBZ0FoeU5nSUFJQVpCRTNRaFdpQUJJQklnQkNnQ2JDMEFBa0VDZEdvaUJ5Z0NBQ0lHS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpOQkVBZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1FSQUlBWW9BZ1FNQWdzZ0JpZ0NCQ0VKSUFjZ0JrRU1RUWdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hCeUFHTFFBQklRTWdCaTBBQUVIL0FVY0VRQ0FFSUFjMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdCellDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NVVWdDU0FLR3d3QkN5QUdLQUlFSVFrZ0J5QUdRUWhCRENBQklBTkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVISUFZdEFBRWhBU0FHTFFBQVFmOEJSd1JBSUFRZ0J6WUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FITmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnQ1NBSlJTQUtHd3NoQmlCYVFSQnlJZ01nQmtVTkFSb0xJQUVnRWlBSUtBSUVRUlIyUVFSeElBaEJCR3NpQ1NnQ0FFRVdka0VCY1NBRFFROTJRUkJ4SUFOQkUzWkJ3QUJ4SUFOQkEzWkJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFNSUFkQkRFRUlJQUVnQmtraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEQnNNQVFzZ0J5Z0NCQ0VLSUF3Z0IwRUlRUXdnQVNBR1NTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0RCc0xJUVlnQ3lBVVFRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBa2dDU2dDQUVHQUFuSTJBZ0FnQ0NBSUtBSUVRY0FBY2pZQ0JDQURJQVpCRm5SeVFZQUJjZ3NoQXlBQklCSWdCQ2dDYkNBRFFRWjJRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRa2dCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBazJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dDaHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0Noc0xSUTBCQ3lBQklCSWdDQ2dDQkVFWGRrRUVjU0FJUVFScklna29BZ0JCR1haQkFYRWdBMEVTZGtFUWNTQURRUloyUWNBQWNTQURRUVoyUWFvQmNYSnljbklpRTBIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVFvZ0RDQUhRUXhCQ0NBQklBWkpJZ3diYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUF3YkRBRUxJQWNvQWdRaENpQU1JQWRCQ0VFTUlBRWdCa2tpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBS0lBcEZJQXdiQ3lFR0lBc2dKRUVDZEdvZ0ZTQU9JQVlnRTBIUXV3RnFMUUFBY3lJR0d6WUNBQ0FKSUFrb0FnQkJnQkJ5TmdJQUlBZ2dDQ2dDQkVHQUJISTJBZ1FnQXlBR1FSbDBja0dBQ0hJaEF3c2dBU0FTSUFRb0Ftd2dBMEVKZGtIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVF3Z0NTQUhRUXhCQ0NBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QU1SU0FNSUFvYkRBRUxJQWNvQWdRaERDQUpJQWRCQ0VFTUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBTUlBeEZJQW9iQzBVTkF3c2dBU0FTSUFnb0FnUkJHblpCQkhFZ0NFRUVheUlNS0FJQVFSeDJRUUZ4SUFOQkZYWkJFSEVnQTBFWmRrSEFBSEVnQTBFSmRrR3FBWEZ5Y25KeUloTkIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUtLQUlBSWdacklRRWdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRU5BU0FLS0FJRUlRY2dDU0FLUVF4QkNDQUJJQVpKSWh3YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCVUVCYWlFS0lBVXRBQUVoQmlBRkxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRVWdCa0VJZENBQ2FpRUNEQUVMSUFaQmp3Rk5CRUFnQkNBS05nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFIUlNBSElCd2JEQUlMSUFvb0FnUWhCeUFKSUFwQkNFRU1JQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lGUVFGcUlRb2dCUzBBQVNFQklBVXRBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBbzJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQUhJQWRGSUJ3YkRBRUxJQW9vQWdRTElRWWdDeUFiUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnY2JOZ0lBSUF3Z0RDZ0NBRUdBZ0FGeU5nSUFJQWdnQ0NnQ0JFR0FJSEkyQWdRZ0JDZ0NmRUVDZENBSWFpSUdJQVlvQWdSQkJISTJBZ1FnQmlBR0tBSU1RUUZ5TmdJTUlBWWdCaWdDQ0NBSFFSSjBja0VDY2pZQ0NDQURJQWRCSEhSeVFZREFBSEloQXdzZ0NDQURRZi8vLzdaN2NUWUNBQXNnQ0VFRWFpRURJQXRCQkdvaEN5QVlRUUZxSWhnZ0ZFY05BQXNnQ0VFTWFpRURJQXNnRzBFQ2RHb2hDeUFSUVFScUloRWdCQ2dDZ0FFaUJrRjhjVWtOQUFzTUFRdEJCQ0FHUVh4eElnTWdBMEVFVFJ0QkFXc2lBMEY4Y1VFRWFpRVJJQWNnQTBFQmRFRjRjV3BCRkdvaEF3c2dCQ0FGTmdJSUlBUWdBVFlDQkNBRUlBSTJBZ0FnQkNBSk5nSm9JQlJGRFFRZ0JpQVJUUTBFQTBCQkFDRUZJQkVnQkNnQ2dBRkhCRUFEUUNBRUlBTWdDeUFGSUJSc1FRSjBhaUFPSUFWQkFCQllJQVZCQVdvaUJTQUVLQUtBQVNBUmEwa05BQXNMSUFNZ0F5Z0NBRUgvLy8rMmUzRTJBZ0FnQzBFRWFpRUxJQU5CQkdvaEF5QVhRUUZxSWhjZ0ZFY05BQXNNQkF0QkJDQUdRWHh4SWdNZ0EwRUVUUnRCQVdzaUEwRjhjVUVFYWlFUklBY2dBMEVCZEVGNGNXcEJGR29oQXdzZ0JDQUZOZ0lJSUFRZ0FUWUNCQ0FFSUFJMkFnQWdCQ0FKTmdKb0lCUkZEUUlnQmlBUlRRMENBMEJCQUNFRklCRWdCQ2dDZ0FGSEJFQURRQ0FFSUFNZ0N5QUZJQlJzUVFKMGFpQU9JQVZCQVJCWUlBVkJBV29pQlNBRUtBS0FBU0FSYTBrTkFBc0xJQU1nQXlnQ0FFSC8vLysyZTNFMkFnQWdDMEVFYWlFTElBTkJCR29oQXlBWFFRRnFJaGNnRkVjTkFBc01BZ3NEUUVFQUlRd0RRQ0FESVJFQ1FBSkFBbjhDUUFKQUlBWWlEU2dDQUNJR1JRUkFJQUVnRUNnQ0FDSURLQUlBSWdacklRRUNmeUFHSUFKQkVIWkxCRUFnQXlnQ0JDRUhJQkFnQTBFSVFRd2dBU0FHU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ05CQVdvaENTQURMUUFCSVFFZ0F5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FKTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUpOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBY2dCMFVnQ2hzTUFRc2dBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FES0FJRUlRY2dFQ0FEUVF4QkNDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFSklBWXRBQUVoQXlBR0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFIUlNBSElBb2JEQUVMSUFNb0FnUUxSUVJBSUJBaENRd0dDeUFCSUFnb0FnQWlBeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJTd1JBSUFNb0FnUWhCeUFJSUFOQkNFRU1JQUVnQmtraUNodHFLQUlBSWdNMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdsQkFXb2hCU0FKTFFBQklRRWdDUzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWNnQjBVZ0Noc01BUXNnQWlBR1FSQjBheUVDSUFGQmdJQUNjVVVFUUNBREtBSUVJUWNnQ0NBRFFReEJDQ0FCSUFaSklnb2JhaWdDQUNJRE5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSlFRRnFJUVVnQ1MwQUFTRUdJQWt0QUFCQi93RkdCRUFnQmtHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnQ2hzTUFRc2dBeWdDQkFzaENpQUJJQU1vQWdBaUJtc2hBUUovSUFZZ0FrRVFka3NFUUNBREtBSUVJUWNnQ0NBRFFRaEJEQ0FCSUFaSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUpJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdCeUFIUlNBT0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhCeUFJSUFOQkRFRUlJQUVnQmtraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dEaHNNQVFzZ0F5Z0NCQXNoQTBFQUlRWWdDQ0VKQWtBQ1FBSkFBbjhDUUFKQUlBTWdDa0VCZEhJT0JBQUJBd1VLQ3lBQklBc2dEU2dDQkVFUmRrRUVjU0FOUVFScklnY29BZ0JCRTNaQkFYRnlJZzVCMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lES0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpMQkVBZ0F5Z0NCQ0VLSUFrZ0EwRUlRUXdnQVNBR1NTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdOQkFXb2hDU0FETFFBQklRRWdBeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FKTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0Voc01BUXNnQWlBR1FSQjBheUVDSUFGQmdJQUNjVVVFUUNBREtBSUVJUW9nQ1NBRFFReEJDQ0FCSUFaSkloSWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUpJQVl0QUFFaEF5QUdMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQkliREFFTElBTW9BZ1FMSVFNZ0VTQVRJQlFnQXlBT1FkQzdBV290QUFCeklnTWJOZ0lBSUFjZ0J5Z0NBRUVnY2pZQ0FDQU5JQTBvQWdSQkNISTJBZ1FnQTBFVGRDRmJJQUVnQ3lBRUtBSnNMUUFDUVFKMGFpSUhLQUlBSWdNb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGtzRVFDQURLQUlFSVFrZ0J5QURRUWhCRENBQklBWkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVISUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBYzJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFjMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQ1NBSlJTQU9Hd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQ1NBSElBTkJERUVJSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWNnQmkwQUFTRURJQVl0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0J6WUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQnpZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBbEZJQWtnRGhzTUFRc2dBeWdDQkFzaEF5QmJRUkJ5SWdZZ0EwVU5BUm9MSUFFZ0N5QU5LQUlFUVJSMlFRUnhJQTFCQkdzaUNTZ0NBRUVXZGtFQmNTQUdRUTkyUVJCeElBWkJFM1pCd0FCeElBWkJBM1pCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlnb29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBS0lBZEJDRUVNSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklBb2JEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFvZ0IwRU1RUWdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFLR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDZ0FJZ0NTQUpLQUlBUVlBQ2NqWUNBQ0FOSUEwb0FnUkJ3QUJ5TmdJRUlBWWdBMEVXZEhKQmdBRnlDeUVHSUFFZ0N5QUVLQUpzSUFaQkJuWkI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FKTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUpOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRGhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFSklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lBNGJEQUVMSUFjb0FnUUxSUTBCQ3lBQklBc2dEU2dDQkVFWGRrRUVjU0FOUVFScklna29BZ0JCR1haQkFYRWdCa0VTZGtFUWNTQUdRUloyUWNBQWNTQUdRUVoyUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSUtLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVE0Z0NpQUhRUWhCRENBQklBTkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnRGlBT1JTQUtHd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoRGlBS0lBZEJERUVJSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBNUZJQTRnQ2hzTUFRc2dCeWdDQkFzaEF5QVJJQk1nRkNBRElCSkIwTHNCYWkwQUFITWlBeHMyQW9BRUlBa2dDU2dDQUVHQUVISTJBZ0FnRFNBTktBSUVRWUFFY2pZQ0JDQUdJQU5CR1hSeVFZQUljaUVHQ3lBQklBc2dCQ2dDYkNBR1FRbDJRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhDaUFKSUFkQkNFRU1JQUVnQTBraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUtJQXBGSUE0YkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRUtJQWtnQjBFTVFRZ2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ2tVZ0NpQU9Hd3dCQ3lBSEtBSUVDMFVOQlFzZ0FTQUxJQTBvQWdSQkduWkJCSEVnRFVFRWF5SU9LQUlBUVJ4MlFRRnhJQVpCRlhaQkVIRWdCa0VaZGtIQUFIRWdCa0VKZGtHcUFYRnljbkp5SWdwQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFZ0F5QUNRUkIyU3dSQUlBY29BZ1FoRWlBSklBZEJDRUVNSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FTSUJKRklCVWJEQVFMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVOQVNBSEtBSUVJUklnQ1NBSFFReEJDQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBU1JTQVNJQlViREFNTEFrQWdCa0dRZ0lBQmNRMEFJQUVnQ3lBRUtBSnNJQVpCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBRFNTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQW9nQ2tVZ0Roc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQTRiREFFTElBY29BZ1FMUlEwQUlBRWdDeUFOS0FJRVFSRjJRUVJ4SUExQkJHc2lDaWdDQUVFVGRrRUJjU0FHUVE1MlFSQnhJQVpCRUhaQndBQnhJQVpCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBSklBZEJDRUVNSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklCVWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFrZ0IwRU1RUWdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFWR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDQUNBS0lBb29BZ0JCSUhJMkFnQWdEU0FOS0FJRVFRaHlOZ0lFSUFZZ0EwRVRkSEpCRUhJaEJnc0NRQ0FHUVlDQmdBaHhEUUFnQVNBTElBUW9BbXdnQmtFRGRpSU9RZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhDaUFKSUFkQkNFRU1JQUVnQTBraUVodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUtJQXBGSUJJYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRUtJQWtnQjBFTVFRZ2dBU0FEU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ2tVZ0NpQVNHd3dCQ3lBSEtBSUVDMFVOQUNBQklBc2dEU2dDQkVFVWRrRUVjU0FOUVFScklnb29BZ0JCRm5aQkFYRWdCa0VQZGtFUWNTQUdRUk4yUWNBQWNTQU9RYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUTRnQ1NBSFFRaEJEQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdEaUFPUlNBVkd3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhEaUFKSUFkQkRFRUlJQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUE1RklBNGdGUnNNQVFzZ0J5Z0NCQXNoQXlBUklCTWdGQ0FESUJKQjBMc0JhaTBBQUhNaUF4czJBb0FDSUFvZ0NpZ0NBRUdBQW5JMkFnQWdEU0FOS0FJRVFjQUFjallDQkNBR0lBTkJGblJ5UVlBQmNpRUdDd0pBSUFaQmdJaUF3QUJ4RFFBZ0FTQUxJQVFvQW13Z0JrRUdkaUlPUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoQ2lBSklBZEJDRUVNSUFFZ0Ewa2lFaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FLSUFwRklCSWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VLSUFrZ0IwRU1RUWdnQVNBRFNTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NrVWdDaUFTR3d3QkN5QUhLQUlFQzBVTkFDQUJJQXNnRFNnQ0JFRVhka0VFY1NBTlFRUnJJZ29vQWdCQkdYWkJBWEVnQmtFU2RrRVFjU0FHUVJaMlFjQUFjU0FPUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVE0Z0NTQUhRUWhCRENBQklBTkpJaFViYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnRGlBT1JTQVZHd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoRGlBSklBZEJERUVJSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBNUZJQTRnRlJzTUFRc2dCeWdDQkFzaEF5QVJJQk1nRkNBRElCSkIwTHNCYWkwQUFITWlBeHMyQW9BRUlBb2dDaWdDQUVHQUVISTJBZ0FnRFNBTktBSUVRWUFFY2pZQ0JDQUdJQU5CR1hSeVFZQUljaUVHQ3lBR1FZREFnSUFFY1EwRElBRWdDeUFFS0FKc0lBWkJDWFlpRWtIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdFb0FnQWlBMnNoQndKL0lBTWdBa0VRZGtzRVFDQUJLQUlFSVFvZ0NTQUJRUWhCRENBRElBZExJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUWNnQ2lBS1JTQU9Hd3dCQ3lBQ0lBTkJFSFJySVFJZ0IwR0FnQUp4UlFSQUlBRW9BZ1FoQ2lBSklBRkJERUVJSUFNZ0Iwc2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRFFRRnFJUVVnQXkwQUFTRUJJQU10QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQWRCQVhRaUIwR0FnQUpKRFFBTElBcEZJQW9nRGhzTUFRc2dBU2dDQkF0RkJFQWdCeUVCREFRTElBY2dDeUFOS0FJRVFScDJRUVJ4SUExQkJHc2lEaWdDQUVFY2RrRUJjU0FHUVJWMlFSQnhJQVpCR1haQndBQnhJQkpCcWdGeGNuSnljaUlLUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUJheUVESUFFZ0FrRVFka3NFUUNBSEtBSUVJUklnQ1NBSFFRaEJEQ0FCSUFOTEloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBU0lCSkZJQlViREFNTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkRRRWdBeUVCQ3lBSEtBSUVEQUVMSUFjb0FnUWhFaUFKSUFkQkRFRUlJQUVnQTBzaUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQVNSU0FTSUJVYkN5RURJQkVnRXlBVUlBTWdDa0hRdXdGcUxRQUFjeUlER3pZQ2dBWWdEaUFPS0FJQVFZQ0FBWEkyQWdBZ0RTQU5LQUlFUVlBZ2NqWUNCQ0FOSUEwb0FvUUNRUVJ5TmdLRUFpQU5JQTBvQW93Q1FRRnlOZ0tNQWlBTklBMG9Bb2dDSUFOQkVuUnlRUUp5TmdLSUFpQUdJQU5CSEhSeVFZREFBSEloQmdzZ0RTQUdRZi8vLzdaN2NUWUNBQXNnRFVFRWFpRUdJQkZCQkdvaEF5QU1RUUZxSWd4QndBQkhEUUFMSUExQkRHb2hCaUFSUVlRR2FpRURJQmRCUEVraFhDQVhRUVJxSVJjZ1hBMEFDd3NnQkNBRk5nSUlJQVFnQVRZQ0JDQUVJQUkyQWdBZ0JDQUpOZ0pvQ3dKQUlCWkJJSEZGRFFBZ0JDQUVRZVFBYWpZQ2FDQUVJQVFvQWdRZ0JDZ0NaQ0lHS0FJQUlnRnJJZ0kyQWdRQ1FDQUJJQVFvQWdBaUJVRVFka3NFUUNBRUlBRTJBZ1FnQkNBR1FRaEJEQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFJRFFBSkFJQUlOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFJTUFnc2dCQ0FKTmdJUUlBTkJDWFFnQldvaEJVRUhJUUlNQVFzZ0JDQUpOZ0lRUVFnaEFpQURRUWgwSUFWcUlRVUxJQVFnQWtFQmF5SUNOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBVUVCZENJQk5nSUVJQUZCZ0lBQ1NRMEFDeUFCSVFJTUFRc2dCQ0FGSUFGQkVIUnJJZ1UyQWdBZ0FrR0FnQUp4RFFBZ0JDQUdRUXhCQ0NBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRRURRQUpBSUFFTkFDQUVLQUlRSWdGQkFXb2hCeUFCTFFBQklRTWdBUzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRRU1BZ3NnQkNBSE5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFFTUFRc2dCQ0FITmdJUVFRZ2hBU0FEUVFoMElBVnFJUVVMSUFRZ0FVRUJheUlCTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQWtFQmRDSUNOZ0lFSUFKQmdJQUNTUTBBQ3dzZ0JDQUNJQVlvQWdBaUFXc2lBallDQkFKQUlBRWdCVUVRZGtzRVFDQUVJQUUyQWdRZ0JDQUdRUWhCRENBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRSU1BZ3NnQkNBSk5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFJTUFRc2dCQ0FKTmdJUVFRZ2hBaUFEUVFoMElBVnFJUVVMSUFRZ0FrRUJheUlDTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQVVFQmRDSUJOZ0lFSUFGQmdJQUNTUTBBQ3lBQklRSU1BUXNnQkNBRklBRkJFSFJySWdVMkFnQWdBa0dBZ0FKeERRQWdCQ0FHUVF4QkNDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUVEUUFKQUlBRU5BQ0FFS0FJUUlnRkJBV29oQnlBQkxRQUJJUU1nQVMwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUVNQWdzZ0JDQUhOZ0lRSUFOQkNYUWdCV29oQlVFSElRRU1BUXNnQkNBSE5nSVFRUWdoQVNBRFFRaDBJQVZxSVFVTElBUWdBVUVCYXlJQk5nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FrRUJkQ0lDTmdJRUlBSkJnSUFDU1EwQUN3c2dCQ0FDSUFZb0FnQWlBV3NpQWpZQ0JBSkFJQUVnQlVFUWRrc0VRQ0FFSUFFMkFnUWdCQ0FHUVFoQkRDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUlNQWdzZ0JDQUpOZ0lRSUFOQkNYUWdCV29oQlVFSElRSU1BUXNnQkNBSk5nSVFRUWdoQWlBRFFRaDBJQVZxSVFVTElBUWdBa0VCYXlJQ05nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FVRUJkQ0lCTmdJRUlBRkJnSUFDU1EwQUN5QUJJUUlNQVFzZ0JDQUZJQUZCRUhScklnVTJBZ0FnQWtHQWdBSnhEUUFnQkNBR1FReEJDQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFFRFFBSkFJQUVOQUNBRUtBSVFJZ0ZCQVdvaEJ5QUJMUUFCSVFNZ0FTMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFFTUFnc2dCQ0FITmdJUUlBTkJDWFFnQldvaEJVRUhJUUVNQVFzZ0JDQUhOZ0lRUVFnaEFTQURRUWgwSUFWcUlRVUxJQVFnQVVFQmF5SUJOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBa0VCZENJQ05nSUVJQUpCZ0lBQ1NRMEFDd3NnQkNBQ0lBWW9BZ0FpQVdzaUFqWUNCQ0FCSUFWQkVIWkxCRUFnQkNBQk5nSUVJQVFnQmtFSVFRd2dBU0FDU3h0cUtBSUFOZ0prSUFRb0FnZ2hBZ05BQWtBZ0FnMEFJQVFvQWhBaUJrRUJhaUVISUFZdEFBRWhBeUFHTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBVkJnUDREYWlFRlFRZ2hBZ3dDQ3lBRUlBYzJBaEFnQTBFSmRDQUZhaUVGUVFjaEFnd0JDeUFFSUFjMkFoQkJDQ0VDSUFOQkNIUWdCV29oQlFzZ0JDQUNRUUZySWdJMkFnZ2dCQ0FGUVFGMElnVTJBZ0FnQkNBQlFRRjBJZ0UyQWdRZ0FVR0FnQUpKRFFBTERBRUxJQVFnQlNBQlFSQjBheUlITmdJQUlBSkJnSUFDY1EwQUlBUWdCa0VNUVFnZ0FTQUNTeHRxS0FJQU5nSmtJQVFvQWdnaEJRTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUdJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFkQmdQNERhaUVIUVFnaEJRd0NDeUFFSUFZMkFoQWdBVUVKZENBSGFpRUhRUWNoQlF3QkN5QUVJQVkyQWhCQkNDRUZJQUZCQ0hRZ0Iyb2hCd3NnQkNBRlFRRnJJZ1UyQWdnZ0JDQUhRUUYwSWdjMkFnQWdCQ0FDUVFGMElnSTJBZ1FnQWtHQWdBSkpEUUFMQ3dzZ0p3MEFJQVFRV2lBRVFiQ3BBVFlDWkNBRVFkQ2VBVFlDWUNBRVFmQ2VBVFlDSEF0QkFDQWZRUUZxSWdFZ0FVRURSaUlCR3lFZklCa2dBV3NoR1NBbVFRRnFJaVlnSUNnQ0NFOE5BU0FaUVFCS0RRQUxDeUFvSUNwcUlTZ2dCQ2dDR0NBRUx3RndPd0FBSUNsQkFXb2lLU0FhS0FJc1NRMEFDd3NDUUNBclJRMEFBa0FnQkNnQ0dDSUJJQVFvQWhBaUEwRUNha3NFUUNBaFJRMEJJQ01nQVNBRUtBSVVJZ1pyTmdJNElDTWdBeUFHYXpZQ05DQWpJQUVnQTJ0QkFtczJBakFnSFVFQ1FaRHlBQ0FqUVRCcUVBOE1BZ3NnQkNnQ0RDSUJRUU5KRFFFZ0lRUkFJQ01nQVRZQ1VDQWRRUUpCNlRVZ0kwSFFBR29RRHd3Q0N5QWpJQUUyQWtBZ0hVRUNRZWsxSUNOQlFHc1FEd3dCQ3lBaklBRWdCQ2dDRkNJR2F6WUNLQ0FqSUFNZ0JtczJBaVFnSXlBQklBTnJRUUpyTmdJZ0lCMUJBa0dROGdBZ0kwRWdhaEFQQ3lBYUtBSThSUTBBSUFRZ0xEWUNkQXNnTUNnQ0JDRUJJQm9vQWd3aFhTQWFLQUlJSURBb0FnQnJJUWdnTUNnQ0VDSUdRUUZ4QkVBZ01pZ0NIQ0EzUVpnQmJHb2lCMEdRQVdzb0FnQWdDR29nQjBHWUFXc29BZ0JySVFnTElGMGdBV3NoQXlBR1FRSnhCRUFnTWlnQ0hDQTNRWmdCYkdvaUFVR01BV3NvQWdBZ0Eyb2dBVUdVQVdzb0FnQnJJUU1MSUJvb0Fqd2lCaUVDSUFaRkJFQWdCQ2dDZENFQ0N5QUVLQUtBQVNFV0lBUW9BbndoRFFKQUlDOG9BcWdHSWdkRkRRQWdGa1VnRFVWeUlRRWdCMEVlVEFSQUlBRU5BVUVBSVJBRFFDQU5JQkJzSVFSQkFDRUJBMEFnQWlBQklBUnFRUUowYWlJUktBSUFJZ2tnQ1VFZmRTSUZjeUFGYXlJRklBZDJCRUFnRVVFQUlBVWdMeWdDcUFaMkloRnJJQkVnQ1VFQVNCczJBZ0FMSUFGQkFXb2lBU0FOUncwQUN5QVFRUUZxSWhBZ0ZrY05BQXNNQVFzZ0FRMEFJQUpCQUNBTklCWnNRUUowRUJVYUN5QUdCRUFnRFNBV2JDRUdJQzhvQWhSQkFVWUVRQ0FHUlEwRlFRQWhBU0FHUVFSUEJFQWdCa0Y4Y1NFQlFRQWhCQU5BSUFJZ0JFRUNkR29pQXlBRC9RQUNBQ0plL1JzQVFRSnQvUkVnWHYwYkFVRUNiZjBjQVNCZS9Sc0NRUUp0L1J3Q0lGNzlHd05CQW0zOUhBUDlDd0lBSUFSQkJHb2lCQ0FCUncwQUN5QUJJQVpHRFFZTEEwQWdBaUFCUVFKMGFpSURJQU1vQWdCQkFtMDJBZ0FnQVVFQmFpSUJJQVpIRFFBTERBVUxJQVpGRFFRZ01Db0NJRU1BQUFBL2xDRm1RUUFoQkFKQUlBWkJCRWtFUUNBQ0lRRU1BUXNnQWlBR1FYeHhJZ1JCQW5ScUlRRWdadjBUSVY1QkFDRURBMEFnQWlBRFFRSjBhaUlISUY0Z0IvMEFBZ0Q5K2dIOTVnSDlDd0lBSUFOQkJHb2lBeUFFUncwQUN5QUVJQVpHRFFVTEEwQWdBU0JtSUFFb0FnQ3lsRGdDQUNBQlFRUnFJUUVnQkVFQmFpSUVJQVpIRFFBTERBUUxJRFlnTldzaEVTQXZLQUlVUVFGSERRSWdGa1VOQXlBeUtBSWtJZ1lnQXlBUmJDSURRUUowYWlBSVFRSjBhaUVKSUExQmZIRWlERUVCYXlJQlFRUnhJUXNnTmlBTklEVnFhMEVDZENFYUlBRkJBblpCQVdwQi92Ly8vd2R4SVIwZ0F5QUlha0VDZENBR2FpQUNheUVLUVFBaENDQUJRUU5ISVJRRFFFRUFJUUVDUUNBTVJRMEFJQWdnRFd3aEF5QUpJQWdnRVd4QkFuUnFJUVpCQUNFSElCUUVRQU5BSUFZZ0FVRUNkR29nQWlBQklBTnFRUUowYXYwQUFnQWlYdjBiQUVFQ2JmMFJJRjc5R3dGQkFtMzlIQUVnWHYwYkFrRUNiZjBjQWlCZS9Sc0RRUUp0L1J3RC9Rc0NBQ0FHSUFGQkJISWlCRUVDZEdvZ0FpQURJQVJxUVFKMGF2MEFBZ0FpWHYwYkFFRUNiZjBSSUY3OUd3RkJBbTM5SEFFZ1h2MGJBa0VDYmYwY0FpQmUvUnNEUVFKdC9Sd0QvUXNDQUNBQlFRaHFJUUVnQjBFQ2FpSUhJQjFIRFFBTEN5QUxEUUFnQmlBQlFRSjBhaUFDSUFFZ0EycEJBblJxL1FBQ0FDSmUvUnNBUVFKdC9SRWdYdjBiQVVFQ2JmMGNBU0JlL1JzQ1FRSnQvUndDSUY3OUd3TkJBbTM5SEFQOUN3SUFJQUZCQkdvaEFRc0NRQ0FCSUExUERRQWdDQ0FOYkNFRElBa2dDQ0FSYkVFQ2RHb2hCd0pBSUEwZ0FXc2lFRUVFU1FSQUlBRWhCQXdCQ3lBS0lBZ2dHbXhxUVJCSkJFQWdBU0VFREFFTElBRWdFRUY4Y1NJRmFpRUVRUUFoQmdOQUlBY2dBU0FHYWlJaFFRSjBhaUFDSUFNZ0lXcEJBblJxL1FBQ0FDSmUvUnNBUVFKdC9SRWdYdjBiQVVFQ2JmMGNBU0JlL1JzQ1FRSnQvUndDSUY3OUd3TkJBbTM5SEFQOUN3SUFJQVpCQkdvaUJpQUZSdzBBQ3lBRklCQkdEUUVMSUFSQkFXb2hBU0FOSUFSclFRRnhCRUFnQnlBRVFRSjBhaUFDSUFNZ0JHcEJBblJxS0FJQVFRSnROZ0lBSUFFaEJBc2dBU0FOUmcwQUEwQWdCeUFFUVFKMGFpQUNJQU1nQkdwQkFuUnFLQUlBUVFKdE5nSUFJQWNnQkVFQmFpSUJRUUowYWlBQ0lBRWdBMnBCQW5ScUtBSUFRUUp0TmdJQUlBUkJBbW9pQkNBTlJ3MEFDd3NnQ0VFQmFpSUlJQlpIRFFBTERBTUxJQ01nR1RZQ0FDQWRRUUpCMWNFQUlDTVFEd3NnRUNnQ0FFRUFOZ0lBREFFTElCWkZEUUFnRFVVTkFDQXlLQUlrSUFNZ0VXeEJBblJxSUFoQkFuUnFJUWNnRFVGOGNTSURRUUowSVFZZ01Db0NJRU1BQUFBL2xDSm0vUk1oWGtFQUlSQWdEVUVFU1NFSUEwQUNRQUpBSUFnRVFDQUNJUWtnQnlFQlFRQWhCQXdCQ3lBR0lBZHFJUUVnQWlBR2FpRUpRUUFoQkFOQUlBY2dCRUVDZENJRmFpQmVJQUlnQldyOUFBSUEvZm9CL2VZQi9Rc0NBQ0FFUVFScUlnUWdBMGNOQUFzZ0NTRUNJQU1pQkNBTlJnMEJDeUFKSVFJRFFDQUJJR1lnQWlnQ0FMS1VPQUlBSUFGQkJHb2hBU0FDUVFScUlRSWdCRUVCYWlJRUlBMUhEUUFMQ3lBSElCRkJBblJxSVFjZ0VFRUJhaUlRSUJaSERRQUxDeUFBRUJBZ0kwSGdBR29rQUF2V0JBRUpmeUFBS0FJc1FRaFBCRUFnQUNnQ0tDRUZRUWdoQ2dOQUlBQW9BZ3hCQlhRaENDQUFLQUlBSVFRZ0FDZ0NKQ0VEQWtBZ0FDZ0NGQ0lHSUFBb0FoQWlBVTBOQUNBRUlBaHFJUWNnQVVFQmFpRUNJQVlnQVd0QkFYRUVRQ0FISUFGQkJuUnFJZ2tnQlNBQklBTnNRUUowYWlJQi9RQUNBUDBMQWdBZ0NTQUIvUUFDRVAwTEFoQWdBaUVCQ3lBQ0lBWkdEUUFEUUNBSElBRkJCblJxSWdJZ0JTQUJJQU5zUVFKMGFpSUovUUFDQVAwTEFnQWdBaUFKL1FBQ0VQMExBaEFnQnlBQlFRRnFJZ0pCQm5ScUlna2dCU0FDSUFOc1FRSjBhaUlDL1FBQ0VQMExBaEFnQ1NBQy9RQUNBUDBMQWdBZ0FVRUNhaUlCSUFaSERRQUxDd0pBSUFBb0Fod2lCaUFBS0FJWUlnRk5EUUFnQkNBSWEwRWdhaUVISUFVZ0FDZ0NDQ0FEYkVFQ2RHb2hDQ0FCUVFGcUlRSWdCaUFCYTBFQmNRUkFJQWNnQVVFR2RHb2lCQ0FJSUFFZ0EyeEJBblJxSWdIOUFBSUEvUXNDQUNBRUlBSDlBQUlRL1FzQ0VDQUNJUUVMSUFJZ0JrWU5BQU5BSUFjZ0FVRUdkR29pQWlBSUlBRWdBMnhCQW5ScUlnVDlBQUlBL1FzQ0FDQUNJQVQ5QUFJUS9Rc0NFQ0FISUFGQkFXb2lBa0VHZEdvaUJDQUlJQUlnQTJ4QkFuUnFJZ0w5QUFJUS9Rc0NFQ0FFSUFMOUFBSUEvUXNDQUNBQlFRSnFJZ0VnQmtjTkFBc0xJQUFRSWtFQUlRRWdBQ2dDSUFSQUEwQWdCU0FBS0FJa0lBRnNRUUowYWlJQ0lBQW9BZ0FnQVVFRmRHb2lBLzBBQWdEOUN3SUFJQUlnQS8wQUFoRDlDd0lRSUFGQkFXb2lBU0FBS0FJZ1NRMEFDd3NnQlVFZ2FpRUZJQXBCQ0dvaUNpQUFLQUlzVFEwQUN3c2dBQ2dDQUJBUUlBQVFFQXYzRFFFbGZ5QUFLQUlzUVFoUEJFQWdBQ2dDSkNJS1FRVjBJUjRnQ2tFSGJDRVdJQXBCQm13aEZ5QUtRUVZzSVJnZ0NrRURiQ0VaSUFwQkFYUWhHaUFBS0FJb0lnRWdDa0VjYkdvaEh5QUJJQXBCR0d4cUlTQWdBU0FLUVJSc2FpRWhJQUVnQ2tFRWRHb2hJaUFCSUFwQkRHeHFJU01nQVNBS1FRTjBJaVJxSVNVZ0FTQUtRUUowSWh0cUlTWkJDQ0VjQTBBZ0FDQUJJQUFvQWlSQkNCQTdJQUFRSWdKQUlBQW9BaUFpQzBVTkFDQWRJQjVzSVFnZ0FDZ0NBQ0VHUVFBaEJBSkFBa0FnQzBIb0Fra05BQ0FHUVF4cUlnNGdDMEVCYXlJQ1FRVjBJZ05xSUE1SkRRQWdCa0VJYWlJUElBTnFJQTlKRFFBZ0F5QUdhaUFHU1EwQUlBWkJCR29pRUNBRGFpQVFTUTBBSUFKQi8vLy9QMHNOQUNBQklBZ2dKbW9pQXlBTFFRSjBJZ1ZxSWd4SklBTWdBU0FGYWlJSFNYRU5BQ0FCSUFnZ0pXb2lBaUFGYWlJTlNTQUNJQWRKY1EwQUlBRWdCU0FJSUNOcUlnbHFJZ1ZKSUFjZ0NVdHhEUUFnQmlBSFNTQUJJQVlnQzBFRmRHb2lFVUVjYXlJU1NYRU5BQ0FCSUJGQkdHc2lFMGtnQnlBUVMzRU5BQ0FCSUJGQkZHc2lGRWtnQnlBUFMzRU5BQ0FISUE1TElBRWdFVUVRYXlJSFNYRU5BQ0FESUExSklBSWdERWx4RFFBZ0F5QUZTU0FKSUF4SmNRMEFJQU1nRWtrZ0JpQU1TWEVOQUNBRElCTkpJQXdnRUV0eERRQWdBeUFVU1NBTUlBOUxjUTBBSUFNZ0Iwa2dEQ0FPUzNFTkFDQUNJQVZKSUFrZ0RVbHhEUUFnQWlBU1NTQUdJQTFKY1EwQUlBSWdFMGtnRFNBUVMzRU5BQ0FDSUJSSklBMGdEMHR4RFFBZ0FpQUhTU0FOSUE1TGNRMEFJQWtnRWtrZ0JTQUdTM0VOQUNBSklCTkpJQVVnRUV0eERRQWdDU0FVU1NBRklBOUxjUTBBSUFjZ0NVc2dCU0FPUzNFTkFDQUxRZnovLy84QWNTRUVRUUFoQXdOQUlBRWdBMEVDZEdvZ0JpQURRUVYwYWlJQy9Ra0NBQ0FDS2dJZy9TQUJJQUpCUUdzcUFnRDlJQUlnQWlvQ1lQMGdBLzBMQWdBZ0FTQURJQXBxUVFKMGFpQUMvUWtDQkNBQ0tnSWsvU0FCSUFJcUFrVDlJQUlnQWlvQ1pQMGdBLzBMQWdBZ0FTQURJQnBxUVFKMGFpQUMvUWtDQ0NBQ0tnSW8vU0FCSUFJcUFrajlJQUlnQWlvQ2FQMGdBLzBMQWdBZ0FTQURJQmxxUVFKMGFpQUMvUWtDRENBQ0tnSXMvU0FCSUFJcUFrejlJQUlnQWlvQ2JQMGdBLzBMQWdBZ0EwRUVhaUlESUFSSERRQUxJQVFnQzBZTkFRc0RRQ0FCSUFSQkFuUnFJQVlnQkVFRmRHb2lBeW9DQURnQ0FDQUJJQVFnQ21wQkFuUnFJQU1xQWdRNEFnQWdBU0FFSUJwcVFRSjBhaUFES2dJSU9BSUFJQUVnQkNBWmFrRUNkR29nQXlvQ0REZ0NBQ0FFUVFGcUlnUWdDMGNOQUFzTElBQW9BZ0FoQmtFQUlRUUNRQ0FMUWR3QVNRMEFJQVpCSEdvaUR5QUxRUUZySWdKQkJYUWlBMm9nRDBrTkFDQUdRUmhxSWhBZ0Eyb2dFRWtOQUNBR1FSQnFJaEVnQTJvZ0VVa05BQ0FHUVJScUloSWdBMm9nRWtrTkFDQUNRZi8vL3o5TERRQWdDQ0FpYWlJRElBZ2dJV29pQWlBTFFRSjBJZ1ZxSWd4SklBSWdBeUFGYWlJSFNYRU5BQ0FESUFnZ0lHb2lDU0FGYWlJTlNTQUhJQWxMY1EwQUlBTWdDQ0FmYWlJSUlBVnFJZ1ZKSUFjZ0NFdHhEUUFnQXlBR0lBdEJCWFJxSWc1QkRHc2lFMGtnQnlBUlMzRU5BQ0FESUE1QkNHc2lGRWtnQnlBU1MzRU5BQ0FESUE1QkJHc2lGVWtnQnlBUVMzRU5BQ0FESUE1SklBY2dEMHR4RFFBZ0FpQU5TU0FKSUF4SmNRMEFJQUlnQlVrZ0NDQU1TWEVOQUNBQ0lCTkpJQXdnRVV0eERRQWdBaUFVU1NBTUlCSkxjUTBBSUFJZ0ZVa2dEQ0FRUzNFTkFDQUNJQTVKSUF3Z0QwdHhEUUFnQ0NBTlNTQUZJQWxMY1EwQUlBa2dFMGtnRFNBUlMzRU5BQ0FKSUJSSklBMGdFa3R4RFFBZ0NTQVZTU0FOSUJCTGNRMEFJQWtnRGtrZ0RTQVBTM0VOQUNBSUlCTkpJQVVnRVV0eERRQWdDQ0FVU1NBRklCSkxjUTBBSUFnZ0ZVa2dCU0FRUzNFTkFDQUlJQTVKSUFVZ0QwdHhEUUFnQzBIOC8vLy9BSEVoQkVFQUlRTURRQ0FCSUFNZ0cycEJBblJxSUFZZ0EwRUZkR29pQXYwSkFoQWdBaW9DTVAwZ0FTQUNLZ0pRL1NBQ0lBSXFBbkQ5SUFQOUN3SUFJQUVnQXlBWWFrRUNkR29nQXYwSkFoUWdBaW9DTlAwZ0FTQUNLZ0pVL1NBQ0lBSXFBblQ5SUFQOUN3SUFJQUVnQXlBWGFrRUNkR29nQXYwSkFoZ2dBaW9DT1AwZ0FTQUNLZ0pZL1NBQ0lBSXFBbmo5SUFQOUN3SUFJQUVnQXlBV2FrRUNkR29nQXYwSkFod2dBaW9DUFAwZ0FTQUNLZ0pjL1NBQ0lBSXFBbno5SUFQOUN3SUFJQU5CQkdvaUF5QUVSdzBBQ3lBRUlBdEdEUUVMQTBBZ0FTQUVJQnRxUVFKMGFpQUdJQVJCQlhScUlnTXFBaEE0QWdBZ0FTQUVJQmhxUVFKMGFpQURLZ0lVT0FJQUlBRWdCQ0FYYWtFQ2RHb2dBeW9DR0RnQ0FDQUJJQVFnRm1wQkFuUnFJQU1xQWh3NEFnQWdCRUVCYWlJRUlBdEhEUUFMQ3lBZFFRRnFJUjBnQVNBa1FRSjBhaUVCSUJ4QkNHb2lIQ0FBS0FJc1RRMEFDd3NnQUNnQ0FCQVFJQUFRRUF0ekFRSi9JQUFvQWh3aUFVRUlhaUlESUFBb0FpQWlBazBFUUFOQUlBQWdBQ2dDR0NBQlFRSjBhaUFBS0FJVVFRZ1FNQ0FESWdGQkNHb2lBeUFBS0FJZ0lnSk5EUUFMQ3lBQklBSkpCRUFnQUNBQUtBSVlJQUZCQW5ScUlBQW9BaFFnQWlBQmF4QXdDeUFBS0FJQUVCQWdBQkFRQzBRQUlBQW9BaHdpQVNBQUtBSWdTUVJBQTBBZ0FDQUFLQUlZSUFBb0FoUWdBV3hCQW5ScUVGMGdBVUVCYWlJQklBQW9BaUJKRFFBTEN5QUFLQUlBRUJBZ0FCQVFDNmdCQVFWL0lBQW9BbFFpQXlnQ0FDRUZJQU1vQWdRaUJDQUFLQUlVSUFBb0Fod2lCMnNpQmlBRUlBWkpHeUlHQkVBZ0JTQUhJQVlRRWhvZ0F5QURLQUlBSUFacUlnVTJBZ0FnQXlBREtBSUVJQVpySWdRMkFnUUxJQVFnQWlBQ0lBUkxHeUlFQkVBZ0JTQUJJQVFRRWhvZ0F5QURLQUlBSUFScUlnVTJBZ0FnQXlBREtBSUVJQVJyTmdJRUN5QUZRUUE2QUFBZ0FDQUFLQUlzSWdFMkFod2dBQ0FCTmdJVUlBSUxuZ1VDQm40RWZ5QUJJQUVvQWdCQkIycEJlSEVpQVVFUWFqWUNBQ0FBSVFzZ0FTa0RBQ0VESUFFcEF3Z2hCeU1BUVNCcklnZ2tBQ0FIUXYvLy8vLy8veitESVFRQ2ZpQUhRakNJUXYvL0FZTWlCYWNpQ2tHQitBQnJRZjBQVFFSQUlBUkNCSVlnQTBJOGlJUWhBaUFLUVlENEFHdXRJUVVDUUNBRFF2Ly8vLy8vLy8vL0Q0TWlBMEtCZ0lDQWdJQ0FnQWhhQkVBZ0FrSUJmQ0VDREFFTElBTkNnSUNBZ0lDQWdJQUlVZzBBSUFKQ0FZTWdBbndoQWd0Q0FDQUNJQUpDLy8vLy8vLy8vd2RXSWdBYklRSWdBSzBnQlh3TUFRc0NRQ0FESUFTRVVBMEFJQVZDLy84QlVnMEFJQVJDQklZZ0EwSThpSVJDZ0lDQWdJQ0FnQVNFSVFKQy93OE1BUXRDL3c4Z0NrSCtod0ZMRFFBYVFnQkJnUGdBUVlINEFDQUZVQ0lCR3lJQUlBcHJJZ2xCOEFCS0RRQWFJQU1oQWlBRUlBUkNnSUNBZ0lDQXdBQ0VJQUViSWdZaEJBSkFRWUFCSUFscklnRkJ3QUJ4QkVBZ0F5QUJRVUJxcllZaEJFSUFJUUlNQVFzZ0FVVU5BQ0FFSUFHdElnV0dJQUpCd0FBZ0FXdXRpSVFoQkNBQ0lBV0dJUUlMSUFnZ0FqY0RFQ0FJSUFRM0F4Z0NRQ0FKUWNBQWNRUkFJQVlnQ1VGQWFxMklJUU5DQUNFR0RBRUxJQWxGRFFBZ0JrSEFBQ0FKYTYyR0lBTWdDYTBpQW9pRUlRTWdCaUFDaUNFR0N5QUlJQU0zQXdBZ0NDQUdOd01JSUFncEF3aENCSVlnQ0NrREFDSUNRanlJaENFREFrQWdBQ0FLUnlBSUtRTVFJQWdwQXhpRVFnQlNjYTBnQWtMLy8vLy8vLy8vL3crRGhDSUNRb0dBZ0lDQWdJQ0FDRm9FUUNBRFFnRjhJUU1NQVFzZ0FrS0FnSUNBZ0lDQWdBaFNEUUFnQTBJQmd5QURmQ0VEQ3lBRFFvQ0FnSUNBZ0lBSWhTQURJQU5DLy8vLy8vLy8vd2RXSWdBYklRSWdBSzBMSVFNZ0NFRWdhaVFBSUFzZ0IwS0FnSUNBZ0lDQWdJQi9neUFEUWpTR2hDQUNoTDg1QXdBTGhoZ0RFMzhCZkFOK0l3QkJzQVJySWd3a0FDQU1RUUEyQWl3Q1FDQUJ2U0lhUWdCVEJFQkJBU0VSUWJvSUlSTWdBWm9pQWIwaEdnd0JDeUFFUVlBUWNRUkFRUUVoRVVHOUNDRVREQUVMUWNBSVFic0lJQVJCQVhFaUVSc2hFeUFSUlNFVkN3SkFJQnBDZ0lDQWdJQ0FnUGovQUlOQ2dJQ0FnSUNBZ1BqL0FGRUVRQ0FBUVNBZ0FpQVJRUU5xSWdNZ0JFSC8vM3R4RUJ3Z0FDQVRJQkVRR1NBQVFaSUpRZllLSUFWQklIRWlCUnRCK3dsQitnb2dCUnNnQVNBQllodEJBeEFaSUFCQklDQUNJQU1nQkVHQXdBQnpFQndnQXlBQ0lBSWdBMGdiSVFvTUFRc2dERUVRYWlFU0FrQUNmd0pBSUFFZ0RFRXNhaEJsSWdFZ0FhQWlBVVFBQUFBQUFBQUFBR0lFUUNBTUlBd29BaXdpQmtFQmF6WUNMQ0FGUVNCeUlnNUI0UUJIRFFFTUF3c2dCVUVnY2lJT1FlRUFSZzBDSUF3b0Fpd2hDVUVHSUFNZ0EwRUFTQnNNQVFzZ0RDQUdRUjFySWdrMkFpd2dBVVFBQUFBQUFBQ3dRYUloQVVFR0lBTWdBMEVBU0JzTElRc2dERUV3YWtHZ0FrRUFJQWxCQUU0YmFpSU5JUWNEUUNBSEFuOGdBVVFBQUFBQUFBRHdRV01nQVVRQUFBQUFBQUFBQUdaeEJFQWdBYXNNQVF0QkFBc2lBellDQUNBSFFRUnFJUWNnQVNBRHVLRkVBQUFBQUdYTnpVR2lJZ0ZFQUFBQUFBQUFBQUJpRFFBTEFrQWdDVUVBVEFSQUlBa2hBeUFISVFZZ0RTRUlEQUVMSUEwaENDQUpJUU1EUUVFZElBTWdBMEVkVHhzaEF3SkFJQWRCQkdzaUJpQUlTUTBBSUFPdElSeENBQ0VhQTBBZ0JpQWFRdi8vLy84UGd5QUdOUUlBSUJ5R2ZDSWJRb0NVNjl3RGdDSWFRb0RzbEtNTWZpQWJmRDRDQUNBR1FRUnJJZ1lnQ0U4TkFBc2dHMEtBbE92Y0ExUU5BQ0FJUVFScklnZ2dHajRDQUFzRFFDQUlJQWNpQmtrRVFDQUdRUVJySWdjb0FnQkZEUUVMQ3lBTUlBd29BaXdnQTJzaUF6WUNMQ0FHSVFjZ0EwRUFTZzBBQ3dzZ0EwRUFTQVJBSUF0QkdXcEJDVzVCQVdvaER5QU9RZVlBUmlFUUEwQkJDVUVBSUFOcklnTWdBMEVKVHhzaENnSkFJQVlnQ0UwRVFDQUlLQUlBUlVFQ2RDRUhEQUVMUVlDVTY5d0RJQXAySVJSQmZ5QUtkRUYvY3lFV1FRQWhBeUFJSVFjRFFDQUhJQU1nQnlnQ0FDSVhJQXAyYWpZQ0FDQVdJQmR4SUJSc0lRTWdCMEVFYWlJSElBWkpEUUFMSUFnb0FnQkZRUUowSVFjZ0EwVU5BQ0FHSUFNMkFnQWdCa0VFYWlFR0N5QU1JQXdvQWl3Z0Ntb2lBellDTENBTklBY2dDR29pQ0NBUUd5SUhJQTlCQW5ScUlBWWdCaUFIYTBFQ2RTQVBTaHNoQmlBRFFRQklEUUFMQzBFQUlRTUNRQ0FHSUFoTkRRQWdEU0FJYTBFQ2RVRUpiQ0VEUVFvaEJ5QUlLQUlBSWdwQkNra05BQU5BSUFOQkFXb2hBeUFLSUFkQkNtd2lCMDhOQUFzTElBc2dBMEVBSUE1QjVnQkhHMnNnRGtIbkFFWWdDMEVBUjNGcklnY2dCaUFOYTBFQ2RVRUpiRUVKYTBnRVFDQU1RVEJxUVlSZ1FhUmlJQWxCQUVnYmFpQUhRWURJQUdvaUNrRUpiU0lQUVFKMGFpRUpRUW9oQnlBUFFYZHNJQXBxSWdwQkIwd0VRQU5BSUFkQkNtd2hCeUFLUVFGcUlncEJDRWNOQUFzTEFrQWdDU2dDQUNJUUlCQWdCMjRpRHlBSGJDSUtSaUFKUVFScUloUWdCa1p4RFFBZ0VDQUtheUVRQWtBZ0QwRUJjVVVFUUVRQUFBQUFBQUJBUXlFQklBZEJnSlRyM0FOSERRRWdDQ0FKVHcwQklBbEJCR3N0QUFCQkFYRkZEUUVMUkFFQUFBQUFBRUJESVFFTFJBQUFBQUFBQU9BL1JBQUFBQUFBQVBBL1JBQUFBQUFBQVBnL0lBWWdGRVliUkFBQUFBQUFBUGcvSUJBZ0IwRUJkaUlVUmhzZ0VDQVVTUnNoR1FKQUlCVU5BQ0FUTFFBQVFTMUhEUUFnR1pvaEdTQUJtaUVCQ3lBSklBbzJBZ0FnQVNBWm9DQUJZUTBBSUFrZ0J5QUthaUlETmdJQUlBTkJnSlRyM0FOUEJFQURRQ0FKUVFBMkFnQWdDQ0FKUVFScklnbExCRUFnQ0VFRWF5SUlRUUEyQWdBTElBa2dDU2dDQUVFQmFpSUROZ0lBSUFOQi81UHIzQU5MRFFBTEN5QU5JQWhyUVFKMVFRbHNJUU5CQ2lFSElBZ29BZ0FpQ2tFS1NRMEFBMEFnQTBFQmFpRURJQW9nQjBFS2JDSUhUdzBBQ3dzZ0NVRUVhaUlISUFZZ0JpQUhTeHNoQmdzRFFDQUdJZ2NnQ0UwaUNrVUVRQ0FHUVFScklnWW9BZ0JGRFFFTEN3SkFJQTVCNXdCSEJFQWdCRUVJY1NFSkRBRUxJQU5CZjNOQmZ5QUxRUUVnQ3hzaUJpQURTaUFEUVh0S2NTSUpHeUFHYWlFTFFYOUJmaUFKR3lBRmFpRUZJQVJCQ0hFaUNRMEFRWGNoQmdKQUlBb05BQ0FIUVFScktBSUFJZzVGRFFCQkNpRUtRUUFoQmlBT1FRcHdEUUFEUUNBR0lnbEJBV29oQmlBT0lBcEJDbXdpQ25CRkRRQUxJQWxCZjNNaEJnc2dCeUFOYTBFQ2RVRUpiQ0VLSUFWQlgzRkJ4Z0JHQkVCQkFDRUpJQXNnQmlBS2FrRUpheUlHUVFBZ0JrRUFTaHNpQmlBR0lBdEtHeUVMREFFTFFRQWhDU0FMSUFNZ0Ntb2dCbXBCQ1dzaUJrRUFJQVpCQUVvYklnWWdCaUFMU2hzaEN3dEJmeUVLSUF0Qi9mLy8vd2RCL3YvLy93Y2dDU0FMY2lJUUcwb05BU0FMSUJCQkFFZHFRUUZxSVE0Q1FDQUZRVjl4SWhWQnhnQkdCRUFnQXlBT1FmLy8vLzhIYzBvTkF5QURRUUFnQTBFQVNoc2hCZ3dCQ3lBU0lBTWdBMEVmZFNJR2N5QUdhNjBnRWhBcUlnWnJRUUZNQkVBRFFDQUdRUUZySWdaQk1Eb0FBQ0FTSUFaclFRSklEUUFMQ3lBR1FRSnJJZzhnQlRvQUFDQUdRUUZyUVMxQkt5QURRUUJJR3pvQUFDQVNJQTlySWdZZ0RrSC8vLy8vQjNOS0RRSUxJQVlnRG1vaUF5QVJRZi8vLy84SGMwb05BU0FBUVNBZ0FpQURJQkZxSWdNZ0JCQWNJQUFnRXlBUkVCa2dBRUV3SUFJZ0F5QUVRWUNBQkhNUUhBSkFBa0FDUUNBVlFjWUFSZ1JBSUF4QkVHcEJDWEloQlNBTklBZ2dDQ0FOU3hzaUNTRUlBMEFnQ0RVQ0FDQUZFQ29oQmdKQUlBZ2dDVWNFUUNBR0lBeEJFR3BORFFFRFFDQUdRUUZySWdaQk1Eb0FBQ0FHSUF4QkVHcExEUUFMREFFTElBVWdCa2NOQUNBR1FRRnJJZ1pCTURvQUFBc2dBQ0FHSUFVZ0Jtc1FHU0FJUVFScUlnZ2dEVTBOQUFzZ0VBUkFJQUJCZ2d4QkFSQVpDeUFISUFoTkRRRWdDMEVBVEEwQkEwQWdDRFVDQUNBRkVDb2lCaUFNUVJCcVN3UkFBMEFnQmtFQmF5SUdRVEE2QUFBZ0JpQU1RUkJxU3cwQUN3c2dBQ0FHUVFrZ0N5QUxRUWxPR3hBWklBdEJDV3NoQmlBSVFRUnFJZ2dnQjA4TkF5QUxRUWxLSVJnZ0JpRUxJQmdOQUFzTUFnc0NRQ0FMUVFCSURRQWdCeUFJUVFScUlBY2dDRXNiSVEwZ0RFRVFha0VKY2lFRklBZ2hCd05BSUFVZ0J6VUNBQ0FGRUNvaUJrWUVRQ0FHUVFGcklnWkJNRG9BQUFzQ1FDQUhJQWhIQkVBZ0JpQU1RUkJxVFEwQkEwQWdCa0VCYXlJR1FUQTZBQUFnQmlBTVFSQnFTdzBBQ3d3QkN5QUFJQVpCQVJBWklBWkJBV29oQmlBSklBdHlSUTBBSUFCQmdneEJBUkFaQ3lBQUlBWWdCU0FHYXlJR0lBc2dCaUFMU0JzUUdTQUxJQVpySVFzZ0IwRUVhaUlISUExUERRRWdDMEVBVGcwQUN3c2dBRUV3SUF0QkVtcEJFa0VBRUJ3Z0FDQVBJQklnRDJzUUdRd0NDeUFMSVFZTElBQkJNQ0FHUVFscVFRbEJBQkFjQ3lBQVFTQWdBaUFESUFSQmdNQUFjeEFjSUFNZ0FpQUNJQU5JR3lFS0RBRUxJQk1nQlVFYWRFRWZkVUVKY1dvaENBSkFJQU5CQzBzTkFFRU1JQU5ySVFaRUFBQUFBQUFBTUVBaEdRTkFJQmxFQUFBQUFBQUFNRUNpSVJrZ0JrRUJheUlHRFFBTElBZ3RBQUJCTFVZRVFDQVpJQUdhSUJtaG9Kb2hBUXdCQ3lBQklCbWdJQm1oSVFFTElCSWdEQ2dDTENJSElBZEJIM1VpQm5NZ0JtdXRJQklRS2lJR1JnUkFJQVpCQVdzaUJrRXdPZ0FBQ3lBUlFRSnlJUXNnQlVFZ2NTRU5JQVpCQW1zaUNTQUZRUTlxT2dBQUlBWkJBV3RCTFVFcklBZEJBRWdiT2dBQUlBUkJDSEVoQmlBTVFSQnFJUWNEUUNBSElnVUNmeUFCbVVRQUFBQUFBQURnUVdNRVFDQUJxZ3dCQzBHQWdJQ0FlQXNpQjBIUXhBRnFMUUFBSUExeU9nQUFJQUVnQjdlaFJBQUFBQUFBQURCQW9pRUJBa0FnQlVFQmFpSUhJQXhCRUdwclFRRkhEUUFDUUNBR0RRQWdBMEVBU2cwQUlBRkVBQUFBQUFBQUFBQmhEUUVMSUFWQkxqb0FBU0FGUVFKcUlRY0xJQUZFQUFBQUFBQUFBQUJpRFFBTFFYOGhDa0g5Ly8vL0J5QUxJQklnQ1dzaUJtb2lEV3NnQTBnTkFDQUFRU0FnQWlBTklBTkJBbW9nQnlBTVFSQnFJZ2RySWdVZ0JVRUNheUFEU0JzZ0JTQURHeUlLYWlJRElBUVFIQ0FBSUFnZ0N4QVpJQUJCTUNBQ0lBTWdCRUdBZ0FSekVCd2dBQ0FISUFVUUdTQUFRVEFnQ2lBRmEwRUFRUUFRSENBQUlBa2dCaEFaSUFCQklDQUNJQU1nQkVHQXdBQnpFQndnQXlBQ0lBSWdBMGdiSVFvTElBeEJzQVJxSkFBZ0Nnc0VBRUlBQ3dRQVFRQUxud01CQ1g5QjVnb2hBQUpBQTBBZ0FDMEFBQ0lCUlEwQklBRkJQVVlOQVNBQVFRRnFJZ0JCQTNFTkFBc0NRQUpBUVlDQ2hBZ2dBQ2dDQUNJQ2F5QUNja0dBZ1lLRWVIRkJnSUdDaEhoSERRQURRRUdBZ29RSUlBSkJ2ZnIwNlFOeklnRnJJQUZ5UVlDQmdvUjRjVUdBZ1lLRWVFY05BU0FBS0FJRUlRSWdBRUVFYWlJQklRQWdBa0dBZ29RSUlBSnJja0dBZ1lLRWVIRkJnSUdDaEhoR0RRQUxEQUVMSUFBaEFRc0RRQ0FCSWdBdEFBQWlBa1VOQVNBQVFRRnFJUUVnQWtFOVJ3MEFDd3NnQUNJQlFlWUtSZ1JBUVFBUEN3SkFJQUZCNWdwcklnQkI1Z3BxTFFBQURRQkJzTThCS0FJQUlnUkZEUUFnQkNnQ0FDSUZSUTBBQTBBQ1FBSi9JQVVoQWtIbUNpRUdRUUFnQUNJQlJRMEFHa0htQ2kwQUFDSURCSDhDUUFOQUlBTWdBaTBBQUNJSFJ3MEJJQWRGRFFFZ0FVRUJheUlCUlEwQklBSkJBV29oQWlBR0xRQUJJUU1nQmtFQmFpRUdJQU1OQUF0QkFDRURDeUFEQlVFQUN5QUNMUUFBYXd0RkJFQWdBQ0FGYWlJQkxRQUFRVDFHRFFFTElBUW9BZ1FoQlNBRVFRUnFJUVFnQlEwQkRBSUxDeUFCUVFGcUlRZ0xJQWdMQ1FBZ0FDZ0NQQkFOQzg0Q0FRaC9Jd0JCSUdzaUF5UUFJQU1nQUNnQ0hDSUVOZ0lRSUFBb0FoUWhCU0FESUFJMkFod2dBeUFCTmdJWUlBTWdCU0FFYXlJQk5nSVVJQUVnQW1vaEJVRUNJUVlnQTBFUWFpRUJBbjhEUUFKQUFrQUNRQ0FBS0FJOElBRWdCaUFEUVF4cUVBRWlCQVIvUVpUSEFTQUVOZ0lBUVg4RlFRQUxSUVJBSUFVZ0F5Z0NEQ0lIUmcwQklBZEJBRTROQWd3REN5QUZRWDlIRFFJTElBQWdBQ2dDTENJQk5nSWNJQUFnQVRZQ0ZDQUFJQUVnQUNnQ01HbzJBaEFnQWd3REN5QUJJQWNnQVNnQ0JDSUlTeUlKUVFOMGFpSUVJQWNnQ0VFQUlBa2JheUlJSUFRb0FnQnFOZ0lBSUFGQkRFRUVJQWtiYWlJQklBRW9BZ0FnQ0dzMkFnQWdCU0FIYXlFRklBWWdDV3NoQmlBRUlRRU1BUXNMSUFCQkFEWUNIQ0FBUWdBM0F4QWdBQ0FBS0FJQVFTQnlOZ0lBUVFBZ0JrRUNSZzBBR2lBQ0lBRW9BZ1JyQ3lFS0lBTkJJR29rQUNBS0MxWUJBbjhnQUNnQ1BDRUVJd0JCRUdzaUFDUUFJQVFnQWFjZ0FVSWdpS2NnQWtIL0FYRWdBRUVJYWhBSklnSUVmMEdVeHdFZ0FqWUNBRUYvQlVFQUN5RUNJQUFwQXdnaEFTQUFRUkJxSkFCQ2Z5QUJJQUliQ3dZQUlBQVFBQXNHQUNBQUVBTUw4bjRGQW53MmZ3aDdBMzRHZlNNQVFlREFBR3NpR0NRQUlCaEJBRFlDSUVFQ0lRd0NRQUpBSUFBb0FnQWlCMEdObEp6VUFFWU5BQ0FIUWYrZi9ZOEZSd1JBQWtBZ0IwR0FnSURnQUVjTkFDQUFLQUlFUWVxZ2dZRUNSdzBBSUFBb0FnaEJqWlNjMUFCR0RRSUxRYzBJRUFCQkFTRU1EQUlMUVFBaERBc0NmMEVBUVFGQjRBQVFFeUlIUlEwQUdpQUhRUUUyQWt3Q1FBSkFBa0FDUUNBTURnTUFBd0VEQ3lBSFFjTUFOZ0pZSUFkQnhBQTJBbFFnQjBIRkFEWUNVQ0FIUWNZQU5nSVFJQWRCeHdBMkFnUWdCMEhJQURZQ0hDQUhRY2tBTmdJWUlBZEJ5Z0EyQWhRZ0IwSExBRFlDQUNBSFFjd0FOZ0pjSUFkQnpRQTJBaXdnQjBIT0FEWUNLQ0FIUWM4QU5nSWtJQWRCMEFBMkFpQWdCMEhSQURZQ0RDQUhRZElBTmdJSUlBY1FUU0lJTmdJd0lBZ05BUXdDQ3lBSFFkTUFOZ0pZSUFkQjFBQTJBbFFnQjBIVkFEWUNVQ0FIUWRZQU5nSVFJQWRCMXdBMkFnUWdCMEhZQURZQ1hDQUhRZGtBTmdJc0lBZEIyZ0EyQWlnZ0IwSGJBRFlDSkNBSFFkd0FOZ0lnSUFkQjNRQTJBaHdnQjBIZUFEWUNHQ0FIUWQ4QU5nSVVJQWRCNEFBMkFnd2dCMEhoQURZQ0NDQUhRZUlBTmdJQUlBY0NmMEVCUVlnQkVCTWlDQVJBSUFnUVRTSU9OZ0lBQWtBZ0RrVU5BQ0FJL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1FzQ2JDQUlRUUE2QUh3Z0NCQXpJZzQyQWdRZ0RrVU5BQ0FJRURNaURqWUNDQ0FPUlEwQUlBZ01BZ3NnQ0JCd0MwRUFDeUlJTmdJd0lBaEZEUUVMSUFkQkFUWUNTQ0FIUVFFMkFrQWdCMEVBTmdJOElBZENBRGNDTkNBSFFRRTJBa1FnQnd3QkN5QUhFQkJCQUFzaUNBUkFJQWhCQURZQ1BDQUlRZU1BTmdKSUN5QUlCRUFnQ0VFQU5nSTRJQWhCNUFBMkFrUUxJQWdFUUNBSVFRQTJBalFnQ0VIbEFEWUNRQXNnR0VFa2FpSUhCRUFnQjBFQVFiakFBQkFWSWdkQkFEWUN1RUFnQjBKL053S0lRQXNnQXdSQUlCZ2dHQ2dDM0VCQkFYSTJBdHhBQ3lBWUlBRTJBaHdnR0NBQU5nSVlJQmdnQURZQ0ZFRUJJUXhCQUNFQkFrQWdHRUVVYWlJSFJRMEFRUUZCeUFBUUV5SUFCSDhDZnlBQVFZQ0F3QUEyQWtBZ0FFR0FnTUFBRUJRaURqWUNJQ0FPUlFSQUlBQVFFRUVBREFFTElBQWdEallDSkNBQVFRSTJBaHdnQUVFRE5nSVlJQUJCQkRZQ0ZDQUFRUVUyQWhBZ0FFRUdOZ0lzSUFCQkNEWUNLQ0FBSUFBb0FrUkJBbkkyQWtRZ0FBc0ZRUUFMSWdCRkRRQWdBQVJBSUFCQkFEWUNCQ0FBSUFjMkFnQUxJQWMxQWdnaFJTQUFCRUFnQUNCRk53TUlDd0pBSUFCRkRRQWdBQzBBUkVFQ2NVVU5BQ0FBUVQ4MkFoQUxJQUFFUUNBQVFjRUFOZ0lZQ3lBQUJFQWdBRUhDQURZQ0hBc2dBQ0VCQ3lBQklRQUNmeUFZUVNScUlRRUNRQ0FJUlEwQUlBRkZEUUFnQ0NnQ1RFVUVRQ0FJUVRScVFRRkJ0TWtBUVFBUUQwRUFEQUlMSUFnb0FqQWdBU0FJS0FJWUVRTUFRUUVoQ3dzZ0N3dEZCRUJCM0FnUUFDQUFFRFFnQ0JBMURBRUxBbjhnR0VFZ2FpRUJRUUFoQndKQUlBQkZEUUFnQ0VVTkFDQUlLQUpNUlFSQUlBaEJOR3BCQVVHRnlnQkJBQkFQUVFBTUFnc2dBQ0FJS0FJd0lBRWdDRUUwYWlBSUtBSUFFUUVBSVFjTElBY0xSUVJBUWZnSUVBQWdBQkEwSUFnUU5TQVlLQUlnRUNFTUFRc2dHQ2dDSUNFQlFRQWhCd0pBSUFoRkRRQWdBRVVOQUNBSUtBSk1SUTBBSUFnb0FqQWdBQ0FCSUFoQk5Hb2dDQ2dDQkJFQkFDRUhDd0pBSUFjRVFFRUFJUWNDUUNBSVJRMEFJQUJGRFFBZ0NDZ0NURVVOQUNBSUtBSXdJQUFnQ0VFMGFpQUlLQUlRRVFBQUlRY0xJQWNOQVF0Qi93a1FBQ0FJRURVZ0FCQTBJQmdvQWlBUUlRd0JDeUFBRURRZ0NCQTFJQmdvQWlBaURTZ0NIQ0lBQkVBZ0FCQVFJQmdvQWlBaURVSUFOd0ljQ3lBTktBSVFJU0VDUUFKQUlBSkZCRUFDUUNBRVJRMEFJQ0ZCQkVjTkFFRUJJUmxCQkNFaERBTUxBa0FDUUNBTktBSVVJZ0ZCQTBZTkFDQWhRUU5IRFFBZ0RTZ0NHQ0lBS0FJQUlBQW9BZ1JIRFFFZ0FDZ0NORUVCUmcwQklBMUJBellDRkF3REN5QWhRUUpMRFFBZ0RVRUNOZ0lVREFNTEFrQUNRQ0FCUVFOckRnTURBUUFFQ3lNQVFSQnJJZzRrQUFKQUFrQUNRQ0FOS0FJUVFRUkpEUUFnRFNnQ0dDSUFLQUlBSWdFZ0FDZ0NORWNOQUNBQklBQW9BbWhIRFFBZ0FTQUFLQUtjQVVjTkFDQUFLQUlFSWdFZ0FDZ0NPRWNOQUNBQklBQW9BbXhIRFFBZ0FTQUFLQUtnQVVZTkFRc2dEa0dIQ0RZQ0JDQU9RYmdLTmdJQVFlakVBVUh0UFNBT0VCWU1BUXNDUUNBQUtBSU1JQUFvQWdoc0lnaEZCRUFnQUNnQ3lBRWhBUXdCQzBNQUFJQS9RWDhnQUNnQ3RBRjBRWDl6czVVaFNFTUFBSUEvUVg4Z0FDZ0NnQUYwUVg5enM1VWhTa01BQUlBL1FYOGdBQ2dDVEhSQmYzT3psU0ZMUXdBQWdEOUJmeUFBS0FJWWRFRi9jN09WSVVrZ0FDZ0N5QUVoQVNBQUtBS1VBU0VDSUFBb0FtQWhDaUFBS0FJc0lRZEJBQ0VBQWtBZ0NFRUlTUTBBSUFjZ0NpQUlRUUowSWd0cUlnOUpJQW9nQnlBTGFpSVhTWEVOQUNBQ0lCZEpJQWNnQWlBTGFpSUpTWEVOQUNBQklCZEpJQWNnQVNBTGFpSUxTWEVOQUNBQ0lBOUpJQWtnQ2t0eERRQWdBU0FQU1NBS0lBdEpjUTBBSUFFZ0NVa2dBaUFMU1hFTkFDQUlRWHh4SVFBZ1NQMFRJVDBnU3YwVElUNGdTLzBUSVVNZ1NmMFRJVUJCQUNFTEEwQWdBaUFMUVFKMElnOXFJaGY5QUFJQUlVRWdDaUFQYWlJSi9RQUNBQ0ZDSUFjZ0Qyb2lFUDBNQUFDQVB3QUFnRDhBQUlBL0FBQ0FQeUJBSUJEOUFBSUEvZm9CL2VZQi9lVUIvUXdBQUg5REFBQi9Rd0FBZjBNQUFIOUQvZVlCL1F3QUFJQS9BQUNBUHdBQWdEOEFBSUEvSUQwZ0FTQVBhdjBBQWdEOStnSDk1Z0g5NVFFaVAvM21BZjM0QWYwTEFnQWdDZjBNQUFDQVB3QUFnRDhBQUlBL0FBQ0FQeUJESUVMOStnSDk1Z0g5NVFIOURBQUFmME1BQUg5REFBQi9Rd0FBZjBQOTVnRWdQLzNtQWYzNEFmMExBZ0FnRi8wTUFBQ0FQd0FBZ0Q4QUFJQS9BQUNBUHlBK0lFSDkrZ0g5NWdIOTVRSDlEQUFBZjBNQUFIOURBQUIvUXdBQWYwUDk1Z0VnUC8zbUFmMzRBZjBMQWdBZ0MwRUVhaUlMSUFCSERRQUxJQUFnQ0VZTkFRc0RRQUovUXdBQWdEOGdTU0FISUFCQkFuUWlDMm9pRHlnQ0FMS1VrME1BQUg5RGxFTUFBSUEvSUVnZ0FTQUxhaWdDQUxLVWt5Sk1sQ0pOaTBNQUFBQlBYUVJBSUUyb0RBRUxRWUNBZ0lCNEN5RVhJQUlnQzJvaUNTZ0NBQ0VRSUFvZ0Myb2lDeWdDQUNFTUlBOGdGellDQUNBTEFuOURBQUNBUHlCTElBeXlsSk5EQUFCL1E1UWdUSlFpVFl0REFBQUFUMTBFUUNCTnFBd0JDMEdBZ0lDQWVBczJBZ0FnQ1FKL1F3QUFnRDhnU2lBUXNwU1RRd0FBZjBPVUlFeVVJa3lMUXdBQUFFOWRCRUFnVEtnTUFRdEJnSUNBZ0hnTE5nSUFJQUJCQVdvaUFDQUlSdzBBQ3dzZ0FSQVFJQTBvQWhnaUFFRUlOZ0tBQVNBQVFRZzJBa3dnQUVFSU5nSVlJQUJCQURZQ3lBRWdEVUVCTmdJVUlBMGdEU2dDRUVFQmF5SUFOZ0lRSUFCQkJFa05BRUVESVFBRFFDQU5LQUlZSUFCQk5HeHFJZ0VnQVNnQ1pEWUNNQ0FCSUFIOUFBSlUvUXNDSUNBQklBSDlBQUpFL1FzQ0VDQUJJQUg5QUFJMC9Rc0NBQ0FBUVFGcUlnQWdEU2dDRUVrTkFBc0xJQTVCRUdva0FBd0RDeU1BUVJCcklnc2tBQUpBQWtBQ1FDQU5LQUlRUVFOSkRRQWdEU2dDR0NJQUtBSUFJZ0VnQUNnQ05FY05BQ0FCSUFBb0FtaEhEUUFnQUNnQ0JDSUJJQUFvQWpoSERRQWdBU0FBS0FKc1JnMEJDeUFMUWNVSU5nSUVJQXRCdUFvMkFnQkI2TVFCUVpjK0lBc1FGZ3dCQ3dKQUlBQW9BZ3dnQUNnQ0NHd2lBa1VOQUVGL0lBQW9BaGdpQ25SQmYzTWhBVUVBUVFFZ0NrRUJhM1FpQ2lBQUtBS0lBUnNoRDBFQUlBb2dBQ2dDVkJzaEZ5QUFLQUtVQVNFS0lBQW9BbUFoQnlBQUtBSXNJUTVCQUNFQUFrQWdBa0VFU1EwQUlBNGdCeUFDUVFKMElnaHFJZ2xKSUFjZ0NDQU9haUlRU1hFTkFDQUtJQkJKSUE0Z0NDQUthaUlJU1hFTkFDQUhJQWhKSUFrZ0NrdHhEUUFnQWtGOGNTRUFJQUg5RVNFL0lBLzlFU0ZBSUJmOUVTRkJRUUFoQ0FOQUlBNGdDRUVDZENJSmFpSVFJRDhnQ1NBS2FpSU0vUUFDQUNCQS9iRUIvZm9CSWozOURHbDBzejlwZExNL2FYU3pQMmwwc3ovOTVnRWdCeUFKYWlJSi9RQUNBQ0JCL2JFQi9mb0JJajc5RExOWkdyaXpXUnE0czFrYXVMTlpHcmo5NWdFZ0VQMEFBZ0Q5K2dFaVEvM2tBZjNrQWYwTUFBQUFQd0FBQUQ4QUFBQS9BQUFBUC8za0FmMzRBU0pDL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL2JnQklEOGdRdjA1L1ZMOUN3SUFJQWtnUHlBOS9Rd1owRGEvR2RBMnZ4blFOcjhaMERhLy9lWUJJRVA5RE5VSmdEL1ZDWUEvMVFtQVA5VUpnRC85NWdFZ1B2ME1Kekd3dmljeHNMNG5NYkMrSnpHd3Z2M21BZjNrQWYza0FmME1BQUFBUHdBQUFEOEFBQUEvQUFBQVAvM2tBZjM0QVNKQy9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9iZ0JJRDhnUXYwNS9WTDlDd0lBSUF3Z1B5QTkvUXk5TndhM3ZUY0d0NzAzQnJlOU53YTMvZVlCSUVQOURHYjBmejltOUg4L1p2Ui9QMmIwZnovOTVnRWdQdjBNTmRMaVB6WFM0ajgxMHVJL05kTGlQLzNtQWYza0FmM2tBZjBNQUFBQVB3QUFBRDhBQUFBL0FBQUFQLzNrQWYzNEFTSTkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvYmdCSUQ4Z1BmMDUvVkw5Q3dJQUlBaEJCR29pQ0NBQVJ3MEFDeUFBSUFKR0RRRUxBMEFDZnlBS0lBQkJBblFpQ0dvaUNTZ0NBQ0FQYTdJaVNFTnBkTE0vbENBSElBaHFJaEFvQWdBZ0YydXlJa3BEczFrYXVKUWdDQ0FPYWlJTUtBSUFzaUpMa3BKREFBQUFQNUlpU1l0REFBQUFUMTBFUUNCSnFBd0JDMEdBZ0lDQWVBc2hDQ0FNSUFFZ0NFRUFJQWhCQUVvYklBRWdDRWdiTmdJQUlCQWdBUUovSUVoREdkQTJ2NVFnUzBQVkNZQS9sQ0JLUXljeHNMNlVrcEpEQUFBQVA1SWlTWXREQUFBQVQxMEVRQ0JKcUF3QkMwR0FnSUNBZUFzaUNFRUFJQWhCQUVvYklBRWdDRWdiTmdJQUlBa2dBUUovSUVoRHZUY0d0NVFnUzBObTlIOC9sQ0JLUXpYUzRqK1VrcEpEQUFBQVA1SWlTSXREQUFBQVQxMEVRQ0JJcUF3QkMwR0FnSUNBZUFzaUNFRUFJQWhCQUVvYklBRWdDRWdiTmdJQUlBQkJBV29pQUNBQ1J3MEFDd3NnRFVFQk5nSVVDeUFMUVJCcUpBQU1BZ3NnSVNBQ0lBSWdJVXNiSVNGQkFTRVpEQUVMQWtBQ1FBSi9Ba0FDUUNBTktBSVlJZ0VvQWdCQkFVY05BQUpBQWtBZ0FTZ0NORUVCYXc0Q0FRQUNDeUFCS0FKb1FRSkhEUUVDUUNBQktBSUVRUUZIRFFBZ0FTZ0NPRUVDUncwQUlBRW9BbXhCQWtjTkFFRUFJUXNnRFNJWEtBSVlJZ0FvQWhnaEFTQUFLQUtVQVNFUklBQW9BbUFoQ2lBQUtBSXNJUkFnQUNnQ0NDSU5JQUFvQWd3aUFteEJBblFpQUJBWUlRY2dBQkFZSVFnZ0FCQVlJUTRDUUFKQUFrQUNRQUpBQWtBZ0IwVU5BQ0FJUlEwQUlBNUZEUUJCZnlBQmRFRi9jeUVKUVFFZ0FVRUJhM1FoRENBQ0lCY29BZ1JCQVhFaUFHc2hIaUFYS0FJQVFRRnhJUnNnQUVVTkF5QU5SUTBEQW45QkFDQU1hN0s3SWdWRWFyeDBreGdFMWoraUlBVkVEQUlyaHhiWjVqK2lvQ0lHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNoRkFKL0lBVkVKekVJckJ4YS9EK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUVhSUExQkNFa2hPQUovSUFWRU85OVBqWmR1OWoraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5RWRJRGdOQVNBSUlBZHJRUkJKRFFFZ0RpQUhhMEVRU1EwQklBY2dFR3RCRUVrTkFTQU9JQWhyUVJCSkRRRWdDQ0FRYTBFUVNRMEJJQTRnRUd0QkVFa05BU0FPSUExQmZIRWlDMEVDZENJQ2FpRUJJQUlnQjJvaEFDQWEvUkVoUGlBVS9SRWhReUFKL1JFaFB5QWQvUkVoUUFOQUlBY2dEMEVDZENJVGF2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQVFJQk5xL1FBQ0FDSTlJRUQ5cmdFaVFTQS8vYllCSUVIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVMvUXNDQUNBSUlCTnEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBnUS8yeEFTSkJJRC85dGdFZ1FmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVkw5Q3dJQUlBNGdFMnI5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnUFNBKy9hNEJJajBnUC8yMkFTQTkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvVG45VXYwTEFnQWdEMEVFYWlJUElBdEhEUUFMSUFJZ0VHb2hFQ0FDSUFocUlRSWdDeUFOUmcwRURBSUxJQWNRRUNBSUVCQWdEaEFRREFRTElBY2hBQ0FJSVFJZ0RpRUJDd05BSUFBZ0VDZ0NBQ0lQSUIxcUloTWdDU0FKSUJOS0cwRUFJQk5CQUU0Yk5nSUFJQUlnRHlBVWF5SVRJQWtnQ1NBVFNodEJBQ0FUUVFCT0d6WUNBQ0FCSUE4Z0dtb2lEeUFKSUFrZ0Qwb2JRUUFnRDBFQVRoczJBZ0FnQVVFRWFpRUJJQUpCQkdvaEFpQUFRUVJxSVFBZ0VFRUVhaUVRSUF0QkFXb2lDeUFOUncwQUN3d0JDeUFPSVFFZ0NDRUNJQWNoQUFzZ0RTQWJheUVhQWtBZ0hrRitjU0lkQkg4Q2YwRUFJQXhyc3JzaUJVUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lFaUlCcEJmbkVpSEVFQmF5RTVBbjhnQlVRbk1RaXNIRnI4UDZJaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElTTWdPVUYrY1NFNkFuOGdCVVE3MzArTmwyNzJQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSVNRZ0hVRUJheUVsSURwQkFtb2hKaUFOUVFKMElRMERRQ0FCSUExcUlROGdBaUFOYWlFVElBQWdEV29oQ3lBTklCQnFJUlFnR3dSQUlBQWdFQ2dDQUNJVklDUnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUFJZ0ZTQWlheUlTSUFrZ0NTQVNTaHRCQUNBU1FRQk9HellDQUNBQklCVWdJMm9pRlNBSklBa2dGVW9iUVFBZ0ZVRUFUaHMyQWdBZ0NpZ0NBQ0VXSUFzQ2Z5QVJLQUlBSUF4cnNyc2lCVVE3MzArTmwyNzJQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSUJRb0FnQWlGV29pRWlBSklBa2dFa29iUVFBZ0VrRUFUaHMyQWdBZ0V5QVZBbjhnRmlBTWE3SzdJZ1pFYXJ4MGt4Z0UxaitpSUFWRURBSXJoeGJaNWoraW9DSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdHJJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUE4Q2Z5QUdSQ2N4Q0t3Y1d2dy9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNnRldvaUZTQUpJQWtnRlVvYlFRQWdGVUVBVGhzMkFnQWdEMEVFYWlFUElCTkJCR29oRXlBTFFRUnFJUXNnRkVFRWFpRVVJQUpCQkdvaEFpQVFRUVJxSVJBZ0FVRUVhaUVCSUFCQkJHb2hBQXRCQUNFVklCd0Vmd05BSUFvb0FnQWhIeUFBQW44Z0VTZ0NBQ0FNYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFRS0FJQUloSnFJaFlnQ1NBSklCWktHMEVBSUJaQkFFNGJOZ0lBSUFJZ0VnSi9JQjhnREd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SVdJQWtnQ1NBV1NodEJBQ0FXUVFCT0d6WUNBQ0FCQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQkpxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJQUlBb29BZ0FoSHlBQUFuOGdFU2dDQUNBTWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBUUtBSUVJaEpxSWhZZ0NTQUpJQlpLRzBFQUlCWkJBRTRiTmdJRUlBSWdFZ0ovSUI4Z0RHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlXSUFrZ0NTQVdTaHRCQUNBV1FRQk9HellDQkNBQkFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUJKcUloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUVJQW9vQWdBaEh5QUxBbjhnRVNnQ0FDQU1hN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QVVLQUlBSWhKcUloWWdDU0FKSUJaS0cwRUFJQlpCQUU0Yk5nSUFJQk1nRWdKL0lCOGdER3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJV0lBa2dDU0FXU2h0QkFDQVdRUUJPR3pZQ0FDQVBBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElCSnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUFvb0FnQWhIeUFMQW44Z0VTZ0NBQ0FNYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFVS0FJRUloSnFJaFlnQ1NBSklCWktHMEVBSUJaQkFFNGJOZ0lFSUJNZ0VnSi9JQjhnREd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SVdJQWtnQ1NBV1NodEJBQ0FXUVFCT0d6WUNCQ0FQQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQkpxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJRUlCRkJCR29oRVNBS1FRUnFJUW9nRDBFSWFpRVBJQk5CQ0dvaEV5QUxRUWhxSVFzZ0ZFRUlhaUVVSUFGQkNHb2hBU0FDUVFocUlRSWdBRUVJYWlFQUlCQkJDR29oRUNBVlFRSnFJaFVnSEVrTkFBc2dKZ1ZCQUFzZ0dra0VmeUFLS0FJQUlSWWdBQUovSUJFb0FnQWdER3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dFQ2dDQUNJVmFpSVNJQWtnQ1NBU1NodEJBQ0FTUVFCT0d6WUNBQ0FDSUJVQ2Z5QVdJQXhyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUVpQUpJQWtnRWtvYlFRQWdFa0VBVGhzMkFnQWdBUUovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QVZhaUlWSUFrZ0NTQVZTaHRCQUNBVlFRQk9HellDQUNBS0tBSUFJUlVnQ3dKL0lCRW9BZ0FnREd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRkNnQ0FDSUxhaUlVSUFrZ0NTQVVTaHRCQUNBVVFRQk9HellDQUNBVElBc0NmeUFWSUF4cnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lFeUFKSUFrZ0Uwb2JRUUFnRTBFQVRoczJBZ0FnRHdKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFMYWlJTElBa2dDU0FMU2h0QkFDQUxRUUJPR3pZQ0FDQVJRUVJxSVJFZ0NrRUVhaUVLSUFKQkJHb2hBaUFRUVFScUlSQWdBRUVFYWlFQUlBRkJCR29GSUFFTElBMXFJUUVnQWlBTmFpRUNJQUFnRFdvaEFDQU5JQkJxSVJBZ0lFRUNhaUlnSUIxSkRRQUxJQ1ZCZm5GQkFtb0ZRUUFMSUI1UERRQWdHd1JBSUFBQ2YwRUFJQXhyc3JzaUJVUTczMCtObDI3MlA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJQkFvQWdBaUMyb2lEU0FKSUFrZ0RVb2JRUUFnRFVFQVRoczJBZ0FnQWlBTEFuOGdCVVJxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEMyc2lEU0FKSUFrZ0RVb2JRUUFnRFVFQVRoczJBZ0FnQVFKL0lBVkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFMYWlJTElBa2dDU0FMU2h0QkFDQUxRUUJPR3pZQ0FDQUNRUVJxSVFJZ0VFRUVhaUVRSUFGQkJHb2hBU0FBUVFScUlRQUxJQnBCZm5FaUlBUi9JQ0JCQVdzaUMwRitjU0U3QWtBQ2YwRUFJQ0JCRDBrTkFCcEJBQ0FBSUFJZ0MwRUJkaUlVUVFOMFFRaHFJaE5xSWd0SklBSWdBQ0FUYWlJTlNYRU5BQnBCQUNBQklBMUpJQUFnQVNBVGFpSVBTWEVOQUJwQkFDQUFJQkFnRTJvaUUwa2dEU0FRUzNFTkFCcEJBQ0FLSUExSklBQWdDaUFVUVFKMFFRUnFJaDVxSWh0SmNRMEFHa0VBSUEwZ0VVc2dBQ0FSSUI1cUlnMUpjUTBBR2tFQUlBSWdEMGtnQVNBTFNYRU5BQnBCQUNBQ0lCTkpJQXNnRUV0eERRQWFRUUFnQ2lBTFNTQUNJQnRKY1EwQUdrRUFJQUlnRFVrZ0N5QVJTM0VOQUJwQkFDQUJJQk5KSUE4Z0VFdHhEUUFhUVFBZ0NpQVBTU0FCSUJ0SmNRMEFHa0VBSUFFZ0RVa2dEeUFSUzNFTkFCb2dDaUFVUVFGcUloWkIvUC8vL3dkeElodEJBblFpSW1vaEN5QUJJQnRCQTNRaUhtb2hEU0FBSUI1cUlROGdDZjBSSVQ4Z0RQMFJJVU5CQUNFVEEwQWdFQ0FUUVFOMEloUkJHSElpSFdvaUl5QVFJQlJCRUhJaUhHb2lKQ0FRSUJSQkNISWlGV29pSlNBUUlCUnFJaWI5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FESVQwQ2Z5QVJJQk5CQW5RaUgycjlBQUlBSUVQOXNRSDkrZ0VpUHYxZklrRDlERHZmVDQyWGJ2WS9POTlQalpkdTlqLzk4Z0VpUWYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hKeUFLSUI5cS9RQUNBQ0ZDSUFBZ0ZHb2lILzBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0E5QW44Z1FmMGhBQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5RVNBbi9Sd0JBbjhnUGlBKy9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9WOGlRZjBNTzk5UGpaZHU5ajg3MzArTmwyNzJQLzN5QVNJKy9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBjQWdKL0lENzlJUUVpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3RElrVDlyZ0VpUGlBLy9iWUJJRDc5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxU0lqNzlXZ0lBQUNBQUlCVnFJaWNnUHYxYUFnQUJJQUFnSEdvaUtTQSsvVm9DQUFJZ0FDQWRhaUlxSUQ3OVdnSUFBd0ovSUVJZ1EvMnhBZjM2QVNJKy9WOGlRdjBNYXJ4MGt4Z0UxajlxdkhTVEdBVFdQLzN5QVNCQS9Rd01BaXVIRnRubVB3d0NLNGNXMmVZLy9mSUIvZkFCSWtEOUlRRWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJU2dnQWlBVWFpSXIvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBDZnlCQS9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUNqOUhBRUNmeUErL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL1Y4aVFQME1hcngwa3hnRTFqOXF2SFNUR0FUV1AvM3lBU0JCL1F3TUFpdUhGdG5tUHd3Q0s0Y1cyZVkvL2ZJQi9mQUJJajc5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQU1pUWYyeEFTSStJRC85dGdFZ1B2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUHYxYUFnQUFJQUlnRldvaUtDQSsvVm9DQUFFZ0FpQWNhaUlzSUQ3OVdnSUFBaUFDSUIxcUlpMGdQdjFhQWdBREFuOGdRdjBNSnpFSXJCeGEvRDhuTVFpc0hGcjhQLzN5QVNJKy9TRUJJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUV1SUFFZ0ZHb2lGUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0E5QW44Z1B2MGhBQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5RVNBdS9Sd0JBbjhnUVAwTUp6RUlyQnhhL0Q4bk1RaXNIRnI4UC8zeUFTSTkvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wY0FnSi9JRDM5SVFFaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0RJa0Q5cmdFaVBTQS8vYllCSUQzOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVNJajM5V2dJQUFDQUJJQlZxSWhVZ1BmMWFBZ0FCSUFFZ0hHb2lIQ0E5L1ZvQ0FBSWdBU0FkYWlJZElEMzlXZ0lBQXlBZi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlDTkJCR29nSkVFRWFpQWxRUVJxSUNiOUNRSUUvVllDQUFIOVZnSUFBdjFXQWdBRElqNGdSUDJ1QVNJOUlELzl0Z0VnUGYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQZjFhQWdRQUlDY2dQZjFhQWdRQklDa2dQZjFhQWdRQ0lDb2dQZjFhQWdRRElDdjlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdQaUJCL2JFQklqMGdQLzIyQVNBOS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UbjlVaUk5L1ZvQ0JBQWdLQ0E5L1ZvQ0JBRWdMQ0E5L1ZvQ0JBSWdMU0E5L1ZvQ0JBTWdGUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0ErSUVEOXJnRWlQU0EvL2JZQklEMzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTSWozOVdnSUVBQ0FWSUQzOVdnSUVBU0FjSUQzOVdnSUVBaUFkSUQzOVdnSUVBeUFUUVFScUloTWdHMGNOQUFzZ0VTQWlhaUVSSUJBZ0htb2hFQ0FDSUI1cUlRSWdGaUFiUmdSQUlBOGhBQ0FOSVFFZ0N5RUtEQUlMSUE4aEFDQU5JUUVnQ3lFS0lCdEJBWFFMSVFzRFFDQUtLQUlBSVJNZ0FBSi9JQkVvQWdBZ0RHdXl1eUlGUkR2ZlQ0Mlhidlkvb2lJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzZ0VDZ0NBQ0lOYWlJUElBa2dDU0FQU2h0QkFDQVBRUUJPR3pZQ0FDQUNJQTBDZnlBVElBeHJzcnNpQmtScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDMnNpRHlBSklBa2dEMG9iUVFBZ0QwRUFUaHMyQWdBZ0FRSi9JQVpFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBTmFpSU5JQWtnQ1NBTlNodEJBQ0FOUVFCT0d6WUNBQ0FLS0FJQUlSTWdBQUovSUJFb0FnQWdER3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dFQ2dDQkNJTmFpSVBJQWtnQ1NBUFNodEJBQ0FQUVFCT0d6WUNCQ0FDSUEwQ2Z5QVRJQXhyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUR5QUpJQWtnRDBvYlFRQWdEMEVBVGhzMkFnUWdBUUovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QU5haUlOSUFrZ0NTQU5TaHRCQUNBTlFRQk9HellDQkNBUlFRUnFJUkVnQ2tFRWFpRUtJQUZCQ0dvaEFTQUNRUWhxSVFJZ0FFRUlhaUVBSUJCQkNHb2hFQ0FMUVFKcUlnc2dJRWtOQUFzTElEdEJBbW9GUVFBTElCcFBEUUFnQ2lnQ0FDRUxJQUFDZnlBUktBSUFJQXhyc3JzaUJVUTczMCtObDI3MlA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJQkFvQWdBaUFHb2lDaUFKSUFrZ0Nrb2JRUUFnQ2tFQVRoczJBZ0FnQWlBQUFuOGdDeUFNYTdLN0lnWkVhcngwa3hnRTFqK2lJQVZFREFJcmh4Ylo1aitpb0NJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF0cklnSWdDU0FDSUFsSUcwRUFJQUpCQUU0Yk5nSUFJQUVDZnlBR1JDY3hDS3djV3Z3L29pSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2dBR29pQUNBSklBQWdDVWdiUVFBZ0FFRUFUaHMyQWdBTElCY29BaGdvQWl3UUVDQVhLQUlZSWdBZ0J6WUNMQ0FBS0FKZ0VCQWdGeWdDR0NJQUlBZzJBbUFnQUNnQ2xBRVFFQ0FYS0FJWUlnQWdEallDbEFFZ0FDQUEvUUFDQUNJLy9Rc0NhQ0FBSUQvOUN3STBJQmRCQVRZQ0ZBc01Cd3NnQVNnQ0JFRUJSdzBCSUFFb0FqaEJBVWNOQVNBQktBSnNRUUZIRFFFZ0FTZ0NHQ0VBSUFFb0FwUUJJUUlnQVNnQ1lDRUhJQUVvQWl3aERDQUJLQUlJSWdvZ0FTZ0NEQ0lXYkVFQ2RDSUJFQmdoRHlBQkVCZ2hGeUFCRUJnaENTQVBSUTBGSUJkRkRRVWdDVVVOQlNBV0JFQWdDaUFOS0FJQVFRRnhJaDlySVNJQ2YwRUFRUUVnQUVFQmEzUWlGR3V5dXlJRlJHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSVNkQmZ5QUFkQ0U4SUNKQmZuRWlIVUVCYXlJS1FRRjJJZ0JCQVdvaEl3Si9JQVZFSnpFSXJCeGEvRCtpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lFcElBcEJmbkVoQ2lBQVFRSjBJUWdnQUVFRGRDRUFJQ05CZkhFaEd5QThRWDl6SVJFQ2Z5QUZSRHZmVDQyWGJ2WS9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoS2lBS1FRSnFJU1FnQ0VFRWFpRWxJQUJCQ0dvaElDQWJRUUowSVNZZ0cwRURkQ0VlSUJ0QkFYUWhFQ0FSL1JFaFB5QVUvUkVoUXlBZFFRZEpJU2dnRHlFS0lCY2hBQ0FKSVE0RFFDQWZCRUFnQ2lBTUtBSUFJZ0VnS21vaUNDQVJJQWdnRVVnYlFRQWdDRUVBVGhzMkFnQWdBQ0FCSUNkcklnZ2dFU0FJSUJGSUcwRUFJQWhCQUU0Yk5nSUFJQTRnQVNBcGFpSUJJQkVnQVNBUlNCdEJBQ0FCUVFCT0d6WUNBQ0FPUVFScUlRNGdDa0VFYWlFS0lBeEJCR29oRENBQVFRUnFJUUFMQW44Q2Z5QWRSUVJBSUFjaEFTQU9JUXNnQ2lFSVFRQU1BUXRCQUNFWkFrQUNRQ0FvRFFBZ0NpQUFJQ0JxSWdGSklBQWdDaUFnYWlJSVNYRU5BQ0FLSUE0Z0lHb2lDMGtnQ0NBT1MzRU5BQ0FLSUF3Z0lHb2lHa2tnQ0NBTVMzRU5BQ0FISUFoSklBb2dCeUFsYWlJY1NYRU5BQ0FDSUFoSklBb2dBaUFsYWlJSVNYRU5BQ0FBSUF0SklBRWdEa3R4RFFBZ0FDQWFTU0FCSUF4TGNRMEFJQUFnSEVrZ0FTQUhTM0VOQUNBQUlBaEpJQUVnQWt0eERRQWdEaUFhU1NBTElBeExjUTBBSUE0Z0hFa2dCeUFMU1hFTkFDQUNJQXRKSUFnZ0RrdHhEUUFnQnlBbWFpRUJJQTRnSG1vaEN5QUtJQjVxSVFnRFFDQU1JQmxCQTNRaUdrRVljaUljYWlJcklBd2dHa0VRY2lJVmFpSXNJQXdnR2tFSWNpSVNhaUl0SUF3Z0dtb2lMdjBKQWdEOVZnSUFBZjFXQWdBQy9WWUNBQU1oUFFKL0lBSWdHVUVDZENJdmF2MEFBZ0FnUS8yeEFmMzZBU0krL1Y4aVFQME1POTlQalpkdTlqODczMCtObDI3MlAvM3lBU0pCL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5RXdJQWNnTDJyOUFBSUFJVUlnQ2lBYWFpSXYvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBDZnlCQi9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUREOUhBRUNmeUErSUQ3OURRZ0pDZ3NNRFE0UEFBRUNBd0FCQWdQOVh5SkIvUXc3MzArTmwyNzJQenZmVDQyWGJ2WS8vZklCSWo3OUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1B2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFNaVJQMnVBU0krSUQvOXRnRWdQdjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZJaVB2MWFBZ0FBSUFvZ0Vtb2lNQ0ErL1ZvQ0FBRWdDaUFWYWlJeUlENzlXZ0lBQWlBS0lCeHFJak1nUHYxYUFnQURBbjhnUWlCRC9iRUIvZm9CSWo3OVh5SkMvUXhxdkhTVEdBVFdQMnE4ZEpNWUJOWS8vZklCSUVEOURBd0NLNGNXMmVZL0RBSXJoeGJaNWovOThnSDk4QUVpUVAwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hNU0FBSUJwcUlqVDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdQUUovSUVEOUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUkVnTWYwY0FRSi9JRDc5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5WHlKQS9ReHF2SFNUR0FUV1AycThkSk1ZQk5ZLy9mSUJJRUg5REF3Q0s0Y1cyZVkvREFJcmh4Ylo1ai85OGdIOThBRWlQdjBoQUNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBSUNmeUErL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMGNBeUpCL2JFQklqNGdQLzIyQVNBKy9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UbjlVaUkrL1ZvQ0FBQWdBQ0FTYWlJeElENzlXZ0lBQVNBQUlCVnFJalVnUHYxYUFnQUNJQUFnSEdvaU5pQSsvVm9DQUFNQ2Z5QkMvUXduTVFpc0hGcjhQeWN4Q0t3Y1d2dy8vZklCSWo3OUlRRWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJVGNnRGlBYWFpSWEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBDZnlBKy9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSURmOUhBRUNmeUJBL1F3bk1RaXNIRnI4UHljeENLd2NXdncvL2ZJQklqMzlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3Q0FuOGdQZjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBTWlRUDJ1QVNJOUlELzl0Z0VnUGYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQZjFhQWdBQUlBNGdFbW9pRWlBOS9Wb0NBQUVnRGlBVmFpSVZJRDM5V2dJQUFpQU9JQnhxSWh3Z1BmMWFBZ0FESUMvOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0swRUVhaUFzUVFScUlDMUJCR29nTHYwSkFnVDlWZ0lBQWYxV0FnQUMvVllDQUFNaVBpQkUvYTRCSWowZ1AvMjJBU0E5L1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RuOVVpSTkvVm9DQkFBZ01DQTkvVm9DQkFFZ01pQTkvVm9DQkFJZ015QTkvVm9DQkFNZ05QME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQStJRUg5c1FFaVBTQS8vYllCSUQzOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVNJajM5V2dJRUFDQXhJRDM5V2dJRUFTQTFJRDM5V2dJRUFpQTJJRDM5V2dJRUF5QWEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDRnUVAydUFTSTlJRC85dGdFZ1BmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUGYxYUFnUUFJQklnUGYxYUFnUUJJQlVnUGYxYUFnUUNJQndnUGYxYUFnUURJQmxCQkdvaUdTQWJSdzBBQ3lBQ0lDWnFJUUlnRENBZWFpRU1JQUFnSG1vaEFDQVFJUmtnSkNBYklDTkdEUUlhREFFTElBb2hDQ0FPSVFzZ0J5RUJDd05BSUFFb0FnQWhEaUFJQW44Z0FpZ0NBQ0FVYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFNS0FJQUlncHFJZ2NnRVNBSElCRklHMEVBSUFkQkFFNGJOZ0lBSUFBZ0NnSi9JQTRnRkd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SUhJQkVnQnlBUlNCdEJBQ0FIUVFCT0d6WUNBQ0FMQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQXBxSWdvZ0VTQUtJQkZJRzBFQUlBcEJBRTRiTmdJQUlBRW9BZ0FoRGlBSUFuOGdBaWdDQUNBVWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBTUtBSUVJZ3BxSWdjZ0VTQUhJQkZJRzBFQUlBZEJBRTRiTmdJRUlBQWdDZ0ovSUE0Z0ZHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlISUJFZ0J5QVJTQnRCQUNBSFFRQk9HellDQkNBTEFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUFwcUlnb2dFU0FLSUJGSUcwRUFJQXBCQUU0Yk5nSUVJQUpCQkdvaEFpQUJRUVJxSVFFZ0MwRUlhaUVMSUFCQkNHb2hBQ0FJUVFocUlRZ2dERUVJYWlFTUlCbEJBbW9pR1NBZFNRMEFDeUFrQ3lBaVR3UkFJQUVoQnlBSUlRb2dDd3dCQ3lBQktBSUFJUTRnQ0FKL0lBSW9BZ0FnRkd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRENnQ0FDSUthaUlISUJFZ0J5QVJTQnRCQUNBSFFRQk9HellDQUNBQUlBb0NmeUFPSUJScnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lCeUFSSUFjZ0VVZ2JRUUFnQjBFQVRoczJBZ0FnQ3dKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFLYWlJS0lCRWdDaUFSU0J0QkFDQUtRUUJPR3pZQ0FDQUNRUVJxSVFJZ0FVRUVhaUVISUFCQkJHb2hBQ0FJUVFScUlRb2dERUVFYWlFTUlBdEJCR29MSVE0Z0UwRUJhaUlUSUJaSERRQUxDeUFOS0FJWUtBSXNFQkFnRFNnQ0dDSUFJQTgyQWl3Z0FDZ0NZQkFRSUEwb0FoZ2lBQ0FYTmdKZ0lBQW9BcFFCRUJBZ0RTZ0NHQ0lBSUFrMkFwUUJJQUFnQVAwQUFnQWlQLzBMQW1nZ0FDQS8vUXNDTkNBTlFRRTJBaFJCQUNFWkRBWUxJQUVvQW1oQkFVY05BQ0FCS0FJRVFRRkhEUUFnQVNnQ09FRUJSdzBBSUFFb0FteEJBVWNOQUNBQktBSVlJUUlnQVNnQ2xBRWhDQ0FCS0FKZ0lRd2dBU2dDTENFQUlBRW9BZ3dnQVNnQ0NHd2lGMEVDZENJQkVCZ2hCeUFCRUJnaER5QUJFQmdoRGdKQUlBZEZEUUFnRDBVTkFDQU9SUTBBSUJkRkRRUkJmeUFDZEVGL2N5RVpRUUVnQWtFQmEzUWhFU0FYUVFoSkRRSWdEeUFIYTBFUVNRMENJQTRnQjJ0QkVFa05BaUFISUFCclFSQkpEUUlnQnlBTWEwRVFTUTBDSUFjZ0NHdEJFRWtOQWlBT0lBOXJRUkJKRFFJZ0R5QUFhMEVRU1EwQ0lBOGdER3RCRUVrTkFpQVBJQWhyUVJCSkRRSWdEaUFBYTBFUVNRMENJQTRnREd0QkVFa05BaUFPSUFoclFSQkpEUUlnQ0NBWFFYeHhJZ3BCQW5RaUNXb2hDeUFKSUE1cUlRRWdCeUFKYWlFQ0lCbjlFU0UvSUJIOUVTRTlBMEFDZnlBSUlCTkJBblFpRUdyOUFBSUFJRDM5c1FIOStnRWlQdjFmSWtEOUREdmZUNDJYYnZZL085OVBqWmR1OWovOThnRWlRZjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaEZDQU1JQkJxL1FBQ0FDRkNJQWNnRUdyOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FDQVFhdjBBQWdBaVF3Si9JRUg5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9SRWdGUDBjQVFKL0lENGdQdjBOQ0FrS0N3d05EZzhBQVFJREFBRUNBLzFmSWo3OUREdmZUNDJYYnZZL085OVBqWmR1OWovOThnRWlRZjBoQUNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBSUNmeUJCL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMGNBLzJ1QVNKQklELzl0Z0VnUWYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WTDlDd0lBQW44Z1FpQTkvYkVCL2ZvQklrSDlYeUpDL1F4cXZIU1RHQVRXUDJxOGRKTVlCTlkvL2ZJQklFRDlEQXdDSzRjVzJlWS9EQUlyaHhiWjVqLzk4Z0g5OEFFaVFQMGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoRkNBUElCQnEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRU1DZnlCQS9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUJUOUhBRUNmeUJCL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL1Y4aVFQME1hcngwa3hnRTFqOXF2SFNUR0FUV1AvM3lBU0ErL1F3TUFpdUhGdG5tUHd3Q0s0Y1cyZVkvL2ZJQi9mQUJJajc5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQVA5c1FFaVBpQS8vYllCSUQ3OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVMvUXNDQUFKL0lFTDlEQ2N4Q0t3Y1d2dy9KekVJckJ4YS9ELzk4Z0VpUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hGQ0FPSUJCcS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlFTUNmeUErL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMFJJQlQ5SEFFQ2Z5QkEvUXduTVFpc0hGcjhQeWN4Q0t3Y1d2dy8vZklCSWo3OUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1B2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFQOXJnRWlQaUEvL2JZQklENzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTL1FzQ0FDQVRRUVJxSWhNZ0NrY05BQXNnQ2lBWFJnMEVJQWtnREdvaERDQUFJQWxxSVFBZ0NTQVBhZ3dEQ3lBSEVCQWdEeEFRSUE0UUVBd0ZDeUFZUWJrRE5nSUVJQmhCdUFvMkFnQkI2TVFCUWNJK0lCZ1FGZ3dFQ3lBSElRSWdEaUVCSUFnaEN5QVBDeUVJQTBBZ0RDZ0NBQ0VUSUFJQ2Z5QUxLQUlBSUJGcnNyc2lCVVE3MzArTmwyNzJQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSUFBb0FnQWlDV29pRUNBWklCQWdHVWdiUVFBZ0VFRUFUaHMyQWdBZ0NDQUpBbjhnRXlBUmE3SzdJZ1pFYXJ4MGt4Z0UxaitpSUFWRURBSXJoeGJaNWoraW9DSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdHJJaEFnR1NBUUlCbElHMEVBSUJCQkFFNGJOZ0lBSUFFQ2Z5QUdSQ2N4Q0t3Y1d2dy9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNnQ1dvaUNTQVpJQWtnR1VnYlFRQWdDVUVBVGhzMkFnQWdBVUVFYWlFQklBaEJCR29oQ0NBQ1FRUnFJUUlnQzBFRWFpRUxJQXhCQkdvaERDQUFRUVJxSVFBZ0NrRUJhaUlLSUJkSERRQUxDeUFOS0FJWUtBSXNFQkFnRFNnQ0dDSUFJQWMyQWl3Z0FDZ0NZQkFRSUEwb0FoZ2lBQ0FQTmdKZ0lBQW9BcFFCRUJBZ0RTZ0NHQ0FPTmdLVUFTQU5RUUUyQWhSQkFDRVpEQUVMSUE4UUVDQVhFQkFnQ1JBUUN5QVlLQUlnSVFBQ1FDQUREUUFnSVVVTkFDQUFLQUlZSVE1QkFDRVRBMEFnRGlBVFFUUnNhaUlES0FJWUlnSkJDRWNFUUFKQUlBSkJCMDBFUUNBREtBSU1JQU1vQWdoc0lRRWdBeWdDTENFS0lBTW9BaUFFUUNBQlJRMENRUUVnQWtFQmEzU3RJVVZCQUNFSElBRkJCRThFUUNBQlFYeHhJUWNnUmYwU0lUOUJBQ0VNQTBBZ0NpQU1RUUowYWlJQ0lBTDlBQUlBSWozOXh3RkJCLzNMQVNJKy9SMEFJRC85SFFBaVJuLzlFaUErL1IwQklELzlIUUVpUjMvOUhnRWdQU0EvL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL2NjQlFRZjl5d0VpUGYwZEFDQkdmLzBTSUQzOUhRRWdSMy85SGdIOURRQUJBZ01JQ1FvTEVCRVNFeGdaR2h2OUN3SUFJQXhCQkdvaURDQUhSdzBBQ3lBQklBZEdEUU1MQTBBZ0NpQUhRUUowYWlJQ0lBSTBBZ0JDQjRZZ1JYOCtBZ0FnQjBFQmFpSUhJQUZIRFFBTERBSUxJQUZGRFFGQmZ5QUNkRUYvYzYwaFJVRUFJUWNnQVVFRVR3UkFJQUZCZkhFaEJ5QkYvUkloUDBFQUlRd0RRQ0FLSUF4QkFuUnFJZ0lnQXYwQUFnQWlQZjNKQWYwTS93QUFBQUFBQUFEL0FBQUFBQUFBQVAzVkFTSSsvUjBBSUQvOUhRQWlSb0Q5RWlBKy9SMEJJRC85SFFFaVI0RDlIZ0VnUFNBLy9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9ja0IvUXovQUFBQUFBQUFBUDhBQUFBQUFBQUEvZFVCSWozOUhRQWdSb0Q5RWlBOS9SMEJJRWVBL1I0Qi9RMEFBUUlEQ0FrS0N4QVJFaE1ZR1JvYi9Rc0NBQ0FNUVFScUlnd2dCMGNOQUFzZ0FTQUhSZzBDQ3dOQUlBb2dCMEVDZEdvaUFpQUNOUUlBUXY4QmZpQkZnRDRDQUNBSFFRRnFJZ2NnQVVjTkFBc01BUXNnQWtFSWF5RUtJQU1vQWd3Z0F5Z0NDR3doQVNBREtBSXNJUWdnQXlnQ0lBUkFJQUZGRFFGQkFDRUhJQUZCQkU4RVFDQUJRWHh4SVFkQkFDRUNBMEFnQ0NBQ1FRSjBhaUlMSUF2OUFBSUFJQXI5ckFIOUN3SUFJQUpCQkdvaUFpQUhSdzBBQ3lBQklBZEdEUUlMQTBBZ0NDQUhRUUowYWlJQ0lBSW9BZ0FnQ25VMkFnQWdCMEVCYWlJSElBRkhEUUFMREFFTElBRkZEUUJCQUNFSElBRkJCRThFUUNBQlFYeHhJUWRCQUNFQ0EwQWdDQ0FDUVFKMGFpSUxJQXY5QUFJQUlBcjlyUUg5Q3dJQUlBSkJCR29pQWlBSFJ3MEFDeUFCSUFkR0RRRUxBMEFnQ0NBSFFRSjBhaUlDSUFJb0FnQWdDblkyQWdBZ0IwRUJhaUlISUFGSERRQUxDeUFEUVFnMkFoZ0xJQk5CQVdvaUV5QWhSdzBBQ3dzZ0FDZ0NEQ0FBS0FJSWJDRUJBa0FnR1VVRVFDQUFLQUlVUVFKR0JFQWdBQ2dDRUVFQlJnUkFJQUFvQWhnb0Fpd2dBUkFPREFNTElBUkZEUUlnQUNnQ0dDSUFLQUlzSUFBb0FtQWdBUkFJREFJTElBQW9BaGdpQUNnQ0xDQUFLQUpnSUFBb0FwUUJJQUVRQnd3QkN3SkFBa0FDUUNBaFFRRnJEZ1FBQXdFQ0F3c2dBQ2dDR0NnQ0xDQUJFQVlNQWdzZ0FDZ0NHQ0lBS0FJc0lBQW9BbUFnQUNnQ2xBRWdBUkFGREFFTElBQW9BaGdpQUNnQ0xDQUFLQUpnSUFBb0FwUUJJQUFvQXNnQklBRVFCQXNnR0NnQ0lCQWhRUUFoREFzZ0dFSGd3QUJxSkFBZ0RBc0lBRUVJSUFBUUpRdXJBZ0lDZmdKL1FuOGhBeUFBTFFCRVFRaHhSUVJBSUFBZ0FDZ0NJQ0lHTmdJa0FrQUNRQUpBSUFBZ0FDZ0NNQ0lGQkg4RFFDQUdJQVVnQUNnQ0FDQUFLQUlVRVFBQUlnVkJmMFlOQWlBQUlBQW9BaVFnQldvaUJqWUNKQ0FBSUFBb0FqQWdCV3NpQlRZQ01DQUZEUUFMSUFBb0FpQUZJQVlMTmdJa0lBRkNBRlVOQVVJQUlRTU1BZ3NnQUNBQUtBSkVRUWh5TmdKRUlBSkJCRUdCOVFCQkFCQVBJQUJCQURZQ01DQUFJQUFvQWtSQkNISTJBa1JDZnc4TFFnQWhBd05BSUFFZ0FDZ0NBQ0FBS0FJWUVRc0FJZ1JDZjFFRVFDQUNRUVJCOHZRQVFRQVFEeUFBSUFBb0FrUkJDSEkyQWtRZ0FDQUFLUU00SUFOOE53TTRRbjhnQXlBRFVCc1BDeUFESUFSOElRTWdBU0FFZlNJQlFnQlZEUUFMQ3lBQUlBQXBBemdnQTN3M0F6Z0xJQU1MSXdFQmZ5QUJJQUVvQWdBZ0FTZ0NDQ0lCSUFDbklnSWdBU0FDU1J0cU5nSUVRUUVMUEFJQ2Z3RitJQUVvQWdBZ0FTZ0NDR29pQXlBQktBSUVJZ0pHQkVCQ2Z3OExJQUVnQWlBQXAybzJBZ1FnQXlBQ2E2d2lCQ0FBSUFBZ0JGVWJDNWdEQWdKK0FuOGdBQ2dDTUNJRklBR25JZ1pQQkVBZ0FDQUZJQVpyTmdJd0lBQWdBQ2dDSkNBR2FqWUNKQ0FBSUFBcEF6Z2dBWHczQXpnZ0FROExJQUF0QUVSQkJIRUVRQ0FBUVFBMkFqQWdBQ0FBS0FJa0lBVnFOZ0lrSUFBZ0JhMGlBU0FBS1FNNGZEY0RPQ0FCUW44Z0JSc1BDd0pBSUFWRkJFQU1BUXNnQUVFQU5nSXdJQUFnQUNnQ0lEWUNKQ0FCSUFXdElnTjlJUUVMSUFGQ0FGVUVRQU5BSUFBcEF3Z2dBQ2tET0NBQklBTjhmRlFFUUNBQ1FRUkJtL1VBUVFBUUR5QUFRUUEyQWpBZ0FDQUFLQUlnTmdJa0lBQWdBQ2tET0NBRGZDSUROd000SUFBcEF3Z2lBU0FEZlNFRUlBRWdBQ2dDQUNBQUtBSWNFUW9BSVFVZ0FDZ0NSQ0VDSUFBZ0JRUi9JQUFnQVRjRE9DQUNRWHR4QlNBQ0MwRUVjallDUkVKL0lBUWdBU0FEVVJzUEN5QUJJQUFvQWdBZ0FDZ0NHQkVMQUNJRVFuOVJCRUFnQWtFRVFadjFBRUVBRUE4Z0FDQUFLQUpFUVFSeU5nSkVJQUFnQUNrRE9DQURmRGNET0VKL0lBTWdBMUFiRHdzZ0F5QUVmQ0VESUFFZ0JIMGlBVUlBVlEwQUN3c2dBQ0FBS1FNNElBTjhOd000SUFNTG13RUJCWDlCQVNBQ0tBSUlJZ2NnQjBFQlRSc2hCQ0FDS0FJRUlnTWdBaWdDQUdzaEJnTkFJQVFpQlVFQmRDRUVJQVVnQm1zZ0FVa05BQXNnQlNBSFJ3UkFJQVVRRkNJRFJRUkFRWDhQQ3lBQ0tBSUFJZ1FFUUNBRElBUWdCaEFTR2lBQ0tBSUFFQkFMSUFJZ0JUWUNDQ0FDSUFNMkFnQWdBaUFESUFacUlnTTJBZ1FMSUFNZ0FDQUJFQklhSUFJZ0FpZ0NCQ0FCYWpZQ0JDQUJDMFlCQW44Z0FpZ0NBQ0FDS0FJSWFpSUVJQUlvQWdRaUEwWUVRRUYvRHdzZ0FDQURJQVFnQTJzaUFDQUJJQUFnQVVrYklnQVFFaG9nQWlBQ0tBSUVJQUJxTmdJRUlBQUxxZ0lCQkg4akFFRVFheUlFSkFBQ1FDQUFLQUowRFFBZ0FrRUJUUVJBSUFOQkFVSDd3Z0JCQUJBUERBRUxJQUVnQkVFTWFrRUNFQkVnQkNnQ0RDSUdRZi8vQTNFaUIwVUVRQ0FEUVFGQm5NTUFRUUFRRHd3QkN5QUNJQWRCQm14QkFtcEpCRUFnQTBFQlFmdkNBRUVBRUE4TUFRc2dCa0VHYkJBVUlnTkZEUUFnQUVFSUVCUWlBallDZENBQ1JRUkFJQU1RRUF3QkN5QUNJQU0yQWdBZ0FpQUVMd0VNSWdJN0FRUWdBa1VFUUVFQklRVU1BUXRCQUNFQ0EwQWdBVUVDYWlBRVFReHFJZ1ZCQWhBUklBTWdBa0VHYkdvaUJpQUVLQUlNT3dFQUlBRkJCR29nQlVFQ0VCRWdCaUFFS0FJTU93RUNJQUZCQm1vaUFTQUZRUUlRRVNBR0lBUW9BZ3c3QVFSQkFTRUZJQUpCQVdvaUFpQUFLQUowTHdFRVNRMEFDd3NnQkVFUWFpUUFJQVVMOEFFQkJYOGpBRUVRYXlJRUpBQUNmeUFBS0FKNElnVkZCRUFnQTBFQlFjM0NBRUVBRUE5QkFBd0JDeUFGS0FJTUJFQWdBMEVCUWR2VkFFRUFFQTlCQUF3QkN5QUNJQVV0QUJJaUJVRUNkQ0lHU1FSQUlBTkJBVUdzd2dCQkFCQVBRUUFNQVF0QkFDQUdFQlFpQWtVTkFCb2dCUVJBUVFBaEF3TkFJQUVnQkVFTWFpSUhRUUlRRVNBQ0lBTkJBblJxSWdZZ0JDZ0NERHNCQUNBQlFRSnFJQWRCQVJBUklBWWdCQ2dDRERvQUFpQUJRUU5xSUFkQkFSQVJJQVlnQkNnQ0REb0FBeUFCUVFScUlRRWdBMEVCYWlJRElBVkhEUUFMQ3lBQUtBSjRJQUkyQWd4QkFRc2hDQ0FFUVJCcUpBQWdDQXZ3QXdFSmZ5TUFRUkJySWdVa0FBSkFJQUpCQTBrTkFDQUFLQUo0RFFBZ0FTQUZRUXhxUVFJUUVTQUZMd0VNSWdsQmdRaHJRZjkzVFFSQUlBVWdDVFlDQUNBRFFRRkJ0Qm9nQlJBUERBRUxJQUZCQW1vZ0JVRU1ha0VCRUJFZ0JTOEJEQ0lJUlFSQUlBTkJBVUhVRjBFQUVBOE1BUXNnQ0VFRGFpQUNTdzBBSUFnZ0NXeEJBblFRRkNJSFJRMEFJQWdRRkNJS1JRUkFJQWNRRUF3QkN5QUlFQlFpQzBVRVFDQUhFQkFnQ2hBUURBRUxRUlFRRkNJR1JRUkFJQWNRRUNBS0VCQWdDeEFRREFFTElBRkJBMm9oQXlBR0lBbzJBZ2dnQmlBTE5nSUVJQVlnQ1RzQkVDQUdJQWMyQWdBZ0JTZ0NEQ0VNSUFaQkFEWUNEQ0FHSUF3NkFCSWdBQ0FHTmdKNEEwQWdBeUFGUVF4cVFRRVFFU0FFSUFwcUlBVXRBQXhCL3dCeFFRRnFPZ0FBSUFRZ0Myb2dCU2dDREVHQUFYRkJCM1k2QUFBZ0EwRUJhaUVESUFSQkFXb2lCQ0FJUncwQUN5QUpSUVJBUVFFaEJBd0JDMEVBSVFZRFFFRUFJUVJCQUNFQUEwQWdBa0VFSUFRZ0Ntb3RBQUJCQjJwQkEzWWlCQ0FFUVFSUEd5SUVJQU1nQVd0cVNBUkFRUUFoQkF3REN5QURJQVZCREdvZ0JCQVJJQWNnQlNnQ0REWUNBQ0FIUVFScUlRY2dBeUFFYWlFRElBQkJBV29pQUVILy93TnhJZ1FnQ0VrTkFBdEJBU0VFSUFaQkFXb2lCa0gvL3dOeElBbEpEUUFMQ3lBRlFSQnFKQUFnQkF1WUFRRUNmeU1BUVJCcklnVWtBQ0FBS0FJWUlnUkIvd0ZIQkVBZ0JTQUVOZ0lBSUFOQkFrSGtFeUFGRUE4TEFrQUNRQ0FDSUFBb0FoUkdCRUFnQWcwQlFRRWhCQXdDQzBFQUlRUWdBMEVCUWJ2c0FFRUFFQThNQVF0QkFDRUNBMEJCQVNFRUlBRWdBQ2dDU0NBQ1FReHNha0VJYWtFQkVCRWdBVUVCYWlFQklBSkJBV29pQWlBQUtBSVVTUTBBQ3dzZ0JVRVFhaVFBSUFRTGpnWUJCbjhqQUVIUUFHc2lCQ1FBQWtBZ0FrRUNUUVJBSUFOQkFVR2I3QUJCQUJBUERBRUxJQUF0QUh3RVFDQURRUVJCN3RJQVFRQVFEMEVCSVFZTUFRdEJBU0VHSUFFZ0FFRW9ha0VCRUJFZ0FVRUJhaUFBUVRScVFRRVFFU0FCUVFKcUlBQkJMR3BCQVJBUklBRkJBMm9oQlFKQUFrQUNRQUpBQWtBZ0FDZ0NLQ0lIUVFGckRnSUFBUUlMSUFKQkJrMEVRQ0FFSUFJMkFoQWdBMEVCUWNEeEFDQUVRUkJxRUE5QkFDRUdEQVVMQWtBZ0FrRUhSZzBBSUFBb0FqQkJEa1lOQUNBRUlBSTJBakFnQTBFQ1FjRHhBQ0FFUVRCcUVBOExJQVVnQUVFd2FrRUVFQkVnQUNnQ01FRU9SdzBEUVNRUUZDSUZSUVJBUVFBaEJpQURRUUZCc3p4QkFCQVBEQVVMSUFWQkRqWUNBQ0FFUVFBMkFrQWdCRUVBTmdJNElBUkJBRFlDU0NBRVFRQTJBandnQkVFQU5nSkVJQVJCQURZQ1RFR3c2cEFDSVFZZ0JFR3c2cEFDTmdJMElBVkJnSXlWb2dRMkFnUUNmeUFDUVFkSEJFQWdBa0VqUmdSQUlBRkJCMm9nQkVITUFHcEJCQkFSSUFGQkMyb2dCRUhJQUdwQkJCQVJJQUZCRDJvZ0JFSEVBR3BCQkJBUklBRkJFMm9nQkVGQWEwRUVFQkVnQVVFWGFpQUVRVHhxUVFRUUVTQUJRUnRxSUFSQk9HcEJCQkFSSUFGQkgyb2dCRUUwYWtFRUVCRWdCVUVBTmdJRUlBUW9BalFoQmlBRUtBSTRJUUlnQkNnQ1FDRURJQVFvQWp3aEJ5QUVLQUpFSVFnZ0JDZ0NUQ0VKSUFRb0FrZ01BZ3NnQkNBQ05nSWdJQU5CQWtIazhRQWdCRUVnYWhBUEMwRUFJUUpCQUNFRFFRQWhCMEVBQ3lFQklBVWdCellDR0NBRklBZzJBaEFnQlNBSk5nSUlJQVVnQmpZQ0lDQUZJQUkyQWh3Z0JTQUROZ0lVSUFVZ0FUWUNEQ0FBUVFBMkFuQWdBQ0FGTmdKc0RBTUxJQUFnQWtFRGF5SUJOZ0p3SUFCQkFTQUJFQk1pQXpZQ2JDQURSUTBCSUFKQkEwd05Ba0VBSVFJRFFDQUZJQVJCekFCcVFRRVFFU0FBS0FKc0lBSnFJQVFvQWt3NkFBQWdCVUVCYWlFRklBSkJBV29pQWlBQlJ3MEFDd3dDQ3lBSFFRTkpEUUlnQkNBSE5nSUFJQU5CQkVIYjl3QWdCQkFQREFJTFFRQWhCaUFBUVFBMkFuQU1BUXRCQVNFR0lBQkJBVG9BZkFzZ0JFSFFBR29rQUNBR0M3UURBUU4vSXdCQklHc2lCQ1FBQWtBZ0FDZ0NTQVJBSUFOQkFrR05OVUVBRUE5QkFTRUNEQUVMSUFKQkRrY0VRRUVBSVFJZ0EwRUJRZnJyQUVFQUVBOE1BUXNnQVNBQVFSQnFRUVFRRVNBQlFRUnFJQUJCREdwQkJCQVJJQUZCQ0dvZ0FFRVVha0VDRUJFZ0FDZ0NEQ0VGQWtBZ0JBSi9JQUFvQWhBaUJrVUVRQ0FBS0FJVURBRUxJQUFvQWhRaUFpQUZSUTBBR2lBQ0RRRkJBQXMyQWdnZ0JDQUdOZ0lFSUFRZ0JUWUNBQ0FEUVFGQjN1b0FJQVFRRDBFQUlRSU1BUXNnQWtHQmdBRnJRZi8vZmswRVFFRUFJUUlnQTBFQlFZanFBRUVBRUE4TUFRc2dBQ0FDUVF3UUV5SUNOZ0pJSUFKRkJFQkJBQ0VDSUFOQkFVR3Q2Z0JCQUJBUERBRUxRUUVoQWlBQlFRcHFJQUJCR0dwQkFSQVJJQUZCQzJvZ0FFRWNha0VCRUJFZ0FDZ0NIQ0lGUVFkSEJFQWdCQ0FGTmdJUUlBTkJCRUdkK2dBZ0JFRVFhaEFQQ3lBQlFReHFJQUJCSUdwQkFSQVJJQUZCRFdvZ0FFRWtha0VCRUJFZ0FDZ0NBQ0lCSUFFdEFMd0JRZnNCY1NBQUtBSVlRZjhCUmtFQ2RISTZBTHdCSUFBb0FnQWlBU0FBS0FJTU5nTFlBU0FCSUFBb0FoQTJBdHdCSUFCQkFUb0FoUUVMSUFSQklHb2tBQ0FDQzdvRUFRWi9Jd0JCRUdzaUJpUUFBbjhnQUMwQVpFRUNjVVVFUUNBRFFRRkJrZFFBUVFBUUQwRUFEQUVMSUFCQkFEWUNhQUpBQWtBQ1FDQUNCRUFEUUNBQ1FRZE5CRUFnQTBFQlFia1pRUUFRRHd3RkN5QUJJQVpCREdvaUJVRUVFQkVnQmlnQ0RDRUVJQUZCQkdvZ0JVRUVFQkZCQ0NFSElBWW9BZ3doQlFKQUFrQUNRQUpBSUFRT0FnRUFBd3NnQWtFUVNRUkFRZUVaSVFRTUJ3c2dBVUVJYWlBR1FRaHFRUVFRRVNBR0tBSUlCRUJCeWo4aEJBd0hDeUFCUVF4cUlBWkJER3BCQkJBUklBWW9BZ3dpQkEwQlFiSVlJUVFNQmdzZ0EwRUJRYklZUVFBUUR3d0dDMEVRSVFjTElBUWdCMGtFUUNBRFFRRkJoY1VBUVFBUUR3d0ZDeUFDSUFSSkJFQWdBMEVCUWIzRUFFRUFFQTlCQUF3R0N3SkFBa0FnQUNBQklBZHFJQVFnQjJzZ0F3Si9Ba0FDUUFKQUlBVkI4ZGk5bXdaTUJFQWdCVUhqeHNHVEJrWU5BU0FGUWViS2tac0dSZzBESUFWQjhNSzFtd1pIRFFWQjRNQUJEQVFMSUFWQjh0aU5nd2RHRFFGQndNQUJJQVZCOHNpaHl3WkdEUU1hSUFWQjh0aTltd1pIRFFSQnlNQUJEQU1MUWREQUFRd0NDMEhZd0FFTUFRdEI2TUFCQ3lnQ0JCRUJBQTBCUVFBTUJ3c2dBQ0FBS0FKb1FmLy8vLzhIY2pZQ2FBdEJBU0FJSUFWQjhzaWh5d1pHR3lFSUlBRWdCR29oQVNBQ0lBUnJJZ0lOQUFzZ0NBMEJDeUFEUVFGQjJjTUFRUUFRRDBFQURBTUxJQUJCQVRvQWhBRWdBQ0FBS0FKa1FRUnlOZ0prUVFFTUFnc2dBMEVCSUFSQkFCQVBDeUFEUVFGQm5nNUJBQkFQUVFBTElRa2dCa0VRYWlRQUlBa0w0Z0VCQVg4Z0FDZ0NaRUVCUndSQUlBTkJBVUcrMUFCQkFCQVBRUUFQQ3dKQUlBSkJCMDBFUUF3QkN5QUJJQUJCT0dwQkJCQVJJQUZCQkdvZ0FFRThha0VFRUJFZ0FrRURjUVJBREFFTElBQWdBa0VJYXlJQ1FRSjJJZ1EyQWtBQ1FDQUNSUTBBSUFBZ0JFRUVFQk1pQWpZQ1JDQUNSUVJBSUFOQkFVR3BFRUVBRUE5QkFBOExJQUFvQWtCRkRRQWdBVUVJYWlFRFFRQWhBZ05BSUFNZ0FDZ0NSQ0FDUVFKMGFrRUVFQkVnQTBFRWFpRURJQUpCQVdvaUFpQUFLQUpBU1EwQUN3c2dBQ0FBS0FKa1FRSnlOZ0prUVFFUEN5QURRUUZCcWkxQkFCQVBRUUFMeEFFQkFuOGdBQ0FBS0FJZ0lnUTJBaVFDUUNBQUtBSXdJZ01FUUFOQUlBUWdBeUFBS0FJQUlBQW9BaFFSQUFBaUEwRi9SZzBDSUFBZ0FDZ0NKQ0FEYWlJRU5nSWtJQUFnQUNnQ01DQURheUlETmdJd0lBTU5BQXNnQUNnQ0lDRUVDeUFBUVFBMkFqQWdBQ0FFTmdJa0lBRWdBQ2dDQUNBQUtBSWNFUW9BUlFSQUlBQWdBQ2dDUkVFSWNqWUNSRUVBRHdzZ0FDQUJOd000UVFFUEN5QUFJQUFvQWtSQkNISTJBa1FnQWtFRVFZSDFBRUVBRUE4Z0FDQUFLQUpFUVFoeU5nSkVRUUFMZ2dFQkFuOGpBRUVRYXlJRUpBQUNmeUFBS0FKa0JFQWdBMEVCUWR2VEFFRUFFQTlCQUF3QkN5QUNRUVJIQkVBZ0EwRUJRYzR0UVFBUUQwRUFEQUVMSUFFZ0JFRU1ha0VFRUJFZ0JDZ0NERUdLanFyb0FFY0VRQ0FEUVFGQjlpVkJBQkFQUVFBTUFRc2dBQ0FBS0FKa1FRRnlOZ0prUVFFTElRVWdCRUVRYWlRQUlBVUxEUUFnQUNnQ0FDQUJJQUlRUlFzSkFDQUFLQUlBRUVvTENRQWdBQ2dDQUJCSkN3MEFJQUFvQWdBZ0FTQUNFRXdMUVFFQmZ5QUNCSDhnQTBFQ1FkdkxBRUVBRUE4Z0FDZ0NBQ0FCSUFJZ0F5QUVFRVpGQkVBZ0EwRUJRYWt2UVFBUUQwRUFEd3NnQUNBQ0lBTVFjUVZCQUFzTEZRQWdBQ2dDQUNBQklBSWdBeUFFSUFVZ0JoQk9DdzhBSUFBb0FnQWdBU0FDSUFNUVR3c1RBQ0FBS0FJQUlBRWdBaUFESUFRZ0JSQXJDeDBBSUFBb0FnQWdBU0FDSUFNZ0JDQUZJQVlnQnlBSUlBa2dDaEFuQytvRUFRZC9Ba0FnQVNnQ0NFRTFJQU1RSkVVTkFDQUJLQUlFSWdjb0FnQWhCU0FIS0FJSUlRUUNRQ0FGQkVCQkFTRUdJQVZCQVVjRVFDQUZRWDV4SVFvRFFBSi9RUUFnQmtVTkFCcEJBQ0FCSUFBZ0F5QUVLQUlBRVFBQVJRMEFHaUFCSUFBZ0F5QUVLQUlFRVFBQVFRQkhDeUVHSUFSQkNHb2hCQ0FKUVFKcUlna2dDa2NOQUFzTEFrQWdCVUVCY1FSQUlBWkZEUUVnQVNBQUlBTWdCQ2dDQUJFQUFFRUFSeUVHQ3lBSFFRQTJBZ0FnQmtVTkF3d0NDeUFIUVFBMkFnQkJBQThMSUFkQkFEWUNBQXNnQVNnQ0NDSUhLQUlBSVFVZ0J5Z0NDQ0VFQWtBQ1FBSi9Ba0FnQlFSQVFRRWhCaUFGUVFGeElRZ2dCVUVCUncwQlFRQU1BZ3NnQjBFQU5nSUFEQUlMSUFWQmZuRWhCVUVBSVFrRFFBSi9RUUFnQmtVTkFCcEJBQ0FCSUFBZ0F5QUVLQUlBRVFBQVJRMEFHaUFCSUFBZ0F5QUVLQUlFRVFBQVFRQkhDeUVHSUFSQkNHb2hCQ0FKUVFKcUlna2dCVWNOQUFzZ0JrVUxJUVVnQ0FSQUlBVU5BaUFCSUFBZ0F5QUVLQUlBRVFBQVFRQkhJUVlMSUFkQkFEWUNBRUVBSVFnZ0JrVU5BZ3NnQVMwQWhBRkZCRUFnQTBFQlFiM1dBRUVBRUE5QkFBOExJQUV0QUlVQlJRUkFJQU5CQVVHZzFnQkJBQkFQUVFBUEN5QUFJQUVvQWdBZ0FpQURFRkFoQ0NBQ1JRMEJJQUlvQWdBaUFFVU5BVUVCSVFRQ1FBSkFBa0FDUUFKQUFrQWdBU2dDTUVFTWF3NE5Bd1FFQkFVQUFRUUVCQVFFQWdRTFFRSWhCQXdFQzBFRElRUU1Bd3RCQkNFRURBSUxRUVVoQkF3QkMwRi9JUVFMSUFBZ0JEWUNGQ0FCS0FKc0lnTkZEUUVnQUNBRE5nSWNJQUlvQWdBZ0FTZ0NjRFlDSUNBQlFRQTJBbXdnQ0E4TElBZEJBRFlDQUVFQUlRZ0xJQWdMNUFrQ0NuOEJmaU1BUWZBQWF5SURKQUJCZ0FnaENBSi9Ba0JCQVVHQUNCQVRJZ1lFUUNBRFFkd0FhaUVMSUFOQjdBQnFJUWtEUUFKQUFrQUNRQ0FCSUFOQjZBQnFJZ1JCQ0NBQ0VCcEJDRWNOQUNBRUlBTkIyQUJxUVFRUUVTQUpJQXRCQkJBUlFRZ2hCUUpBQWtBQ1FBSkFBa0FnQXlnQ1dBNENBQUVFQ3lBQktRTUlJZzFRQkg1Q0FBVWdEU0FCS1FNNGZRc2lEVUw0Ly8vL0QxTU5BU0FDUVFGQnlqOUJBQkFQREFRTElBRWdBMEhvQUdvaUJFRUlJQUlRR2tFSVJ3MERJQVFnQTBIa0FHcEJCQkFSSUFNb0FtUkZEUUVnQWtFQlFjby9RUUFRRHd3REN5QURJQTJuUVFocU5nSllEQUVMSUFrZ0EwSFlBR3BCQkJBUlFSQWhCUXNnQXlnQ1hDSUVRZVBrd05NR1JnUkFJQUFvQW1RaUFVRUVjUVJBSUFBZ0FVRUljallDWkF3Q0N5QUNRUUZCclN0QkFCQVBJQVlRRUVFQURBY0xJQU1vQWxnaUIwVUVRQ0FDUVFGQnNoaEJBQkFQSUFZUUVFRUFEQWNMSUFVZ0Iwc0VRQ0FESUFRMkFnUWdBeUFITmdJQUlBSkJBVUg2NXdBZ0F4QVBEQVlMQWtBQ2Z3Si9Ba0FDZndKQUFrQUNRQUpBQWtBZ0JFSHgyTDJiQmt3RVFDQUVRZVBHd1pNR1JnMENJQVJCNXNxUm13WkdEUVFnQkVId3dyV2JCa2NOQVVIZ3dBRU1CZ3NnQkVHZndNRFNCa3dFUUNBRVFmTFl2WnNHUmcwRlFjREFBU0FFUWZMSW9jc0dSZzBHR2lBRVFmRHkwYk1HUncwQlFhakFBUXdJQ3lBRVFmTFlqWU1IUmcwQ0lBUkJvTURBMGdaR0RRWkJzTUFCSUFSQjZPVEEwd1pHRFFjYUN5QUFLQUprSWdSQkFYRU5DQ0FDUVFGQi9BNUJBQkFQSUFZUUVFRUFEQThMUWREQUFRd0RDMEhZd0FFTUFndEI2TUFCREFFTFFjakFBUXNoQ2lBRElBUkIvd0Z4TmdKTUlBTWdCRUVZZGpZQ1FDQURJQVJCQ0haQi93RnhOZ0pJSUFNZ0JFRVFka0gvQVhFMkFrUWdBa0VDUWNrT0lBTkJRR3NRRHlBSElBVnJJZ1VnQUMwQVpFRUVjUTBDR2lBRElBTW9BbHdpQkVFWWRqWUNNQ0FESUFSQi93RnhOZ0k4SUFNZ0JFRVFka0gvQVhFMkFqUWdBeUFFUVFoMlFmOEJjVFlDT0NBQ1FRSkIyak1nQTBFd2FoQVBJQUFnQUNnQ1pFSC8vLy8vQjNJMkFtUWdBU0FGclNJTklBSWdBU2dDS0JFSUFDQU5VUTBISUFKQkFVR1NIRUVBRUE4Z0JoQVFRUUFNQ2d0Qm9NQUJDeUVLSUFjZ0JXc0xJUVVnQVNrRENDSU5VQVIrUWdBRklBMGdBU2tET0gwTElBV3RVd1JBSUFNb0FsZ2hCQ0FES0FKY0lRQWdBeUFCS1FNSUlnMVFCSDVDQUFVZ0RTQUJLUU00ZlFzK0FpZ2dBeUFGTmdJa0lBTWdBRUgvQVhFMkFpQWdBeUFBUVJoMk5nSVVJQU1nQkRZQ0VDQURJQUJCQ0haQi93RnhOZ0ljSUFNZ0FFRVFka0gvQVhFMkFoZ2dBa0VCUWMzMUFDQURRUkJxRUE4TUJ3c2dCU0FJVFFSQUlBWWhCQXdFQ3lBRklRZ2dCaUFGRUJjaUJBMERJQVlRRUNBQ1FRRkIvdzlCQUJBUFFRQU1Cd3NnQkVFQ2NVVUVRQ0FDUVFGQndnOUJBQkFQSUFZUUVFRUFEQWNMSUFBZ0JFSC8vLy8vQjNJMkFtUWdBU0FISUFWcnJTSU5JQUlnQVNnQ0tCRUlBQ0FOVVEwRElBQXRBR1JCQ0hGRkRRRWdBa0VDUVpJY1FRQVFEd3NnQmhBUVFRRU1CUXNnQWtFQlFaSWNRUUFRRHlBR0VCQkJBQXdFQ3lBQklBUWdCU0FDRUJvZ0JVY0VRQ0FDUVFGQnhCeEJBQkFQSUFRUUVFRUFEQVFMSUFBZ0JDSUdJQVVnQWlBS0tBSUVFUUVBRFFBTElBUVFFRUVBREFJTElBSkJBVUdpSlVFQUVBOUJBQXdCQ3lBR0VCQkJBQXNoRENBRFFmQUFhaVFBSUF3TDVnRUJCbjhnQUNnQ0NFRTFJQUlRSkFSQUFrQWdBQ2dDQ0NJR0tBSUFJUU1nQmlnQ0NDRUZBa0FDUUFKL0FrQWdBd1JBUVFFaEJDQURRUUZ4SVFjZ0EwRUJSdzBCUVFBTUFnc2dCa0VBTmdJQURBSUxJQU5CZm5FaEF3TkFBbjlCQUNBRVJRMEFHa0VBSUFBZ0FTQUNJQVVvQWdBUkFBQkZEUUFhSUFBZ0FTQUNJQVVvQWdRUkFBQkJBRWNMSVFRZ0JVRUlhaUVGSUFoQkFtb2lDQ0FEUncwQUN5QUVSUXNoQXlBSEJFQWdBdzBDSUFBZ0FTQUNJQVVvQWdBUkFBQkJBRWNoQkFzZ0JrRUFOZ0lBSUFSRkRRSUxJQUFvQWdBYVFRRVBDeUFHUVFBMkFnQUxDMEVBQ3dvQUlBQW9BZ0FhUVFBTEZBQWdBQ2dDQUNJQUJFQWdBQ0FCTmdLNEFRc0xJUUFnQUNnQ0FDQUJFRk1nQUVFQU9nQjhJQUFnQVNnQ3VFQkJBWEUyQW9BQkN6SUFJQUpGQkVCQkFBOExJQUFvQWdBZ0FTQUNJQU1RU0VVRVFDQURRUUZCcVM5QkFCQVBRUUFQQ3lBQUlBSWdBeEJ4QzJrQ0FuOEJmQ01BUVJCcklnTWtBQ0FDQkVBRFFDQUFJQU5CQ0dvUVJDQUJBbjhnQXlzRENDSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBczJBZ0FnQVVFRWFpRUJJQUJCQ0dvaEFDQUVRUUZxSWdRZ0FrY05BQXNMSUFOQkVHb2tBQXVFQVFJQ2Z3RjlJd0JCRUdzaUF5UUFJQUlFUUFOQUlBTWdBQzBBQURvQUR5QURJQUF0QUFFNkFBNGdBeUFBTFFBQ09nQU5JQU1nQUMwQUF6b0FEQ0FCQW44Z0F5b0NEQ0lGaTBNQUFBQlBYUVJBSUFXb0RBRUxRWUNBZ0lCNEN6WUNBQ0FCUVFScUlRRWdBRUVFYWlFQUlBUkJBV29pQkNBQ1J3MEFDd3NnQTBFUWFpUUFDMHNCQW44akFFRVFheUlESkFBZ0FnUkFBMEFnQUNBRFFReHFRUVFRRVNBQklBTW9BZ3cyQWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FFUVFGcUlnUWdBa2NOQUFzTElBTkJFR29rQUF0TEFRSi9Jd0JCRUdzaUF5UUFJQUlFUUFOQUlBQWdBMEVNYWtFQ0VCRWdBU0FES0FJTU5nSUFJQUZCQkdvaEFTQUFRUUpxSVFBZ0JFRUJhaUlFSUFKSERRQUxDeUFEUVJCcUpBQUxTZ0VDZnlNQVFSQnJJZ01rQUNBQ0JFQURRQ0FBSUFOQkNHb1FSQ0FCSUFNckF3aTJPQUlBSUFGQkJHb2hBU0FBUVFocUlRQWdCRUVCYWlJRUlBSkhEUUFMQ3lBRFFSQnFKQUFMYUFFQ2Z5TUFRUkJySWdNa0FDQUNCRUFEUUNBRElBQXRBQUE2QUE4Z0F5QUFMUUFCT2dBT0lBTWdBQzBBQWpvQURTQURJQUF0QUFNNkFBd2dBU0FES2dJTU9BSUFJQUZCQkdvaEFTQUFRUVJxSVFBZ0JFRUJhaUlFSUFKSERRQUxDeUFEUVJCcUpBQUxUQUVDZnlNQVFSQnJJZ01rQUNBQ0JFQURRQ0FBSUFOQkRHcEJCQkFSSUFFZ0F5Z0NETE00QWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FFUVFGcUlnUWdBa2NOQUFzTElBTkJFR29rQUF0TUFRSi9Jd0JCRUdzaUF5UUFJQUlFUUFOQUlBQWdBMEVNYWtFQ0VCRWdBU0FES0FJTXN6Z0NBQ0FCUVFScUlRRWdBRUVDYWlFQUlBUkJBV29pQkNBQ1J3MEFDd3NnQTBFUWFpUUFDNm9JQWcxL0FYc2pBRUVRYXlJSUpBQUNmeUFBS0FJSVFSQkdCRUFnQUNnQ25BRWdBQ2dDekFGQmpDeHNhZ3dCQ3lBQUtBSU1DeUVKQWtBZ0FrVUVRQ0FEUVFGQjhCOUJBQkFQREFFTElBQW9Ba2doQmtFQklRUWdBU0FJUVFocVFRRVFFU0FJS0FJSUlnVkJBazhFUUNBRFFRSkJ4c2dBUVFBUUR3d0JDeUFDSUFWQkFXcEhCRUJCQUNFRUlBTkJBa0h3SDBFQUVBOE1BUXNDUUNBR0tBSVFJZ05GRFFBZ0NTZ0MwQ3NoQkNBRFFRaFBCRUFnQTBGNGNTRUdRUUFoQWdOQUlBUkJBRFlDdkVNZ0JFRUFOZ0tFT3lBRVFRQTJBc3d5SUFSQkFEWUNsQ29nQkVFQU5nTGNJU0FFUVFBMkFxUVpJQVJCQURZQzdCQWdCRUVBTmdLMENDQUVRY0REQUdvaEJDQUNRUWhxSWdJZ0JrY05BQXNMSUFOQkIzRWlBMFVOQUVFQUlRSURRQ0FFUVFBMkFyUUlJQVJCdUFocUlRUWdBa0VCYWlJQ0lBTkhEUUFMQ3lBSktBTG9LeUlDQkg4Z0FoQVFJQWxCQURZQzZDc2dDQ2dDQ0FVZ0JRdEZCRUJCQVNFRURBRUxBMEFnQVVFQmFpSUJJQWhCREdwQkFSQVJBa0FnQ1NnQ2dDeEZEUUFnQ1NnQy9Dc2lBeWdDQUNBSUtBSU1SdzBBSUFNb0FnUWlCU0FBS0FKSUlnWW9BaEJIRFFBZ0F5Z0NDQ0lDQkVCQkFDRUVJQUlvQWhBZ0JTQUZiQ0lGSUFJb0FnQkJBblJCMEwwQmFpZ0NBR3hIRFFNZ0NTQUZRUUowRUJRaUJ6WUM2Q3NnQjBVTkF5QUNLQUlNSUFjZ0JTQUNLQUlBUVFKMFFZREFBV29vQWdBUkJRQUxJQU1vQWd3aUFrVU5BRUVBSVFRZ0FpZ0NFQ0FHS0FJUUlnTWdBaWdDQUVFQ2RFSFF2UUZxS0FJQWJFY05BaUFEUVFKMEVCUWlCVVVOQWlBQ0tBSU1JQVVnQXlBQ0tBSUFRUUowUVpEQUFXb29BZ0FSQlFBQ1FDQUdLQUlRSWdkRkRRQWdDU2dDMENzaEJFRUFJUXNDUUFKQUlBZEJCRWtOQUNBRVFiUUlhaUlNSUFVZ0IwRUNkR3BKQkVBZ0JTQUVJQWRCdUFoc2Fra05BUXNnQkVIY0lXb2hEU0FFUWFRWmFpRU9JQVJCN0JCcUlROGdCU0FIUVh4eElnWkJBblJxSVFJZ0JDQUdRYmdJYkdvaEJFRUFJUU1EUUNBTUlBTkJ1QWhzSWdwcUlBVWdBMEVDZEdyOUFBSUFJaEg5V2dJQUFDQUtJQTlxSUJIOVdnSUFBU0FLSUE1cUlCSDlXZ0lBQWlBS0lBMXFJQkg5V2dJQUF5QURRUVJxSWdNZ0JrY05BQXNnQmlBSFJnMENEQUVMSUFVaEFrRUFJUVlMSUFjZ0JpSURhMEVIY1NJS0JFQURRQ0FFSUFJb0FnQTJBclFJSUFOQkFXb2hBeUFFUWJnSWFpRUVJQUpCQkdvaEFpQUxRUUZxSWdzZ0NrY05BQXNMSUFZZ0IydEJlRXNOQUFOQUlBUWdBaWdDQURZQ3RBZ2dCQ0FDS0FJRU5nTHNFQ0FFSUFJb0FnZzJBcVFaSUFRZ0FpZ0NERFlDM0NFZ0JDQUNLQUlRTmdLVUtpQUVJQUlvQWhRMkFzd3lJQVFnQWlnQ0dEWUNoRHNnQkNBQ0tBSWNOZ0s4UXlBRVFjRERBR29oQkNBQ1FTQnFJUUlnQTBFSWFpSURJQWRIRFFBTEN5QUZFQkFMUVFFaEJDQVFRUUZxSWhBZ0NDZ0NDRWtOQUFzTElBaEJFR29rQUNBRUN3UUFRbjhMdndrQkMzOGpBRUVRYXlJRkpBQUNmeUFBS0FJSVFSQkdCRUFnQUNnQ25BRWdBQ2dDekFGQmpDeHNhZ3dCQ3lBQUtBSU1DeUVIQW44Z0FrRUJUUVJBSUFOQkFVSFlJMEVBRUE5QkFBd0JDeUFCSUFWQkRHcEJBaEFSSUFVb0Fnd0VRQ0FEUVFKQjhDeEJBQkFQUVFFTUFRc2dBa0VHVFFSQUlBTkJBVUhZSTBFQUVBOUJBQXdCQ3lBQlFRSnFJQVZCQ0dwQkFSQVJJQWNvQXZ3cklna2hBQUpBQWtBQ1FDQUhLQUtBTENJR1JRMEFJQVVvQWdnaENBTkFJQUFvQWdBZ0NFWU5BU0FBUVJScUlRQWdCRUVCYWlJRUlBWkhEUUFMREFFTElBUWdCa2NOQVFzZ0J5Z0NoQ3dnQmtZRWZ5QUhJQVpCQ21vaUFEWUNoQ3dnQ1NBQVFSUnNFQmNpQUVVRVFDQUhLQUw4S3hBUUlBZEJBRFlDaEN3Z0IwSUFOd0w4S3lBRFFRRkI4aU5CQUJBUFFRQU1Bd3NnQnlBQU5nTDhLeUFBSUFjb0FvQXNJZ1JCRkd4cVFRQWdCeWdDaEN3Z0JHdEJGR3dRRlJvZ0J5Z0MvQ3NoQ1NBSEtBS0FMQVVnQmd0QkZHd2dDV29oQUVFQklRc0xJQUFnQlNnQ0NEWUNBQ0FCUVFOcUlBVkJER3BCQWhBUklBVW9BZ3dFUUNBRFFRSkI4Q3hCQUJBUFFRRU1BUXNnQVVFRmFpQUZRUVJxUVFJUUVTQUZLQUlFSWdSQkFrOEVRQ0FEUVFKQnFCZEJBQkFQUVFFTUFRc2dBa0VIYXlFR0lBUUVRQ0FCUVFkcUlRSkJBQ0VKQTBBZ0JrRUNUUVJBSUFOQkFVSFlJMEVBRUE5QkFBd0RDeUFDSUFWQkRHcEJBUkFSSUFVb0FneEJBVWNFUUNBRFFRSkJzaXBCQUJBUFFRRU1Bd3NnQWtFQmFpQUZRUUlRRVNBQUlBVW9BZ0FpQkVILy93RnhJZ0UyQWdRZ0JrRURheUlJSUFSQkQzWkJBV29pQmlBQmJFRUNhaUlLU1FSQUlBTkJBVUhZSTBFQUVBOUJBQXdEQ3lBQ1FRTnFJUUpCQUNFRUlBRUVRQU5BSUFJZ0JVRU1haUFHRUJFZ0JDQUZLQUlNUndSQUlBTkJBa0hhTDBFQUVBOUJBUXdGQ3lBQ0lBWnFJUUlnQkVFQmFpSUVJQUFvQWdSSkRRQUxDeUFDSUFWQkFoQVJJQVVnQlNnQ0FDSUVRZi8vQVhFaUFUWUNBQ0FBS0FJRUlBRkhCRUFnQTBFQ1FkZ1lRUUFRRDBFQkRBTUxJQWdnQ21zaUNpQUVRUTkyUVFGcUlnWWdBV3hCQTJvaURFa0VRQ0FEUVFGQjJDTkJBQkFQUVFBTUF3c2dBa0VDYWlFQ1FRQWhCQ0FCQkVBRFFDQUNJQVZCREdvZ0JoQVJJQVFnQlNnQ0RFY0VRQ0FEUVFKQjJpOUJBQkFQUVFFTUJRc2dBaUFHYWlFQ0lBUkJBV29pQkNBQUtBSUVTUTBBQ3dzZ0FpQUZRUXhxUVFNUUVTQUZLQUlNSVFZZ0FFSUFOd0lJSUFBZ0JrR0FnQVJ4UlNBQUxRQVFRZjRCY1hJNkFCQWdCU0FHUWY4QmNTSUlOZ0lJQWtBZ0NFVU5BQ0FIS0FMMEt5SU5CRUFnQnlnQzhDc2hCRUVBSVFFRFFDQUlJQVFvQWdoR0JFQWdBQ0FFTmdJSURBTUxJQVJCRkdvaEJDQUJRUUZxSWdFZ0RVY05BQXNMSUFOQkFVSFlJMEVBRUE5QkFBd0RDeUFGSUFaQkNIWkIvd0Z4SWdZMkFnZ0NRQ0FHUlEwQUlBY29BdlFySWdnRVFDQUhLQUx3S3lFRVFRQWhBUU5BSUFZZ0JDZ0NDRVlFUUNBQUlBUTJBZ3dNQXdzZ0JFRVVhaUVFSUFGQkFXb2lBU0FJUncwQUN3c2dBMEVCUWRnalFRQVFEMEVBREFNTElBb2dER3NoQmlBQ1FRTnFJUUlnQ1VFQmFpSUpJQVVvQWdSSkRRQUxDeUFHQkVBZ0EwRUJRZGdqUVFBUUQwRUFEQUVMUVFFZ0MwVU5BQm9nQnlBSEtBS0FMRUVCYWpZQ2dDeEJBUXNoRGlBRlFSQnFKQUFnRGd2MUFRRUZmeU1BUVJCcklnUWtBQUpBSUFJZ0FDZ0NTQ2dDRUNJR1FRSnFSd1JBSUFOQkFVSHdJa0VBRUE4TUFRc2dBU0FFUVF4cVFRSVFFU0FHSUFRb0FneEhCRUFnQTBFQlFmQWlRUUFRRHd3QkN5QUdSUVJBUVFFaEJRd0JDeUFCUVFKcUlRSWdBQ2dDU0NnQ0dDRUFRUUFoQVFOQUlBSWdCRUVJYWtFQkVCRWdBQ0FFS0FJSUlnVkIvd0J4SWdkQkFXb2lDRFlDR0NBQUlBVkJCM1pCQVhFMkFpQWdCMEVmVHdSQUlBUWdDRFlDQkNBRUlBRTJBZ0FnQTBFQlFiZnpBQ0FFRUE5QkFDRUZEQUlMSUFCQk5Hb2hBRUVCSVFVZ0FrRUJhaUVDSUFGQkFXb2lBU0FHUncwQUN3c2dCRUVRYWlRQUlBVUxtQVVCQ244akFFRVFheUlISkFBQ2Z5QUFLQUlJUVJCR0JFQWdBQ2dDbkFFZ0FDZ0N6QUZCakN4c2Fnd0JDeUFBS0FJTUN5RUZBbjhnQWtFQlRRUkFJQU5CQVVIeEhrRUFFQTlCQUF3QkN5QUJJQWRCREdwQkFoQVJBa0FnQnlnQ0RBUkFJQU5CQWtHR0cwRUFFQThNQVFzZ0FrRUdUUVJBSUFOQkFVSHhIa0VBRUE5QkFBd0NDeUFCUVFKcUlBZEJER3BCQWhBUklBVW9BdkFySVFRZ0J5MEFEQ0VLQWtBQ1FBSkFJQVVvQXZRcklnWkZCRUFnQkNFQURBRUxJQVFoQUFOQUlBQW9BZ2dnQ2tZTkFTQUFRUlJxSVFBZ0NFRUJhaUlJSUFaSERRQUxEQUVMSUFZZ0NFY05BUXNnQlNnQytDc2dCa1lFUUNBRklBWkJDbW9pQURZQytDc2dCQ0FBUVJSc0VCY2hBQ0FGS0FMd0t5RUVJQUJGQkVBZ0JCQVFJQVZCQURZQytDc2dCVUlBTndMd0t5QURRUUZCaXg5QkFCQVBRUUFNQkFzQ1FDQUFJQVJHRFFBZ0JTZ0NnQ3dpQzBVTkFDQUZLQUw4S3lFTVFRQWhDQU5BSUF3Z0NFRVViR29pQmlnQ0NDSUpCRUFnQmlBQUlBa2dCR3RxTmdJSUN5QUdLQUlNSWdrRVFDQUdJQUFnQ1NBRWEybzJBZ3dMSUFoQkFXb2lDQ0FMUncwQUN3c2dCU0FBTmdMd0t5QUFJQVVvQXZRcklnUkJGR3hxUVFBZ0JTZ0MrQ3NnQkd0QkZHd1FGUm9nQlNnQzlDc2hCaUFGS0FMd0t5RUVDeUFGSUFaQkFXbzJBdlFySUFRZ0JrRVViR29oQUFzZ0FDZ0NEQ0lFQkVBZ0JCQVFJQUJDQURjQ0RBc2dBQ0FLTmdJSUlBQWdCeWdDRENJRVFRcDJRUU54TmdJQUlBQWdCRUVJZGtFRGNUWUNCQ0FCUVFScUlBZEJER3BCQWhBUklBY29BZ3dFUUNBRFFRSkJ2UlpCQUJBUERBRUxJQUFnQWtFR2F5SUNFQlFpQkRZQ0RDQUVSUVJBSUFOQkFVSHhIa0VBRUE5QkFBd0NDeUFFSUFGQkJtb2dBaEFTR2lBQUlBSTJBaEFMUVFFTElRMGdCMEVRYWlRQUlBMExKd0JCQVNFQklBSWdBQ2dDU0NnQ0VFRUNkRWNFZnlBRFFRRkIxeUZCQUJBUFFRQUZRUUVMQzZzREFRVi9Jd0JCRUdzaUJpUUFBbjhnQWtFQlRRUkFJQU5CQVVIOUhVRUFFQTlCQUF3QkN5QUFMUUM4QVVFQmNRUkFJQU5CQVVHSjNnQkJBQkFQUVFBTUFRc2dBQ2dDbkFFZ0FDZ0N6QUZCakN4c2FpSUFJQUF0QUlnc1FRSnlPZ0NJTENBQklBWkJER3BCQVJBUkFrQWdBQ2dDckNnaUJFVUVRQ0FBSUFZb0FneEJBV29pQlVFSUVCTWlCRFlDckNnZ0JFVUVRQ0FEUVFGQmx4NUJBQkFQUVFBTUF3c2dBQ0FGTmdLb0tBd0JDeUFHS0FJTUlnVWdBQ2dDcUNoSkRRQWdCQ0FGUVFGcUlnUkJBM1FRRnlJRlJRUkFJQU5CQVVHWEhrRUFFQTlCQUF3Q0N5QUFJQVUyQXF3b0lBVWdBQ2dDcUNnaUIwRURkR3BCQUNBRUlBZHJRUU4wRUJVYUlBQWdCRFlDcUNnZ0FDZ0NyQ2doQkFzZ0JDQUdLQUlNSWdWQkEzUnFLQUlBQkVBZ0JpQUZOZ0lBSUFOQkFVRzlOU0FHRUE5QkFBd0JDeUFDUVFGcklnSVFGQ0VFSUFBb0Fxd29JZ0FnQmlnQ0RDSUZRUU4wYWlBRU5nSUFJQVJGQkVBZ0EwRUJRWmNlUVFBUUQwRUFEQUVMSUFBZ0JVRURkR29nQWpZQ0JDQUFJQVlvQWd4QkEzUnFLQUlBSUFGQkFXb2dBaEFTR2tFQkN5RUlJQVpCRUdva0FDQUlDL1VDQVFWL0l3QkJFR3NpQmlRQUFuOGdBa0VCVFFSQUlBTkJBVUdrSUVFQUVBOUJBQXdCQ3lBQUlBQXRBTHdCUVFGeU9nQzhBU0FCSUFaQkRHcEJBUkFSQWtBZ0FDZ0NkQ0lFUlFSQUlBQWdCaWdDREVFQmFpSUZRUWdRRXlJRU5nSjBJQVJGQkVBZ0EwRUJRYjRnUVFBUUQwRUFEQU1MSUFBZ0JUWUNjQXdCQ3lBR0tBSU1JZ1VnQUNnQ2NFa05BQ0FFSUFWQkFXb2lCRUVEZEJBWElnVkZCRUFnQTBFQlFiNGdRUUFRRDBFQURBSUxJQUFnQlRZQ2RDQUZJQUFvQW5BaUIwRURkR3BCQUNBRUlBZHJRUU4wRUJVYUlBQWdCRFlDY0NBQUtBSjBJUVFMSUFRZ0JpZ0NEQ0lGUVFOMGFpZ0NBQVJBSUFZZ0JUWUNBQ0FEUVFGQjB6VWdCaEFQUVFBTUFRc2dBa0VCYXlJQ0VCUWhCQ0FBS0FKMElnQWdCaWdDRENJRlFRTjBhaUFFTmdJQUlBUkZCRUFnQTBFQlFiNGdRUUFRRDBFQURBRUxJQUFnQlVFRGRHb2dBallDQkNBQUlBWW9BZ3hCQTNScUtBSUFJQUZCQVdvZ0FoQVNHa0VCQ3lFSUlBWkJFR29rQUNBSUM2QUJBUVIvSXdCQkVHc2lCQ1FBQW44Z0FrVUVRQ0FEUVFGQjF4NUJBQkFQUVFBTUFRc2dBU0FFUVF4cVFRRVFFVUVCSUFKQkFXc2lCVVVOQUJwQkFDRUFRUUFoQWdOQUlBRkJBV29pQVNBRVFRaHFRUUVRRVNBRUtBSUlJZ1pCR0hSQkgzVWdCa0gvQUhFZ0FuSkJCM1J4SVFJZ0FFRUJhaUlBSUFWSERRQUxRUUVnQWtVTkFCb2dBMEVCUWRjZVFRQVFEMEVBQ3lFSElBUkJFR29rQUNBSEN4c0FRUUVoQUNBQ0JIOUJBUVVnQTBFQlFmNGdRUUFRRDBFQUN3dUFBUUVCZnlNQVFSQnJJZ0FrQUVFQklRUUNRQ0FDUVFGTkJFQkJBQ0VFSUFOQkFVSGtJRUVBRUE4TUFRc2dBU0FBUVF4cVFRRVFFU0FCUVFGcUlBQkJDR3BCQVJBUklBSkJBbXNnQUNnQ0NDSUJRUVYyUVFKeElBRkJCSFpCQTNGcVFRSnFjRVVOQUVFQUlRUWdBMEVCUWVRZ1FRQVFEd3NnQUVFUWFpUUFJQVFMQkFCQkFBc0xvcndCSVFCQmdBZ0xrWFZqWVc1dWIzUWdZV3hzYjJOaGRHVWdiM0JxWDNSalpGOXpaV2RmWkdGMFlWOWphSFZ1YTE5MEtpQmhjbkpoZVFBdEt5QWdJREJZTUhnQUxUQllLekJZSURCWUxUQjRLekI0SURCNEFGVnVhMjV2ZDI0Z1ptOXliV0YwQUVaaGFXeGxaQ0IwYnlCelpYUjFjQ0IwYUdVZ1pHVmpiMlJsY2dCR1lXbHNaV1FnZEc4Z2NtVmhaQ0IwYUdVZ2FHVmhaR1Z5QUc1aGJnQXFiRjkwYVd4bFgyeGxiaUErSUZWSlRsUmZUVUZZSUMwZ1QxQktYME5QVFUxUFRsOURRa3hMWDBSQlZFRmZSVmhVVWtFZ0xTQndYMm95YXkwK2JWOXpjR1ZqYVdacFkxOXdZWEpoYlM1dFgyUmxZMjlrWlhJdWJWOXpiM1JmYkdWdVozUm9BR2x1WmdCR1lXbHNaV1FnZEc4Z1pHVmpiMlJsSUhSb1pTQnBiV0ZuWlFCSmJuWmhiR2xrSUdGalkyVnpjeUIwYnlCd2FTMCthVzVqYkhWa1pRQXZkRzF3TDI5d1pXNXFjR1ZuTDNOeVl5OWlhVzR2WTI5dGJXOXVMMk52Ykc5eUxtTUFRVXhNWDBOUVZWTUFUMUJLWDA1VlRWOVVTRkpGUVVSVEFFNUJUZ0JKVGtZQWNGOXFNbXN0UG0xZmMzQmxZMmxtYVdOZmNHRnlZVzB1YlY5a1pXTnZaR1Z5TG0xZmMyOTBYMnhsYm1kMGFDQStJRlZKVGxSZlRVRllJQzBnVDFCS1gwTlBUVTFQVGw5RFFreExYMFJCVkVGZlJWaFVVa0VBQ1FrSklIQnlaV05qYVc1MGMybDZaU0FvZHl4b0tUMEFDUWtKSUhOMFpYQnphWHBsY3lBb2JTeGxLVDBBTGdBb2JuVnNiQ2tBS0NWa0xDVmtLU0FBSlhOOUNnQUpDU0I5Q2dCYlJFVldYU0JFZFcxd0lHRnVJR2x0WVdkbFgyTnZiWEJmYUdWaFpHVnlJSE4wY25WamRDQjdDZ0JiUkVWV1hTQkVkVzF3SUdGdUlHbHRZV2RsWDJobFlXUmxjaUJ6ZEhKMVkzUWdld29BU1cxaFoyVWdhVzVtYnlCN0NnQUpJR1JsWm1GMWJIUWdkR2xzWlNCN0NnQWxjd2tnWTI5dGNHOXVaVzUwSUNWa0lIc0tBQWtKSUdOdmJYQWdKV1FnZXdvQUNTQlVhV3hsSUdsdVpHVjRPaUI3Q2dBSklFMWhjbXRsY2lCc2FYTjBPaUI3Q2dCRGIyUmxjM1J5WldGdElHbHVaR1Y0SUdaeWIyMGdiV0ZwYmlCb1pXRmtaWEk2SUhzS0FFTnZaR1Z6ZEhKbFlXMGdhVzVtYnlCbWNtOXRJRzFoYVc0Z2FHVmhaR1Z5T2lCN0NnQlRkSEpsWVcwZ1pYSnliM0lnZDJocGJHVWdjbVZoWkdsdVp5QktVRElnU0dWaFpHVnlJR0p2ZUFvQVJtOTFibVFnWVNCdGFYTndiR0ZqWldRZ0p5VmpKV01sWXlWakp5QmliM2dnYjNWMGMybGtaU0JxY0RKb0lHSnZlQW9BVFdGc1ptOXliV1ZrSUVwUU1pQm1hV3hsSUdadmNtMWhkRG9nWm1seWMzUWdZbTk0SUcxMWMzUWdZbVVnU2xCRlJ5QXlNREF3SUhOcFoyNWhkSFZ5WlNCaWIzZ0tBRTFoYkdadmNtMWxaQ0JLVURJZ1ptbHNaU0JtYjNKdFlYUTZJSE5sWTI5dVpDQmliM2dnYlhWemRDQmlaU0JtYVd4bElIUjVjR1VnWW05NENnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJvWVc1a2JHVWdhbkJsWnpJd01EQWdZbTk0Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCM2FYUm9JRVpVV1ZBZ1FtOTRDZ0JCSUcxaGNtdGxjaUJKUkNCM1lYTWdaWGh3WldOMFpXUWdLREI0Wm1ZdExTa2dhVzV6ZEdWaFpDQnZaaUFsTGpoNENnQUpDU0J0WTNROUpYZ0tBQWtKQ1NCallteHJjM1I1UFNVamVBb0FDUWtKSUdOemRIazlKU040Q2dBSkNTQndjbWM5SlNONENnQkpiblJsWjJWeUlHOTJaWEptYkc5M0NnQUpJSFJrZUQwbGRTd2dkR1I1UFNWMUNnQUpJSFIzUFNWMUxDQjBhRDBsZFFvQUNTQjBlREE5SlhVc0lIUjVNRDBsZFFvQVNXNTJZV3hwWkNCamIyMXdiMjVsYm5RZ2FXNWtaWGc2SUNWMUNnQlRkSEpsWVcwZ2RHOXZJSE5vYjNKMENnQk5ZWEpyWlhJZ2FHRnVaR3hsY2lCbWRXNWpkR2x2YmlCbVlXbHNaV1FnZEc4Z2NtVmhaQ0IwYUdVZ2JXRnlhMlZ5SUhObFoyMWxiblFLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUdadmNpQmpkWEp5Wlc1MElIQnlaV05wYm1OMElHTnZaR1ZpYkc5amF5QmxiR1Z0Wlc1MENnQkZjbkp2Y2lCeVpXRmthVzVuSUZOUVEyOWtJRk5RUTI5aklHVnNaVzFsYm5RS0FFVnljbTl5SUhKbFlXUnBibWNnVTFGalpDQnZjaUJUVVdOaklHVnNaVzFsYm5RS0FFRWdRbEJEUXlCb1pXRmtaWElnWW05NElHbHpJR0YyWVdsc1lXSnNaU0JoYkhSb2IzVm5hQ0JDVUVNZ1oybDJaVzRnWW5rZ2RHaGxJRWxJUkZJZ1ltOTRJQ2dsWkNrZ2FXNWthV05oZEdVZ1kyOXRjRzl1Wlc1MGN5QmlhWFFnWkdWd2RHZ2dhWE1nWTI5dWMzUmhiblFLQUVWeWNtOXlJSGRwZEdnZ1UwbGFJRzFoY210bGNqb2dhV3hzWldkaGJDQjBhV3hsSUc5bVpuTmxkQW9BU1c1MllXeHBaQ0J3Y21WamFXNWpkQW9BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z2FHRnVaR3hsSUdKaGJtUWdjSEpsWTJsdWRITUtBRVpoYVd4bFpDQjBieUJrWldOdlpHVWdZV3hzSUhWelpXUWdZMjl0Y0c5dVpXNTBjd29BVTJsNlpTQnZaaUJqYjJSbElHSnNiMk5ySUdSaGRHRWdaWGhqWldWa2N5QnplWE4wWlcwZ2JHbHRhWFJ6Q2dCVGFYcGxJRzltSUhScGJHVWdaR0YwWVNCbGVHTmxaV1J6SUhONWMzUmxiU0JzYVcxcGRITUtBRU5oYm01dmRDQjBZV3RsSUdsdUlHTm9ZWEpuWlNCdGRXeDBhWEJzWlNCTlExUWdiV0Z5YTJWeWN3b0FRMjl5Y25Wd2RHVmtJRkJRVFNCdFlYSnJaWEp6Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCbWIzSWdkR2xzWlNCeVpYTnZiSFYwYVc5dWN3b0FRMkZ1Ym05MElIUmhhMlVnYVc0Z1kyaGhjbWRsSUcxMWJIUnBjR3hsSUdOdmJHeGxZM1JwYjI1ekNnQkpiblpoYkdsa0lGQkRURklnWW05NExpQlNaWEJ2Y25SeklEQWdjR0ZzWlhSMFpTQmpiMngxYlc1ekNnQlhaU0JrYnlCdWIzUWdjM1Z3Y0c5eWRDQlNUMGtnYVc0Z1pHVmpiMlJwYm1jZ1NGUWdZMjlrWldKc2IyTnJjd29BUTJGdWJtOTBJR2hoYm1Sc1pTQmliM2dnYjJZZ2RXNWtaV1pwYm1Wa0lITnBlbVZ6Q2dCRFlXNXViM1FnZEdGclpTQnBiaUJqYUdGeVoyVWdZMjlzYkdWamRHbHZibk1nZDJsMGFHOTFkQ0J6WVcxbElHNTFiV0psY2lCdlppQnBibVJwZUdWekNnQkpiblpoYkdsa0lIUnBiR1ZqTFQ1M2FXNWZlSGg0SUhaaGJIVmxjd29BUTJGdWJtOTBJR2hoYm1Sc1pTQmliM2dnYjJZZ2JHVnpjeUIwYUdGdUlEZ2dZbmwwWlhNS0FFTmhibTV2ZENCb1lXNWtiR1VnV0V3Z1ltOTRJRzltSUd4bGMzTWdkR2hoYmlBeE5pQmllWFJsY3dvQVEyOXRjRzl1Wlc1MElHbHVaR1Y0SUNWMUlIVnpaV1FnYzJWMlpYSmhiQ0IwYVcxbGN3b0FTVzUyWVd4cFpDQlFRMHhTSUdKdmVDNGdVbVZ3YjNKMGN5QWxaQ0JsYm5SeWFXVnpDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCamNtVmhkR1VnVkdGbkxYUnlaV1VnYm05a1pYTUtBRU5oYm01dmRDQjBZV3RsSUdsdUlHTm9ZWEpuWlNCdFkzUWdaR0YwWVNCM2FYUm9hVzRnYlhWc2RHbHdiR1VnVFVOVUlISmxZMjl5WkhNS0FFTmhibTV2ZENCa1pXTnZaR1VnZEdsc1pTd2diV1Z0YjNKNUlHVnljbTl5Q2dCdmNHcGZhakpyWDJGd2NHeDVYMjVpWDNScGJHVmZjR0Z5ZEhOZlkyOXljbVZqZEdsdmJpQmxjbkp2Y2dvQVVISnZZbXhsYlNCM2FYUm9JSE5yYVhCd2FXNW5JRXBRUlVjeU1EQXdJR0p2ZUN3Z2MzUnlaV0Z0SUdWeWNtOXlDZ0JRY205aWJHVnRJSGRwZEdnZ2NtVmhaR2x1WnlCS1VFVkhNakF3TUNCaWIzZ3NJSE4wY21WaGJTQmxjbkp2Y2dvQVZXNXJibTkzYmlCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHRmtaQ0IwYkNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHRmtaQ0J0YUNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklIUmhhMlVnYVc0Z1kyaGhjbWRsSUZOSldpQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVUZCVUlHMWhjbXRsY2dvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdjbVZoWkNCUVVGUWdiV0Z5YTJWeUNnQkZjbkp2Y2lCeVpXRmthVzVuSUZOUFZDQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVUV4VUlHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJOUTFRZ2JXRnlhMlZ5Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCMGJ5QnlaV0ZrSUUxRFZDQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2djM0JoWTJVZ1ptOXlJR1Y0Y0dWamRHVmtJRk5QVUNCdFlYSnJaWElLQUVWNGNHVmpkR1ZrSUZOUFVDQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVFVOUElHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJTUjA0Z2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRkJRVFNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklISmxZV1FnVUZCTklHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJVVEUwZ2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRkJNVFNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2MzQmhZMlVnWm05eUlHVjRjR1ZqZEdWa0lFVlFTQ0J0WVhKclpYSUtBRVY0Y0dWamRHVmtJRVZRU0NCdFlYSnJaWElLQUVWeWNtOXlJSEpsWVdScGJtY2dRMUpISUcxaGNtdGxjZ29BVlc1cmJtOTNiaUJ3Y205bmNtVnpjMmx2YmlCdmNtUmxjaUJwYmlCRFQwUWdiV0Z5YTJWeUNnQlZibXR1YjNkdUlGTmpiMlFnZG1Gc2RXVWdhVzRnUTA5RUlHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJEVDBRZ2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRkZEUkNCdFlYSnJaWElLQUVOeWNtOXlJSEpsWVdScGJtY2dRMEpFSUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlFUME1nYldGeWEyVnlDZ0JGY25KdmNpQnlaV0ZrYVc1bklFTlBReUJ0WVhKclpYSUtBRVZ5Y205eUlISmxZV1JwYm1jZ1VVTkRJRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCTlEwTWdiV0Z5YTJWeUNnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJ5WldGa0lFMURReUJ0WVhKclpYSUtBSEpsY1hWcGNtVmtJRk5KV2lCdFlYSnJaWElnYm05MElHWnZkVzVrSUdsdUlHMWhhVzRnYUdWaFpHVnlDZ0J5WlhGMWFYSmxaQ0JEVDBRZ2JXRnlhMlZ5SUc1dmRDQm1iM1Z1WkNCcGJpQnRZV2x1SUdobFlXUmxjZ29BY21WeGRXbHlaV1FnVVVORUlHMWhjbXRsY2lCdWIzUWdabTkxYm1RZ2FXNGdiV0ZwYmlCb1pXRmtaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHaGhibVJzWlNCcWNHVm5NakF3TUNCbWFXeGxJR2hsWVdSbGNnb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnY21WaFpDQm9aV0ZrWlhJS0FFVnljbTl5SUhkcGRHZ2dTbEFnVTJsbmJtRjBkWEpsSURvZ1ltRmtJRzFoWjJsaklHNTFiV0psY2dvQVNXNGdVMDlVSUcxaGNtdGxjaXdnVkZCVGIzUWdLQ1ZrS1NCcGN5QnViM1FnZG1Gc2FXUWdjbVZuWVhKa2N5QjBieUIwYUdVZ1kzVnljbVZ1ZENCdWRXMWlaWElnYjJZZ2RHbHNaUzF3WVhKMElDZ2xaQ2tzSUdkcGRtbHVaeUIxY0FvQVNXNGdVMDlVSUcxaGNtdGxjaXdnVkZCVGIzUWdLQ1ZrS1NCcGN5QnViM1FnZG1Gc2FXUWdjbVZuWVhKa2N5QjBieUIwYUdVZ2NISmxkbWx2ZFhNZ2JuVnRZbVZ5SUc5bUlIUnBiR1V0Y0dGeWRDQW9KV1FwTENCbmFYWnBibWNnZFhBS0FFbHVJRk5QVkNCdFlYSnJaWElzSUZSUVUyOTBJQ2dsWkNrZ2FYTWdibTkwSUhaaGJHbGtJSEpsWjJGeVpITWdkRzhnZEdobElHTjFjbkpsYm5RZ2JuVnRZbVZ5SUc5bUlIUnBiR1V0Y0dGeWRDQW9hR1ZoWkdWeUtTQW9KV1FwTENCbmFYWnBibWNnZFhBS0FIUnBiR1Z6SUhKbGNYVnBjbVVnWVhRZ2JHVmhjM1FnYjI1bElISmxjMjlzZFhScGIyNEtBRTFoY210bGNpQnBjeUJ1YjNRZ1kyOXRjR3hwWVc1MElIZHBkR2dnYVhSeklIQnZjMmwwYVc5dUNnQlFjbTlpYkdWdElIZHBkR2dnYzJWbGF5Qm1kVzVqZEdsdmJnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCVFVFTnZaQ0JUVUVOdll5QmxiR1Z0Wlc1MExDQkpiblpoYkdsa0lHTmliR3QzTDJOaWJHdG9JR052YldKcGJtRjBhVzl1Q2dCSmJuWmhiR2xrSUcxMWJIUnBjR3hsSUdOdmJYQnZibVZ1ZENCMGNtRnVjMlp2Y20xaGRHbHZiZ29BUTJGdWJtOTBJSFJoYTJVZ2FXNGdZMmhoY21kbElHTnZiR3hsWTNScGIyNXpJRzkwYUdWeUlIUm9ZVzRnWVhKeVlYa2daR1ZqYjNKeVpXeGhkR2x2YmdvQVZHOXZJR3hoY21kbElIWmhiSFZsSUdadmNpQk9jSEJ0Q2dCT2IzUWdaVzV2ZFdkb0lHSjVkR1Z6SUhSdklISmxZV1FnVG5Cd2JRb0FZbUZrSUhCc1lXTmxaQ0JxY0dWbklHTnZaR1Z6ZEhKbFlXMEtBQWtnVFdGcGJpQm9aV0ZrWlhJZ2MzUmhjblFnY0c5emFYUnBiMjQ5Sld4c2FRb0pJRTFoYVc0Z2FHVmhaR1Z5SUdWdVpDQndiM05wZEdsdmJqMGxiR3hwQ2dCTllYSnJaWElnYzJsNlpTQnBibU52Ym5OcGMzUmxiblFnZDJsMGFDQnpkSEpsWVcwZ2JHVnVaM1JvQ2dCVWFXeGxJSEJoY25RZ2JHVnVaM1JvSUhOcGVtVWdhVzVqYjI1emFYTjBaVzUwSUhkcGRHZ2djM1J5WldGdElHeGxibWQwYUFvQVEyRnVibTkwSUhSaGEyVWdhVzRnWTJoaGNtZGxJRzExYkhScGNHeGxJR1JoZEdFZ2MzQmhibTVwYm1jS0FGZHliMjVuSUdac1lXY0tBRVZ5Y205eUlIZHBkR2dnUmxSWlVDQnphV2R1WVhSMWNtVWdRbTk0SUhOcGVtVUtBRVZ5Y205eUlIZHBkR2dnU2xBZ2MybG5ibUYwZFhKbElFSnZlQ0J6YVhwbENnQkpiblpoYkdsa0lIQnlaV05wYm1OMElITnBlbVVLQUVsdVkyOXVjMmx6ZEdWdWRDQnRZWEpyWlhJZ2MybDZaUW9BU1c1MllXeHBaQ0J0WVhKclpYSWdjMmw2WlFvQVJYSnliM0lnZDJsMGFDQlRTVm9nYldGeWEyVnlJSE5wZW1VS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJR0ZrWkNCaElHNWxkeUIyWVd4cFpHRjBhVzl1SUhCeWIyTmxaSFZ5WlFvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdaR1ZqYjJSbElIUnBiR1VLQUVaaGFXeGxaQ0IwYnlCa1pXTnZaR1VnZEdobElHTnZaR1Z6ZEhKbFlXMGdhVzRnZEdobElFcFFNaUJtYVd4bENnQkRZVzV1YjNRZ2RHRnJaU0JwYmlCamFHRnlaMlVnWTI5c2JHVmpkR2x2Ym5NZ2QybDBhQ0JwYm1ScGVDQnphSFZtWm14bENnQkRZVzV1YjNRZ1lXeHNiMk5oZEdVZ1ZHbGxjaUF4SUdoaGJtUnNaUW9BVG04Z1pHVmpiMlJsWkNCaGNtVmhJSEJoY21GdFpYUmxjbk1zSUhObGRDQjBhR1VnWkdWamIyUmxaQ0JoY21WaElIUnZJSFJvWlNCM2FHOXNaU0JwYldGblpRb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnWTNKbFlYUmxJRlJoWnkxMGNtVmxDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCeVpXbHVhWFJwWVd4cGVtVWdkR2hsSUhSaFp5QjBjbVZsQ2dCRmNuSnZjaUJ5WldGa2FXNW5JRk5RUTI5a0lGTlFRMjlqSUdWc1pXMWxiblFzSUVsdWRtRnNhV1FnZEhKaGJuTm1iM0p0WVhScGIyNGdabTkxYm1RS0FFVnljbTl5SUhKbFlXUnBibWNnVTFCRGIyUWdVMUJEYjJNZ1pXeGxiV1Z1ZEM0Z1ZXNXpkWEJ3YjNKMFpXUWdUV2w0WldRZ1NGUWdZMjlrWlMxaWJHOWpheUJ6ZEhsc1pTQm1iM1Z1WkFvQVZHbHNaU0JaSUdOdmIzSmthVzVoZEdWeklHRnlaU0J1YjNRZ2MzVndjRzl5ZEdWa0NnQlVhV3hsSUZnZ1kyOXZjbVJwYm1GMFpYTWdZWEpsSUc1dmRDQnpkWEJ3YjNKMFpXUUtBRWx0WVdkbElHTnZiM0prYVc1aGRHVnpJR0ZpYjNabElFbE9WRjlOUVZnZ1lYSmxJRzV2ZENCemRYQndiM0owWldRS0FFcFFSVWN5TURBd0lFaGxZV1JsY2lCaWIzZ2dibTkwSUhKbFlXUWdlV1YwTENBbkpXTWxZeVZqSldNbklHSnZlQ0IzYVd4c0lHSmxJR2xuYm05eVpXUUtBRzl3YWw5cU1tdGZiV1Z5WjJWZmNIQjBLQ2tnYUdGeklHRnNjbVZoWkhrZ1ltVmxiaUJqWVd4c1pXUUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUhKbFlXUWdVMDlVSUcxaGNtdGxjaTRnVkdsc1pTQnBibVJsZUNCaGJHeHZZMkYwYVc5dUlHWmhhV3hsWkFvQVNXZHViM0pwYm1jZ2FXaGtjaUJpYjNndUlFWnBjbk4wSUdsb1pISWdZbTk0SUdGc2NtVmhaSGtnY21WaFpBb0FXbkJ3ZENBbGRTQmhiSEpsWVdSNUlISmxZV1FLQUZwd2NHMGdKWFVnWVd4eVpXRmtlU0J5WldGa0NnQlFWRVZTVFNCamFHVmpheUJtWVdsc2RYSmxPaUFsWkNCemVXNTBhR1YwYVhwbFpDQXdlRVpHSUcxaGNtdGxjbk1nY21WaFpBb0FDUWtKSUdOaWJHdDNQVEplSldRS0FBa0pDU0JqWW14cmFEMHlYaVZrQ2dBSkNRa2djVzUwYzNSNVBTVmtDZ0FsY3lCa2VEMGxaQ3dnWkhrOUpXUUtBQWtKQ1NCeWIybHphR2xtZEQwbFpBb0FDUWtKSUc1MWJXZGlhWFJ6UFNWa0NnQUpDU0J1ZFcxc1lYbGxjbk05SldRS0FDVnpJRzUxYldOdmJYQnpQU1ZrQ2dCdmNHcGZhbkF5WDJGd2NHeDVYMk5rWldZNklHRmpiajBsWkN3Z2JuVnRZMjl0Y0hNOUpXUUtBRzl3YWw5cWNESmZZWEJ3YkhsZlkyUmxaam9nWTI0OUpXUXNJRzUxYldOdmJYQnpQU1ZrQ2dBSkNRa2diblZ0Y21WemIyeDFkR2x2Ym5NOUpXUUtBQWtKSUhSNWNHVTlKU040TENCd2IzTTlKV3hzYVN3Z2JHVnVQU1ZrQ2dBbGN5QnpaMjVrUFNWa0NnQUpDUWtnY1cxbVltbGtQU1ZrQ2dBbGN5QndjbVZqUFNWa0NnQUpDU0J1WWlCdlppQjBhV3hsTFhCaGNuUWdhVzRnZEdsc1pTQmJKV1JkUFNWa0NnQWxjeUI0TVQwbFpDd2dlVEU5SldRS0FDVnpJSGd3UFNWa0xDQjVNRDBsWkFvQVJtRnBiR1ZrSUhSdklHUmxZMjlrWlNCMGFXeGxJQ1ZrTHlWa0NnQlRaWFIwYVc1bklHUmxZMjlrYVc1bklHRnlaV0VnZEc4Z0pXUXNKV1FzSldRc0pXUUtBRVpoYVd4bFpDQjBieUJrWldOdlpHVWdZMjl0Y0c5dVpXNTBJQ1ZrQ2dCSmJuWmhiR2xrSUhaaGJIVmxJR1p2Y2lCdWRXMXlaWE52YkhWMGFXOXVjeUE2SUNWa0xDQnRZWGdnZG1Gc2RXVWdhWE1nYzJWMElHbHVJRzl3Wlc1cWNHVm5MbWdnWVhRZ0pXUUtBRWx1ZG1Gc2FXUWdZMjl0Y0c5dVpXNTBJRzUxYldKbGNqb2dKV1FzSUhKbFoyRnlaR2x1WnlCMGFHVWdiblZ0WW1WeUlHOW1JR052YlhCdmJtVnVkSE1nSldRS0FGUnZieUJ0WVc1NUlGQlBRM01nSldRS0FFbHVkbUZzYVdRZ2RHbHNaU0J1ZFcxaVpYSWdKV1FLQUVsdWRtRnNhV1FnZEdsc1pTQndZWEowSUdsdVpHVjRJR1p2Y2lCMGFXeGxJRzUxYldKbGNpQWxaQzRnUjI5MElDVmtMQ0JsZUhCbFkzUmxaQ0FsWkFvQVJYSnliM0lnZDJsMGFDQlRTVm9nYldGeWEyVnlPaUJ1ZFcxaVpYSWdiMllnWTI5dGNHOXVaVzUwSUdseklHbHNiR1ZuWVd3Z0xUNGdKV1FLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUdadmNpQmphV1ZzWVdJS0FFTmhibTV2ZENCaGJHeHZZMkYwWlNCallteHJMVDVrWldOdlpHVmtYMlJoZEdFS0FFWmhhV3hsWkNCMGJ5QnRaWEpuWlNCUVVGUWdaR0YwWVFvQVJtRnBiR1ZrSUhSdklHMWxjbWRsSUZCUVRTQmtZWFJoQ2dCSmJuWmhiR2xrSUc1MWJXSmxjaUJ2WmlCc1lYbGxjbk1nYVc0Z1EwOUVJRzFoY210bGNpQTZJQ1ZrSUc1dmRDQnBiaUJ5WVc1blpTQmJNUzAyTlRVek5WMEtBQ1Z6T2lWa09tTnZiRzl5WDJOdGVXdGZkRzlmY21kaUNnbERRVTRnVGs5VUlFTlBUbFpGVWxRS0FDVnpPaVZrT21OdmJHOXlYMlZ6ZVdOalgzUnZYM0puWWdvSlEwRk9JRTVQVkNCRFQwNVdSVkpVQ2dBbGN6b2xaRHBqYjJ4dmNsOXplV05qWDNSdlgzSm5ZZ29KUTBGT0lFNVBWQ0JEVDA1V1JWSlVDZ0JUZEhKbFlXMGdkRzl2SUhOb2IzSjBMQ0JsZUhCbFkzUmxaQ0JUVDFRS0FGVnVZV0pzWlNCMGJ5QnpaWFFnZERFZ2FHRnVaR3hsSUdGeklGUk1Vd29BVTNSeVpXRnRJR1J2WlhNZ2JtOTBJR1Z1WkNCM2FYUm9JRVZQUXdvQVEyRnVibTkwSUdoaGJtUnNaU0JpYjNnZ2MybDZaWE1nYUdsbmFHVnlJSFJvWVc0Z01sNHpNZ29BYjNCcVgzQnBYMjVsZUhSZmJISmpjQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZmNteGpjQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZlkzQnliQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZmNHTnliQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZmNuQmpiQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzUXhYMlJsWTI5a1pWOWpZbXhyS0NrNklIVnVjM1Z3Y0c5eWRHVmtJR0p3Ym05ZmNHeDFjMTl2Ym1VZ1BTQWxaQ0ErUFNBek1Rb0FSbUZwYkdWa0lIUnZJR1JsWTI5a1pTQjBhV3hsSURFdk1Rb0FTVzV6ZFdabWFXTnBaVzUwSUdSaGRHRWdabTl5SUVOTlFWQWdZbTk0TGdvQVRtVmxaQ0IwYnlCeVpXRmtJR0VnVUVOTVVpQmliM2dnWW1WbWIzSmxJSFJvWlNCRFRVRlFJR0p2ZUM0S0FFbHVjM1ZtWm1samFXVnVkQ0JrWVhSaElHWnZjaUJEUkVWR0lHSnZlQzRLQUU1MWJXSmxjaUJ2WmlCamFHRnVibVZzSUdSbGMyTnlhWEIwYVc5dUlHbHpJR1Z4ZFdGc0lIUnZJSHBsY204Z2FXNGdRMFJGUmlCaWIzZ3VDZ0JUZEhKbFlXMGdaWEp5YjNJZ2QyaHBiR1VnY21WaFpHbHVaeUJLVURJZ1NHVmhaR1Z5SUdKdmVEb2dibThnSjJsb1pISW5JR0p2ZUM0S0FFNXZiaUJqYjI1bWIzSnRZVzUwSUdOdlpHVnpkSEpsWVcwZ1ZGQnpiM1E5UFZST2MyOTBMZ29BVTNSeVpXRnRJR1Z5Y205eUlIZG9hV3hsSUhKbFlXUnBibWNnU2xBeUlFaGxZV1JsY2lCaWIzZzZJR0p2ZUNCc1pXNW5kR2dnYVhNZ2FXNWpiMjV6YVhOMFpXNTBMZ29BUW05NElHeGxibWQwYUNCcGN5QnBibU52Ym5OcGMzUmxiblF1Q2dCU1pYTnZiSFYwYVc5dUlHWmhZM1J2Y2lCcGN5Qm5jbVZoZEdWeUlIUm9ZVzRnZEdobElHMWhlR2x0ZFcwZ2NtVnpiMngxZEdsdmJpQnBiaUIwYUdVZ1kyOXRjRzl1Wlc1MExnb0FRMjl0Y0c5dVpXNTBJRzFoY0hCcGJtY2djMlZsYlhNZ2QzSnZibWN1SUZSeWVXbHVaeUIwYnlCamIzSnlaV04wTGdvQVNXNWpiMjF3YkdWMFpTQmphR0Z1Ym1Wc0lHUmxabWx1YVhScGIyNXpMZ29BVFdGc1ptOXliV1ZrSUVoVUlHTnZaR1ZpYkc5amF5NGdTVzUyWVd4cFpDQmpiMlJsWW14dlkyc2diR1Z1WjNSb0lIWmhiSFZsY3k0S0FGZGxJR1J2SUc1dmRDQnpkWEJ3YjNKMElHMXZjbVVnZEdoaGJpQXpJR052WkdsdVp5QndZWE56WlhNZ2FXNGdZVzRnU0ZRZ1kyOWtaV0pzYjJOck95QlVhR2x6SUdOdlpHVmliRzlqYTNNZ2FHRnpJQ1ZrSUhCaGMzTmxjeTRLQUUxaGJHWnZjbTFsWkNCSVZDQmpiMlJsWW14dlkyc3VJRVJsWTI5a2FXNW5JSFJvYVhNZ1kyOWtaV0pzYjJOcklHbHpJSE4wYjNCd1pXUXVJRlJvWlhKbElHRnlaU0FsWkNCNlpYSnZJR0pwZEhCc1lXNWxjeUJwYmlBbFpDQmlhWFJ3YkdGdVpYTXVDZ0JEWVc1dWIzUWdkR0ZyWlNCcGJpQmphR0Z5WjJVZ2JYVnNkR2x3YkdVZ2RISmhibk5tYjNKdFlYUnBiMjRnYzNSaFoyVnpMZ29BVlc1cmJtOTNiaUJ0WVhKclpYSWdhR0Z6SUdKbFpXNGdaR1YwWldOMFpXUWdZVzVrSUdkbGJtVnlZWFJsWkNCbGNuSnZjaTRLQUVOdlpHVmpJSEJ5YjNacFpHVmtJSFJ2SUhSb1pTQnZjR3BmYzJWMGRYQmZaR1ZqYjJSbGNpQm1kVzVqZEdsdmJpQnBjeUJ1YjNRZ1lTQmtaV052YlhCeVpYTnpiM0lnYUdGdVpHeGxjaTRLQUVOdlpHVmpJSEJ5YjNacFpHVmtJSFJ2SUhSb1pTQnZjR3BmY21WaFpGOW9aV0ZrWlhJZ1puVnVZM1JwYjI0Z2FYTWdibTkwSUdFZ1pHVmpiMjF3Y21WemMyOXlJR2hoYm1Sc1pYSXVDZ0JVYVd4bGN5QmtiMjRuZENCaGJHd2dhR0YyWlNCMGFHVWdjMkZ0WlNCa2FXMWxibk5wYjI0dUlGTnJhWEFnZEdobElFMURWQ0J6ZEdWd0xnb0FUblZ0WW1WeUlHOW1JR052YlhCdmJtVnVkSE1nS0NWa0tTQnBjeUJwYm1OdmJuTnBjM1JsYm5RZ2QybDBhQ0JoSUUxRFZDNGdVMnRwY0NCMGFHVWdUVU5VSUhOMFpYQXVDZ0JLVURJZ1ltOTRJSGRvYVdOb0lHRnlaU0JoWm5SbGNpQjBhR1VnWTI5a1pYTjBjbVZoYlNCM2FXeHNJRzV2ZENCaVpTQnlaV0ZrSUdKNUlIUm9hWE1nWm5WdVkzUnBiMjR1Q2dCTllXeG1iM0p0WldRZ1NGUWdZMjlrWldKc2IyTnJMaUJYYUdWdUlIUm9aU0J1ZFcxaVpYSWdiMllnZW1WeWJ5QndiR0Z1WlhNZ1ltbDBjR3hoYm1WeklHbHpJR1Z4ZFdGc0lIUnZJSFJvWlNCdWRXMWlaWElnYjJZZ1ltbDBjR3hoYm1WekxDQnZibXg1SUhSb1pTQmpiR1ZoYm5Wd0lIQmhjM01nYldGclpYTWdjMlZ1YzJVc0lHSjFkQ0IzWlNCb1lYWmxJQ1ZrSUhCaGMzTmxjeUJwYmlCMGFHbHpJR052WkdWaWJHOWpheTRnVkdobGNtVm1iM0psTENCdmJteDVJSFJvWlNCamJHVmhiblZ3SUhCaGMzTWdkMmxzYkNCaVpTQmtaV052WkdWa0xpQlVhR2x6SUcxbGMzTmhaMlVnZDJsc2JDQnViM1FnWW1VZ1pHbHpjR3hoZVdWa0lHRm5ZV2x1TGdvQVNXMWhaMlVnYUdGeklHeGxjM01nWTI5dGNHOXVaVzUwY3lCMGFHRnVJR052WkdWemRISmxZVzB1Q2dCT1pXVmtJSFJ2SUdSbFkyOWtaU0IwYUdVZ2JXRnBiaUJvWldGa1pYSWdZbVZtYjNKbElHSmxaMmx1SUhSdklHUmxZMjlrWlNCMGFHVWdjbVZ0WVdsdWFXNW5JR052WkdWemRISmxZVzB1Q2dCUWMyOTBJSFpoYkhWbElHOW1JSFJvWlNCamRYSnlaVzUwSUhScGJHVXRjR0Z5ZENCcGN5QmxjWFZoYkNCMGJ5QjZaWEp2TENCM1pTQmhjM04xYldsdVp5QnBkQ0JwY3lCMGFHVWdiR0Z6ZENCMGFXeGxMWEJoY25RZ2IyWWdkR2hsSUdOdlpHVnpkSEpsWVcwdUNnQkJJRzFoYkdadmNtMWxaQ0JqYjJSbFlteHZZMnNnZEdoaGRDQm9ZWE1nYlc5eVpTQjBhR0Z1SUc5dVpTQmpiMlJwYm1jZ2NHRnpjeXdnWW5WMElIcGxjbThnYkdWdVozUm9JR1p2Y2lBeWJtUWdZVzVrSUhCdmRHVnVkR2xoYkd4NUlIUm9aU0F6Y21RZ2NHRnpjeUJwYmlCaGJpQklWQ0JqYjJSbFlteHZZMnN1Q2dBSkNRa2dkR2xzWlMxd1lYSjBXeVZrWFRvZ2MzUmhjbDl3YjNNOUpXeHNhU3dnWlc1a1gyaGxZV1JsY2owbGJHeHBMQ0JsYm1SZmNHOXpQU1ZzYkdrdUNnQlVhV3hsSUNWMUlHaGhjeUJVVUhOdmRDQTlQU0F3SUdGdVpDQlVUbk52ZENBOVBTQXdMQ0JpZFhRZ2JtOGdiM1JvWlhJZ2RHbHNaUzF3WVhKMGN5QjNaWEpsSUdadmRXNWtMaUJGVDBNZ2FYTWdZV3h6YnlCdGFYTnphVzVuTGdvQVEyOXRjRzl1Wlc1MElDVmtJR1J2WlhOdUozUWdhR0YyWlNCaElHMWhjSEJwYm1jdUNnQkJJR052Ym1admNtMXBibWNnU2xBeUlISmxZV1JsY2lCemFHRnNiQ0JwWjI1dmNtVWdZV3hzSUVOdmJHOTFjaUJUY0dWamFXWnBZMkYwYVc5dUlHSnZlR1Z6SUdGbWRHVnlJSFJvWlNCbWFYSnpkQ3dnYzI4Z2QyVWdhV2R1YjNKbElIUm9hWE1nYjI1bExnb0FWR2hsSUhOcFoyNWhkSFZ5WlNCaWIzZ2diWFZ6ZENCaVpTQjBhR1VnWm1seWMzUWdZbTk0SUdsdUlIUm9aU0JtYVd4bExnb0FWR2hsSUNCaWIzZ2diWFZ6ZENCaVpTQjBhR1VnWm1seWMzUWdZbTk0SUdsdUlIUm9aU0JtYVd4bExnb0FWR2hsSUdaMGVYQWdZbTk0SUcxMWMzUWdZbVVnZEdobElITmxZMjl1WkNCaWIzZ2dhVzRnZEdobElHWnBiR1V1Q2dCR1lXbHNaV1FnZEc4Z1pHVmpiMlJsTGdvQVRXRnNabTl5YldWa0lFaFVJR052WkdWaWJHOWpheTRnU1c1amIzSnlaV04wSUUxRlRDQnpaV2R0Wlc1MElITmxjWFZsYm1ObExnb0FRMjl0Y0c5dVpXNTBJQ1ZrSUdseklHMWhjSEJsWkNCMGQybGpaUzRLQUU5dWJIa2diMjVsSUVOTlFWQWdZbTk0SUdseklHRnNiRzkzWldRdUNnQlhaU0J1WldWa0lHRnVJR2x0WVdkbElIQnlaWFpwYjNWemJIa2dZM0psWVhSbFpDNEtBRWxJUkZJZ1ltOTRYMjFwYzNOcGJtY3VJRkpsY1hWcGNtVmtMZ29BU2xBeVNDQmliM2dnYldsemMybHVaeTRnVW1WeGRXbHlaV1F1Q2dCT2IzUWdjM1Z5WlNCb2IzY2dkR2hoZENCb1lYQndaVzVsWkM0S0FFMWhhVzRnYUdWaFpHVnlJR2hoY3lCaVpXVnVJR052Y25KbFkzUnNlU0JrWldOdlpHVmtMZ29BVkdsc1pTQWxaQzhsWkNCb1lYTWdZbVZsYmlCa1pXTnZaR1ZrTGdvQVNHVmhaR1Z5SUc5bUlIUnBiR1VnSldRZ0x5QWxaQ0JvWVhNZ1ltVmxiaUJ5WldGa0xnb0FSVzF3ZEhrZ1UwOVVJRzFoY210bGNpQmtaWFJsWTNSbFpEb2dVSE52ZEQwbFpDNEtBRVJwY21WamRDQjFjMlVnWVhRZ0l5VmtJR2h2ZDJWMlpYSWdjR052YkQwbFpDNEtBRWx0Y0d4bGJXVnVkR0YwYVc5dUlHeHBiV2wwWVhScGIyNDZJR1p2Y2lCd1lXeGxkSFJsSUcxaGNIQnBibWNzSUhCamIyeGJKV1JkSUhOb2IzVnNaQ0JpWlNCbGNYVmhiQ0IwYnlBbFpDd2dZblYwSUdseklHVnhkV0ZzSUhSdklDVmtMZ29BU1c1MllXeHBaQ0JqYjIxd2IyNWxiblF2Y0dGc1pYUjBaU0JwYm1SbGVDQm1iM0lnWkdseVpXTjBJRzFoY0hCcGJtY2dKV1F1Q2dCSmJuWmhiR2xrSUhaaGJIVmxJR1p2Y2lCamJXRndXeVZrWFM1dGRIbHdJRDBnSldRdUNnQlFjMjkwSUhaaGJIVmxJR2x6SUc1dmRDQmpiM0p5WldOMElISmxaMkZ5WkhNZ2RHOGdkR2hsSUVwUVJVY3lNREF3SUc1dmNtMDZJQ1ZrTGdvQVRXRnNabTl5YldWa0lFaFVJR052WkdWaWJHOWpheTRnVmt4RElHTnZaR1VnY0hKdlpIVmpaWE1nYzJsbmJtbG1hV05oYm5RZ2MyRnRjR3hsY3lCdmRYUnphV1JsSUhSb1pTQmpiMlJsWW14dlkyc2dZWEpsWVM0S0FGVnVaWGh3WldOMFpXUWdUMDlOTGdvQU16SWdZbWwwY3lCaGNtVWdibTkwSUdWdWIzVm5hQ0IwYnlCa1pXTnZaR1VnZEdocGN5QmpiMlJsWW14dlkyc3NJSE5wYm1ObElIUm9aU0J1ZFcxaVpYSWdiMllnWW1sMGNHeGhibVVzSUNWa0xDQnBjeUJzWVhKblpYSWdkR2hoYmlBek1DNEtBRUp2ZEhSdmJTQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlVEU5SldRcElITm9iM1ZzWkNCaVpTQStJREF1Q2dCU2FXZG9kQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZURFOUpXUXBJSE5vYjNWc1pDQmlaU0ErSURBdUNnQlZjQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZVRBOUpXUXBJSE5vYjNWc1pDQmlaU0ErUFNBd0xnb0FUR1ZtZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVEQTlKV1FwSUhOb2IzVnNaQ0JpWlNBK1BTQXdMZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlFVRlFnYldGeWEyVnlPaUJ3WVdOclpYUWdhR1ZoWkdWeUlHaGhkbVVnWW1WbGJpQndjbVYyYVc5MWMyeDVJR1p2ZFc1a0lHbHVJSFJvWlNCdFlXbHVJR2hsWVdSbGNpQW9VRkJOSUcxaGNtdGxjaWt1Q2dCVGRHRnlkQ0IwYnlCeVpXRmtJR295YXlCdFlXbHVJR2hsWVdSbGNpQW9KV3hzWkNrdUNnQkNiM1IwYjIwZ2NHOXphWFJwYjI0Z2IyWWdkR2hsSUdSbFkyOWtaV1FnWVhKbFlTQW9jbVZuYVc5dVgza3hQU1ZrS1NCcGN5QnZkWFJ6YVdSbElIUm9aU0JwYldGblpTQmhjbVZoSUNoWmMybDZQU1ZrS1M0S0FGVndJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQmtaV052WkdWa0lHRnlaV0VnS0hKbFoybHZibDk1TUQwbFpDa2dhWE1nYjNWMGMybGtaU0IwYUdVZ2FXMWhaMlVnWVhKbFlTQW9XWE5wZWowbFpDa3VDZ0JTYVdkb2RDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREU5SldRcElHbHpJRzkxZEhOcFpHVWdkR2hsSUdsdFlXZGxJR0Z5WldFZ0tGaHphWG85SldRcExnb0FUR1ZtZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVEQTlKV1FwSUdseklHOTFkSE5wWkdVZ2RHaGxJR2x0WVdkbElHRnlaV0VnS0ZoemFYbzlKV1FwTGdvQVFtOTBkRzl0SUhCdmMybDBhVzl1SUc5bUlIUm9aU0JrWldOdlpHVmtJR0Z5WldFZ0tISmxaMmx2Ymw5NU1UMGxaQ2tnYVhNZ2IzVjBjMmxrWlNCMGFHVWdhVzFoWjJVZ1lYSmxZU0FvV1U5emFYbzlKV1FwTGdvQVZYQWdjRzl6YVhScGIyNGdiMllnZEdobElHUmxZMjlrWldRZ1lYSmxZU0FvY21WbmFXOXVYM2t3UFNWa0tTQnBjeUJ2ZFhSemFXUmxJSFJvWlNCcGJXRm5aU0JoY21WaElDaFpUM05wZWowbFpDa3VDZ0JTYVdkb2RDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREU5SldRcElHbHpJRzkxZEhOcFpHVWdkR2hsSUdsdFlXZGxJR0Z5WldFZ0tGaFBjMmw2UFNWa0tTNEtBRXhsWm5RZ2NHOXphWFJwYjI0Z2IyWWdkR2hsSUdSbFkyOWtaV1FnWVhKbFlTQW9jbVZuYVc5dVgzZ3dQU1ZrS1NCcGN5QnZkWFJ6YVdSbElIUm9aU0JwYldGblpTQmhjbVZoSUNoWVQzTnBlajBsWkNrdUNnQlRhWHBsSUhnZ2IyWWdkR2hsSUdSbFkyOWtaV1FnWTI5dGNHOXVaVzUwSUdsdFlXZGxJR2x6SUdsdVkyOXljbVZqZENBb1kyOXRjRnNsWkYwdWR6MGxaQ2t1Q2dCVGFYcGxJSGtnYjJZZ2RHaGxJR1JsWTI5a1pXUWdZMjl0Y0c5dVpXNTBJR2x0WVdkbElHbHpJR2x1WTI5eWNtVmpkQ0FvWTI5dGNGc2xaRjB1YUQwbFpDa3VDZ0JVYVd4bElISmxZV1FzSUdSbFkyOWtaV1FnWVc1a0lIVndaR0YwWldRZ2FYTWdibTkwSUhSb1pTQmtaWE5wY21Wa0lHOXVaU0FvSldRZ2RuTWdKV1FwTGdvQVNXNTJZV3hwWkNCamIyMXdiMjVsYm5RZ2FXNWtaWGdnSldRZ0tENDlJQ1ZrS1M0S0FHOXdhbDl5WldGa1gyaGxZV1JsY2lncElITm9iM1ZzWkNCaVpTQmpZV3hzWldRZ1ltVm1iM0psSUc5d2FsOXpaWFJmWkdWamIyUmxaRjlqYjIxd2IyNWxiblJ6S0NrdUNnQk5aVzF2Y25rZ1lXeHNiMk5oZEdsdmJpQm1ZV2xzZFhKbElHbHVJRzl3YWw5cWNESmZZWEJ3YkhsZmNHTnNjaWdwTGdvQWFXMWhaMlV0UG1OdmJYQnpXeVZrWFM1a1lYUmhJRDA5SUU1VlRFd2dhVzRnYjNCcVgycHdNbDloY0hCc2VWOXdZMnh5S0NrdUNnQnBiblpoYkdsa0lHSnZlQ0J6YVhwbElDVmtJQ2dsZUNrS0FFWmhhV3dnZEc4Z2NtVmhaQ0IwYUdVZ1kzVnljbVZ1ZENCdFlYSnJaWElnYzJWbmJXVnVkQ0FvSlNONEtRb0FSWEp5YjNJZ2QybDBhQ0JUU1ZvZ2JXRnlhMlZ5T2lCSlNFUlNJSGNvSlhVcElHZ29KWFVwSUhaekxpQlRTVm9nZHlnbGRTa2dhQ2dsZFNrS0FFVnljbTl5SUhKbFlXUnBibWNnUTA5RElHMWhjbXRsY2lBb1ltRmtJRzUxYldKbGNpQnZaaUJqYjIxd2IyNWxiblJ6S1FvQVNXNTJZV3hwWkNCdWRXMWlaWElnYjJZZ2RHbHNaWE1nT2lBbGRTQjRJQ1YxSUNodFlYaHBiWFZ0SUdacGVHVmtJR0o1SUdwd1pXY3lNREF3SUc1dmNtMGdhWE1nTmpVMU16VWdkR2xzWlhNcENnQkpiblpoYkdsa0lHNTFiV0psY2lCdlppQmpiMjF3YjI1bGJuUnpJQ2hwYUdSeUtRb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnYUdGdVpHeGxJR2x0WVdkbElHaGxZV1JsY2lBb2FXaGtjaWtLQUZkeWIyNW5JSFpoYkhWbGN5Qm1iM0k2SUhjb0pXUXBJR2dvSldRcElHNTFiV052YlhCektDVmtLU0FvYVdoa2Npa0tBRWx1ZG1Gc2FXUWdkbUZzZFdWeklHWnZjaUJqYjIxd0lEMGdKV1FnT2lCa2VEMGxkU0JrZVQwbGRTQW9jMmh2ZFd4a0lHSmxJR0psZEhkbFpXNGdNU0JoYm1RZ01qVTFJR0ZqWTI5eVpHbHVaeUIwYnlCMGFHVWdTbEJGUnpJd01EQWdibTl5YlNrS0FFSmhaQ0JwYldGblpTQm9aV0ZrWlhJZ1ltOTRJQ2hpWVdRZ2MybDZaU2tLQUVKaFpDQkRUMHhTSUdobFlXUmxjaUJpYjNnZ0tHSmhaQ0J6YVhwbEtRb0FRbUZrSUVKUVEwTWdhR1ZoWkdWeUlHSnZlQ0FvWW1Ga0lITnBlbVVwQ2dCRmNuSnZjaUIzYVhSb0lGTkpXaUJ0WVhKclpYSTZJRzVsWjJGMGFYWmxJRzl5SUhwbGNtOGdhVzFoWjJVZ2MybDZaU0FvSld4c1pDQjRJQ1ZzYkdRcENnQnphMmx3T2lCelpXZHRaVzUwSUhSdmJ5QnNiMjVuSUNnbFpDa2dkMmwwYUNCdFlYZ2dLQ1ZrS1NCbWIzSWdZMjlrWldKc2IyTnJJQ1ZrSUNod1BTVmtMQ0JpUFNWa0xDQnlQU1ZrTENCalBTVmtLUW9BY21WaFpEb2djMlZuYldWdWRDQjBiMjhnYkc5dVp5QW9KV1FwSUhkcGRHZ2diV0Y0SUNnbFpDa2dabTl5SUdOdlpHVmliRzlqYXlBbFpDQW9jRDBsWkN3Z1lqMGxaQ3dnY2owbFpDd2dZejBsWkNrS0FFUmxjM0JwZEdVZ1NsQXlJRUpRUXlFOU1qVTFMQ0J3Y21WamFYTnBiMjRnWVc1a0wyOXlJSE5uYm1RZ2RtRnNkV1Z6SUdadmNpQmpiMjF3V3lWa1hTQnBjeUJrYVdabVpYSmxiblFnZEdoaGJpQmpiMjF3V3pCZE9nb2dJQ0FnSUNBZ0lGc3dYU0J3Y21WaktDVmtLU0J6WjI1a0tDVmtLU0JiSldSZElIQnlaV01vSldRcElITm5ibVFvSldRcENnQmlZV1FnWTI5dGNHOXVaVzUwSUc1MWJXSmxjaUJwYmlCU1IwNGdLQ1ZrSUhkb1pXNGdkR2hsY21VZ1lYSmxJRzl1YkhrZ0pXUXBDZ0JGY25KdmNpQjNhWFJvSUZOSldpQnRZWEpyWlhJNklHNTFiV0psY2lCdlppQmpiMjF3YjI1bGJuUWdhWE1nYm05MElHTnZiWEJoZEdsaWJHVWdkMmwwYUNCMGFHVWdjbVZ0WVdsdWFXNW5JRzUxYldKbGNpQnZaaUJ3WVhKaGJXVjBaWEp6SUNnZ0pXUWdkbk1nSldRcENnQkZjbkp2Y2lCM2FYUm9JRk5KV2lCdFlYSnJaWEk2SUdsdWRtRnNhV1FnZEdsc1pTQnphWHBsSUNoMFpIZzZJQ1ZrTENCMFpIazZJQ1ZrS1FvQVFtRmtJRU5QVEZJZ2FHVmhaR1Z5SUdKdmVDQW9ZbUZrSUhOcGVtVTZJQ1ZrS1FvQVFtRmtJRU5QVEZJZ2FHVmhaR1Z5SUdKdmVDQW9RMGxGVEdGaUxDQmlZV1FnYzJsNlpUb2dKV1FwQ2dCUVZFVlNUU0JqYUdWamF5Qm1ZV2xzZFhKbE9pQWxaQ0J5WlcxaGFXNXBibWNnWW5sMFpYTWdhVzRnWTI5a1pTQmliRzlqYXlBb0pXUWdkWE5sWkNBdklDVmtLUW9BVFdGc1ptOXliV1ZrSUVoVUlHTnZaR1ZpYkc5amF5NGdUMjVsSUc5bUlIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dVpHbDBhVzl1SUdseklHNXZkQ0J0WlhRNklESWdQRDBnVTJOMWNDQThQU0J0YVc0b1RHTjFjQ3dnTkRBM09Ta0tBRWx1ZG1Gc2FXUWdkbUZzZFdWeklHWnZjaUJqYjIxd0lEMGdKV1FnT2lCd2NtVmpQU1YxSUNoemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeElHRnVaQ0F6T0NCaFkyTnZjbVJwYm1jZ2RHOGdkR2hsSUVwUVJVY3lNREF3SUc1dmNtMHVJRTl3Wlc1S2NHVm5JRzl1YkhrZ2MzVndjRzl5ZEhNZ2RYQWdkRzhnTXpFcENnQkpiblpoYkdsa0lHSnBkQ0J1ZFcxaVpYSWdKV1FnYVc0Z2IzQnFYM1F5WDNKbFlXUmZjR0ZqYTJWMFgyaGxZV1JsY2lncENnQlRkSEpsWVcwZ1pYSnliM0loQ2dCRmNuSnZjaUJ2YmlCM2NtbDBhVzVuSUhOMGNtVmhiU0VLQUZOMGNtVmhiU0J5WldGamFHVmtJR2wwY3lCbGJtUWdJUW9BUlhod1pXTjBaV1FnWVNCVFQwTWdiV0Z5YTJWeUlBb0FTVzUyWVd4cFpDQmliM2dnYzJsNlpTQWxaQ0JtYjNJZ1ltOTRJQ2NsWXlWakpXTWxZeWN1SUU1bFpXUWdKV1FnWW5sMFpYTXNJQ1ZrSUdKNWRHVnpJSEpsYldGcGJtbHVaeUFLQUUxaGJHWnZjbTFsWkNCSVZDQmpiMlJsWW14dlkyc3VJRVJsWTI5a2FXNW5JSFJvYVhNZ1kyOWtaV0pzYjJOcklHbHpJSE4wYjNCd1pXUXVJRlZmY1NCcGN5QnNZWEpuWlhJZ2RHaGhiaUI2WlhKdklHSnBkSEJzWVc1bGN5QXJJREVnQ2dCTllXeG1iM0p0WldRZ1NGUWdZMjlrWldKc2IyTnJMaUJFWldOdlpHbHVaeUIwYUdseklHTnZaR1ZpYkc5amF5QnBjeUJ6ZEc5d2NHVmtMaUJWWDNFZ2FYTnNZWEpuWlhJZ2RHaGhiaUJpYVhSd2JHRnVaWE1nS3lBeElBb0FRMDlNVWlCQ1QxZ2diV1YwYUNCMllXeDFaU0JwY3lCdWIzUWdZU0J5WldkMWJHRnlJSFpoYkhWbElDZ2xaQ2tzSUhOdklIZGxJSGRwYkd3Z2FXZHViM0psSUhSb1pTQmxiblJwY21VZ1EyOXNiM1Z5SUZOd1pXTnBabWxqWVhScGIyNGdZbTk0TGlBS0FGZG9hV3hsSUhKbFlXUnBibWNnUTBOUVgxRk9WRk5VV1NCbGJHVnRaVzUwSUdsdWMybGtaU0JSUTBRZ2IzSWdVVU5ESUcxaGNtdGxjaUJ6WldkdFpXNTBMQ0J1ZFcxaVpYSWdiMllnYzNWaVltRnVaSE1nS0NWa0tTQnBjeUJuY21WaGRHVnlJSFJ2SUU5UVNsOUtNa3RmVFVGWVFrRk9SRk1nS0NWa0tTNGdVMjhnZDJVZ2JHbHRhWFFnZEdobElHNTFiV0psY2lCdlppQmxiR1Z0Wlc1MGN5QnpkRzl5WldRZ2RHOGdUMUJLWDBveVMxOU5RVmhDUVU1RVV5QW9KV1FwSUdGdVpDQnphMmx3SUhSb1pTQnlaWE4wTGlBS0FFcFFNaUJKU0VSU0lHSnZlRG9nWTI5dGNISmxjM05wYjI0Z2RIbHdaU0JwYm1ScFkyRjBaU0IwYUdGMElIUm9aU0JtYVd4bElHbHpJRzV2ZENCaElHTnZibVp2Y20xcGJtY2dTbEF5SUdacGJHVWdLQ1ZrS1NBS0FGUnBiR1VnYVc1a1pYZ2djSEp2ZG1sa1pXUWdZbmtnZEdobElIVnpaWElnYVhNZ2FXNWpiM0p5WldOMElDVmtJQ2h0WVhnZ1BTQWxaQ2tnQ2dCRmNuSnZjaUJrWldOdlpHbHVaeUJqYjIxd2IyNWxiblFnSldRdUNsUm9aU0J1ZFcxaVpYSWdiMllnY21WemIyeDFkR2x2Ym5NZ2RHOGdjbVZ0YjNabElDZ2xaQ2tnYVhNZ1ozSmxZWFJsY2lCdmNpQmxjWFZoYkNCMGFHRnVJSFJvWlNCdWRXMWlaWElnYjJZZ2NtVnpiMngxZEdsdmJuTWdiMllnZEdocGN5QmpiMjF3YjI1bGJuUWdLQ1ZrS1FwTmIyUnBabmtnZEdobElHTndYM0psWkhWalpTQndZWEpoYldWMFpYSXVDZ29BU1cxaFoyVWdaR0YwWVNCb1lYTWdZbVZsYmlCMWNHUmhkR1ZrSUhkcGRHZ2dkR2xzWlNBbFpDNEtDZ0JCb1AwQUM0QWdJd0NsQUVNQVpnQ0RBTzZvRkFEZjJDTUF2aEJEQVAvMWd3QitJRlVBWDFFakFEVUFRd0JPUklNQXpzUVVBTS9NSXdEKzRrTUEvNW1EQUpZQXhRQS9NU01BcFFCREFGNUVnd0RPeUJRQTN4RWpBUDcwUXdELy9JTUFuZ0JWQUhjQUl3QTFBRU1BLy9HREFLNklGQUMzQUNNQS92aERBTy9rZ3dDT2lNVUFIeEVqQUtVQVF3Qm1BSU1BN3FnVUFOOVVJd0MrRUVNQTd5S0RBSDRnVlFCL0lpTUFOUUJEQUU1RWd3RE94QlFBdnhFakFQN2lRd0QzQUlNQWxnREZBRDhpSXdDbEFFTUFYa1NEQU03SUZBRFhBQ01BL3ZSREFQKzZnd0NlQUZVQWJ3QWpBRFVBUXdELzVvTUFyb2dVQUsraUl3RCsrRU1BNXdDREFJNkl4UUF2SWdJQXhRQ0VBSDRnQWdET3hDUUE5d0FDQVA2aVJBQldBQUlBbmdBVUFOY0FBZ0MrRUlRQVpnQUNBSzZJSkFEZkVRSUE3cWhFQURZQUFnQ09pQlFBSHhFQ0FNVUFoQUJ1QUFJQXpvZ2tBUCtJQWdEK3VFUUFUa1FDQUpZQUZBQzNBQUlBL3VTRUFGNUVBZ0NtQUNRQTV3QUNBTjVVUkFBdUlnSUFQZ0FVQUhjQUFnREZBSVFBZmlBQ0FNN0VKQUQvOFFJQS9xSkVBRllBQWdDZUFCUUF2eEVDQUw0UWhBQm1BQUlBcm9na0FPOGlBZ0R1cUVRQU5nQUNBSTZJRkFCL0lnSUF4UUNFQUc0QUFnRE9pQ1FBNytRQ0FQNjRSQUJPUkFJQWxnQVVBSytpQWdEKzVJUUFYa1FDQUtZQUpBRGYyQUlBM2xSRUFDNGlBZ0ErQUJRQVgxRUNBRlVBaEFCbUFBSUEzb2drQVA4eUFnRCtFVVFBVGtRQ0FLNEFGQUMzQUFJQWZqR0VBRjVSQWdER0FDUUExd0FDQU80Z1JBQWVFUUlBbmdBVUFIY0FBZ0JWQUlRQVhsUUNBTTVFSkFEbkFBSUEvdkZFQURZQUFnQ21BQlFBWDFVQ0FQNTBoQUErRVFJQXZpQWtBSDkwQWdEZXhFUUEvL2dDQUpZQUZBQXZJZ0lBVlFDRUFHWUFBZ0RlaUNRQTl3QUNBUDRSUkFCT1JBSUFyZ0FVQUkrSUFnQitNWVFBWGxFQ0FNWUFKQURQeUFJQTdpQkVBQjRSQWdDZUFCUUFid0FDQUZVQWhBQmVWQUlBemtRa0FOL1JBZ0QrOFVRQU5nQUNBS1lBRkFCL0lnSUEvblNFQUQ0UkFnQytJQ1FBdnlJQ0FON0VSQUR2SWdJQWxnQVVBRDh5QXdEZTFQMzAvL3dVQUQ0UlZRQ1BpQU1BdmpLRkFPY0FKUUJlVWY2cWYzSURBTTVFL2ZqdlJCUUFmbVJGQUsraUF3Q21BRjFWMzVuOThUWUEvdlZ2WWdNQTN0SDk5UC9tRkFCK2NWVUF2N0VEQUs2SWhRRGYxU1VBVGtUKzhuOW1Bd0RHQVAzNDcrSVVBRjVVUlFDZkVRTUFsZ0JkVmMvSS9mRWVFZTdJWndBREFON1UvZlQvOHhRQVBoRlZBTDhSQXdDK01vVUEzOWdsQUY1Ui9xb3ZJZ01BemtUOStQY0FGQUIrWkVVQW41Z0RBS1lBWFZYWEFQM3hOZ0QrOVc5RUF3RGUwZjMwLzdrVUFINXhWUUMzQUFNQXJvaUZBTi9jSlFCT1JQN3lkd0FEQU1ZQS9manY1QlFBWGxSRkFIOXpBd0NXQUYxVnY3ajk4UjRSN3NnL01nSUFwUUNFQUg1QUFnRGVFQ1FBM3hFQ0FQNXlSQUJXQUFJQXJxZ1VBTCt5QWdDV0FJUUFaZ0FDQU1ZQUpBRG5BQUlBN3NoRUFDNGlBZ0NPaUJRQWR3QUNBS1VBaEFCdUFBSUF6b2drQVBjQUFnRCtrVVFBTmdBQ0FLNmlGQUN2cWdJQS9yaUVBRjRBQWdDK0FDUUF6OFFDQU81RVJBRC85QUlBUGlJVUFCOFJBZ0NsQUlRQWZrQUNBTjRRSkFEL21RSUEvbkpFQUZZQUFnQ3VxQlFBdHdBQ0FKWUFoQUJtQUFJQXhnQWtBTmNBQWdEdXlFUUFMaUlDQUk2SUZBQlBSQUlBcFFDRUFHNEFBZ0RPaUNRQTcrSUNBUDZSUkFBMkFBSUFycUlVQUg5RUFnRCt1SVFBWGdBQ0FMNEFKQUNmQUFJQTdrUkVBUDkyQWdBK0loUUFQekVEQU1ZQWhRRC8yZjN5Zm1UKzhiK1pBd0N1b2lVQTcyYjk5RllBN3VKL2N3TUF2cGhGQVBjQS9maG1BUDUybjRnREFJNklGUURmMWFVQUxpTGVtRTlFQXdDK3NvVUEvL3o5OG00aWxnQzNBQU1BcnFvbEFOL1IvZlEyQU43VWIyUURBSzZvUlFEdjZ2MzRYa1R1Nkg5eEF3QStNaFVBejhTbEFQLzZ6b2cvTVFNQXhnQ0ZBUDkzL2ZKK1pQN3h2N01EQUs2aUpRRG5BUDMwVmdEdTRuY0FBd0MrbUVVQTcrVDkrR1lBL25aL1pnTUFqb2dWQU5jQXBRQXVJdDZZUHpNREFMNnloUUQvZGYzeWJpS1dBSitSQXdDdXFpVUEzNW45OURZQTN0UmZVUU1BcnFoRkFPL3MvZmhlUk83b2YzSURBRDR5RlFDL3NhVUEvL1BPaUI4UkF3RGVWUDN5SGhFVUFINWsvdmpQekFNQXZwRkZBTzhpSlFBdUl2N3pqNGdEQU1ZQWhRRDNBQlFBWGhIKy9LK29Bd0NtQURVQTM4ajk4VDR4L21adlpBTUF6c2o5OHYvMUZBQm1BUDcwdjdvREFLNGlSUURuQUNVQVBqTCs2bjl6QXdDK3NvVUEzMVVVQUZZQWZuR2ZFUU1BbGdBMUFNL0UvZkUrTSs3b1QwUURBTjVVL2ZJZUVSUUFmbVQrK0wrWkF3QytrVVVBNytJbEFDNGkvdk4vWmdNQXhnQ0ZBTy9rRkFCZUVmNzhuNWdEQUtZQU5RRFhBUDN4UGpIK1ptOGlBd0RPeVAzeS83a1VBR1lBL3ZTM0FBTUFyaUpGQU4vUkpRQStNdjdxZHdBREFMNnloUUR2N0JRQVZnQitjWDl5QXdDV0FEVUF2N2o5OFQ0ejd1aGZWUHp4M3RIOSt0Y0EvUGdXQVAzL2YzVDg5SDV4L2ZPL3Mvenk3K3J1NkU5RS9QR3VJZ1VBdjdqOCtQY0EvdngzQVB6MFhoSDk5WDkxL1BMZjJPN2lQelA4OGI2eS9mclBpUHo0Ly92OS8zOXovUFJ1QVAzenR3RDg4dTltL3ZrL01menhuZ0FGQUwrNi9Qai8vZjcyWndEODlDWUEvZldQaVB6eTM5emUxQzhpL1BIZTBmMzZ6OFQ4K0JZQS9mOS9jdnowZm5IOTg3K1ovUEx2N083b1J3RDg4YTRpQlFDbkFQejQvL2YrL0ZjQS9QUmVFZjMxbHdEODh0L1Y3dUkzQVB6eHZyTDkrc2NBL1BqLy92My9mMmI4OUc0QS9mT3ZxUHp5NXdEKytUOHkvUEdlQUFVQXY3SDgrTy9rL3ZaZlZQejBKZ0Q5OVljQS9QTGZtZDdVSHhFVEFHVUFRd0RlQUlNQWpZZ2pBRTVFRXdDbEFFTUFyb2lEQURVQUl3RFhBQk1BeFFCREFKNEFnd0JWQUNNQUxpSVRBSlVBUXdCK0FJTUEvaEFqQUhjQUV3QmxBRU1Bem9pREFJMklJd0FlRVJNQXBRQkRBRjRBZ3dBMUFDTUE1d0FUQU1VQVF3QytBSU1BVlFBakFQOFJFd0NWQUVNQVBnQ0RBTzVBSXdDdm9oTUFaUUJEQU40QWd3Q05pQ01BVGtRVEFLVUFRd0N1aUlNQU5RQWpBTzlFRXdERkFFTUFuZ0NEQUZVQUl3QXVJaE1BbFFCREFINEFnd0QrRUNNQXR3QVRBR1VBUXdET2lJTUFqWWdqQUI0UkV3Q2xBRU1BWGdDREFEVUFJd0RQeEJNQXhRQkRBTDRBZ3dCVkFDTUE5d0FUQUpVQVF3QStBSU1BN2tBakFHOEFBUUNFQUFFQVZnQUJBQlFBQVFEWEFBRUFKQUFCQUpZQUFRQkZBQUVBZHdBQkFJUUFBUURHQUFFQUZBQUJBSStJQVFBa0FBRUE5d0FCQURVQUFRQXZJZ0VBaEFBQkFQNUFBUUFVQUFFQXR3QUJBQ1FBQVFDL0FBRUFSUUFCQUdjQUFRQ0VBQUVBcGdBQkFCUUFBUUJQUkFFQUpBQUJBT2NBQVFBMUFBRUFQeEVCQUlRQUFRQldBQUVBRkFBQkFNOEFBUUFrQUFFQWxnQUJBRVVBQVFCdkFBRUFoQUFCQU1ZQUFRQVVBQUVBbndBQkFDUUFBUUR2QUFFQU5RQUJBRDh5QVFDRUFBRUEva0FCQUJRQUFRQ3ZBQUVBSkFBQkFQOUVBUUJGQUFFQVh3QUJBSVFBQVFDbUFBRUFGQUFCQUg4QUFRQWtBQUVBM3dBQkFEVUFBUUFmRVFFQUpBQUJBRllBQVFDRkFBRUF2d0FCQUJRQUFRRDNBQUVBeGdBQkFIY0FBUUFrQUFFQS8vZ0JBRVVBQVFCL0FBRUFGQUFCQU44QUFRQ21BQUVBUHpFQkFDUUFBUUF1SWdFQWhRQUJBTGNBQVFBVUFBRUE3MFFCQUs2aUFRQm5BQUVBSkFBQkFQOVJBUUJGQUFFQWx3QUJBQlFBQVFEUEFBRUFOZ0FCQUQ4aUFRQWtBQUVBVmdBQkFJVUFBUUMvc2dFQUZBQUJBTzlBQVFER0FBRUFid0FCQUNRQUFRRC9jZ0VBUlFBQkFKOEFBUUFVQUFFQTF3QUJBS1lBQVFCUFJBRUFKQUFCQUM0aUFRQ0ZBQUVBcjZnQkFCUUFBUURuQUFFQXJxSUJBRjhBQVFBa0FBRUEvMFFCQUVVQUFRQ1BpQUVBRkFBQkFLK3FBUUEyQUFFQUh4RUNBUDc0SkFCV0FBSUF0Z0NGQVA5bUFnRE9BQlFBSGhFQ0FKWUFOUUN2cUFJQTlnQWtBRDR4QWdDbUFFVUF2N01DQUw2eUZBRC85UUlBWmdCK1VWOVVBZ0QrOGlRQUxpSUNBSzRpaFFEdlJBSUF4Z0FVQVAvMEFnQjJBRFVBZjBRQ0FONUFKQUErTWdJQW5nQkZBTmNBQWdDK2lCUUEvL29DQUY0Ui92RlBSQUlBL3Zna0FGWUFBZ0MyQUlVQTc4Z0NBTTRBRkFBZUVRSUFsZ0ExQUkrSUFnRDJBQ1FBUGpFQ0FLWUFSUURmUkFJQXZySVVBUCtvQWdCbUFINVJid0FDQVA3eUpBQXVJZ0lBcmlLRkFPY0FBZ0RHQUJRQTcrSUNBSFlBTlFCL2NnSUEza0FrQUQ0eUFnQ2VBRVVBdjdFQ0FMNklGQUQvY3dJQVhoSCs4VDh6QVFDRUFBRUE3aUFCQU1VQUFRRFB4QUVBUkFBQkFQOHlBUUFWQUFFQWo0Z0JBSVFBQVFCbUFBRUFKUUFCQUs4QUFRQkVBQUVBN3lJQkFLWUFBUUJmQUFFQWhBQUJBRTVFQVFERkFBRUF6OHdCQUVRQUFRRDNBQUVBRlFBQkFHOEFBUUNFQUFFQVZnQUJBQ1VBQVFDZkFBRUFSQUFCQU44QUFRRCtNQUVBTHlJQkFJUUFBUUR1SUFFQXhRQUJBTS9JQVFCRUFBRUEveEVCQUJVQUFRQjNBQUVBaEFBQkFHWUFBUUFsQUFFQWZ3QUJBRVFBQVFEbkFBRUFwZ0FCQURjQUFRQ0VBQUVBVGtRQkFNVUFBUUMzQUFFQVJBQUJBTDhBQVFBVkFBRUFQd0FCQUlRQUFRQldBQUVBSlFBQkFKY0FBUUJFQUFFQTF3QUJBUDR3QVFBZkVRSUE3cWhFQUk2SUFnRFdBTVVBLy9NQ0FQNzhKUUErQUFJQXRnQlZBTi9ZQWdEKytFUUFaZ0FDQUg0Z2hRRC9tUUlBNWdEMUFEWUFBZ0NtQUJVQW53QUNBUDd5UkFCMkFBSUF6a1RGQVA5MkFnRCs4U1VBVGtRQ0FLNEFWUURQeUFJQS92UkVBRjVFQWdDK0VJVUE3K1FDQU41VTlRQWVFUUlBbGdBVkFDOGlBZ0R1cUVRQWpvZ0NBTllBeFFELytnSUEvdndsQUQ0QUFnQzJBRlVBdnhFQ0FQNzRSQUJtQUFJQWZpQ0ZBTzhpQWdEbUFQVUFOZ0FDQUtZQUZRQi9JZ0lBL3ZKRUFIWUFBZ0RPUk1VQS85VUNBUDd4SlFCT1JBSUFyZ0JWQUc4QUFnRCs5RVFBWGtRQ0FMNFFoUURmRVFJQTNsVDFBQjRSQWdDV0FCVUFYMUVEQVBZQUZBQWVFVVFBam9pbEFOL1VBd0N1b2xVQS8zWWtBRDRpdGdDdnFnTUE1Z0FVQVAvMVJBQm1BSVVBejh3REFKNEF4UUR2UkNRQU5nRCsrSDh4QXdEdTZCUUEvL0ZFQUhZQXBRRFB4QU1BZmlKVkFOL1JKQUJPUlA3MFgxRURBTllBRkFEdjRrUUFYa1NGQUw4aUF3Q1dBTVVBMzhna0FDNGkvdkp2SWdNQTlnQVVBQjRSUkFDT2lLVUF2N0VEQUs2aVZRRC9NeVFBUGlLMkFLK29Bd0RtQUJRQS83bEVBR1lBaFFDL3FBTUFuZ0RGQU8va0pBQTJBUDc0YjJRREFPN29GQUQvL0VRQWRnQ2xBTS9JQXdCK0lsVUE3K29rQUU1RS92Ui9kQU1BMWdBVUFQLzZSQUJlUklVQXY3SURBSllBeFFEZlJDUUFMaUwrOGo4eDh3RCsrdjN4TmdBRUFMNHlkUURmRWZNQTNsVDk4dS9rMVFCK2NmNzhmM1B6QVA3ei9mZ2VFUVFBbGdCVkFMK3g4d0RPQUxVQTM5ajk5R1lBL3JsZlZQTUEvbmI5OFNZQUJBQ21BSFVBbndEekFLNEEvZkwvOTlVQVJnRCs5WDkwOHdEbUFQMzRGZ0FFQUlZQVZRQ1BpUE1BeGdDMUFPL2kvZlJlRWU2b1B4SHpBUDc2L2ZFMkFBUUF2akoxQU4vUjh3RGVWUDN5Ly92VkFINXgvdngvUlBNQS92UDkrQjRSQkFDV0FGVUFmM0x6QU00QXRRRHZJdjMwWmdEK3VVOUU4d0QrZHYzeEpnQUVBS1lBZFFDL0VmTUFyZ0Q5OHYvLzFRQkdBUDcxUHpMekFPWUEvZmdXQUFRQWhnQlZBRzhBOHdER0FMVUF2N2o5OUY0UjdxZ3ZJZ0JCckowQkM2UWVBUUFBQUFFQUFBQUJBQUFBQWdBQUFBSUFBQUFDQUFBQUF3QUFBQU1BQUFBRUFBQUFCUUFBQUxjaFFpRm5JVUloRVJFUkVUTXpNek4zZDNkM0FBQUFBQUFBQUFBQlZnQUFBQUFBQUJCUEFBQWdUd0FBQVZZQUFBRUFBQUFnVHdBQUVFOEFBQUUwQUFBQUFBQUFNRThBQUxCUEFBQUJOQUFBQVFBQUFFQlBBQURBVHdBQUFSZ0FBQUFBQUFCUVR3QUFFRkFBQUFFWUFBQUJBQUFBWUU4QUFDQlFBQURCQ2dBQUFBQUFBSEJQQUFCd1VBQUF3UW9BQUFFQUFBQ0FUd0FBZ0ZBQUFDRUZBQUFBQUFBQWtFOEFBSkJTQUFBaEJRQUFBUUFBQUtCUEFBQ2dVZ0FBSVFJQUFBQUFBQUN3VXdBQUVGTUFBQ0VDQUFBQkFBQUF3Rk1BQUNCVEFBQUJWZ0FBQUFBQUFOQlBBQURBVHdBQUFWWUFBQUVBQUFEZ1R3QUFzRThBQUFGVUFBQUFBQUFBOEU4QUFMQlFBQUFCVkFBQUFRQUFBQUJRQUFEQVVBQUFBVWdBQUFBQUFBQVFVQUFBc0ZBQUFBRklBQUFCQUFBQUlGQUFBTUJRQUFBQk9BQUFBQUFBQURCUUFBQ3dVQUFBQVRnQUFBRUFBQUJBVUFBQXdGQUFBQUV3QUFBQUFBQUFVRkFBQUJCUkFBQUJNQUFBQVFBQUFHQlFBQUFnVVFBQUFTUUFBQUFBQUFCd1VBQUFNRkVBQUFFa0FBQUJBQUFBZ0ZBQUFFQlJBQUFCSEFBQUFBQUFBSkJRQUFCd1VRQUFBUndBQUFFQUFBQ2dVQUFBZ0ZFQUFBRVdBQUFBQUFBQWtGSUFBSkJSQUFBQkZnQUFBUUFBQUtCU0FBQ2dVUUFBQVZZQUFBQUFBQURRVUFBQXdGQUFBQUZXQUFBQkFBQUE0RkFBQUxCUUFBQUJWQUFBQUFBQUFQQlFBQUN3VUFBQUFWUUFBQUVBQUFBQVVRQUF3RkFBQUFGUkFBQUFBQUFBRUZFQUFOQlFBQUFCVVFBQUFRQUFBQ0JSQUFEZ1VBQUFBVWdBQUFBQUFBQXdVUUFBOEZBQUFBRklBQUFCQUFBQVFGRUFBQUJSQUFBQk9BQUFBQUFBQUZCUkFBQVFVUUFBQVRnQUFBRUFBQUJnVVFBQUlGRUFBQUUwQUFBQUFBQUFjRkVBQURCUkFBQUJOQUFBQVFBQUFJQlJBQUJBVVFBQUFUQUFBQUFBQUFDUVVRQUFVRkVBQUFFd0FBQUJBQUFBb0ZFQUFHQlJBQUFCS0FBQUFBQUFBTEJSQUFCUVVRQUFBU2dBQUFFQUFBREFVUUFBWUZFQUFBRWtBQUFBQUFBQTBGRUFBSEJSQUFBQkpBQUFBUUFBQU9CUkFBQ0FVUUFBQVNJQUFBQUFBQUR3VVFBQWtGRUFBQUVpQUFBQkFBQUFBRklBQUtCUkFBQUJIQUFBQUFBQUFCQlNBQUN3VVFBQUFSd0FBQUVBQUFBZ1VnQUF3RkVBQUFFWUFBQUFBQUFBTUZJQUFOQlJBQUFCR0FBQUFRQUFBRUJTQUFEZ1VRQUFBUllBQUFBQUFBQlFVZ0FBOEZFQUFBRVdBQUFCQUFBQVlGSUFBQUJTQUFBQkZBQUFBQUFBQUhCU0FBQVFVZ0FBQVJRQUFBRUFBQUNBVWdBQUlGSUFBQUVTQUFBQUFBQUFrRklBQURCU0FBQUJFZ0FBQVFBQUFLQlNBQUJBVWdBQUFSRUFBQUFBQUFDd1VnQUFVRklBQUFFUkFBQUJBQUFBd0ZJQUFHQlNBQURCQ2dBQUFBQUFBTkJTQUFCd1VnQUF3UW9BQUFFQUFBRGdVZ0FBZ0ZJQUFNRUpBQUFBQUFBQThGSUFBSkJTQUFEQkNRQUFBUUFBQUFCVEFBQ2dVZ0FBb1FnQUFBQUFBQUFRVXdBQXNGSUFBS0VJQUFBQkFBQUFJRk1BQU1CU0FBQWhCUUFBQUFBQUFEQlRBQURRVWdBQUlRVUFBQUVBQUFCQVV3QUE0RklBQUVFRUFBQUFBQUFBVUZNQUFQQlNBQUJCQkFBQUFRQUFBR0JUQUFBQVV3QUFvUUlBQUFBQUFBQndVd0FBRUZNQUFLRUNBQUFCQUFBQWdGTUFBQ0JUQUFBaEFnQUFBQUFBQUpCVEFBQXdVd0FBSVFJQUFBRUFBQUNnVXdBQVFGTUFBRUVCQUFBQUFBQUFzRk1BQUZCVEFBQkJBUUFBQVFBQUFNQlRBQUJnVXdBQUVRRUFBQUFBQUFEUVV3QUFjRk1BQUJFQkFBQUJBQUFBNEZNQUFJQlRBQUNGQUFBQUFBQUFBUEJUQUFDUVV3QUFoUUFBQUFFQUFBQUFWQUFBb0ZNQUFFa0FBQUFBQUFBQUVGUUFBTEJUQUFCSkFBQUFBUUFBQUNCVUFBREFVd0FBSlFBQUFBQUFBQUF3VkFBQTBGTUFBQ1VBQUFBQkFBQUFRRlFBQU9CVEFBQVZBQUFBQUFBQUFGQlVBQUR3VXdBQUZRQUFBQUVBQUFCZ1ZBQUFBRlFBQUFrQUFBQUFBQUFBY0ZRQUFCQlVBQUFKQUFBQUFRQUFBSUJVQUFBZ1ZBQUFCUUFBQUFBQUFBQ1FWQUFBTUZRQUFBVUFBQUFCQUFBQW9GUUFBRUJVQUFBQkFBQUFBQUFBQUpCVUFBQlFWQUFBQVFBQUFBRUFBQUNnVkFBQVlGUUFBQUZXQUFBQUFBQUFzRlFBQUxCVUFBQUJWZ0FBQVFBQUFNQlVBQURBVkFBQUFBRURBd0VDQXdNRkJnY0hCZ1lIQndBQkF3TUJBZ01EQlFZSEJ3WUdCd2NGQmdjSEJnWUhCd2dJQ0FnSUNBZ0lCUVlIQndZR0J3Y0lDQWdJQ0FnSUNBRUNBd01DQWdNREJnWUhCd1lHQndjQkFnTURBZ0lEQXdZR0J3Y0dCZ2NIQmdZSEJ3WUdCd2NJQ0FnSUNBZ0lDQVlHQndjR0JnY0hDQWdJQ0FnSUNBZ0RBd1FFQXdNRUJBY0hCd2NIQndjSEF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lBd01FQkFNREJBUUhCd2NIQndjSEJ3TURCQVFEQXdRRUJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQUVDQXdNQ0FnTURCZ1lIQndZR0J3Y0JBZ01EQWdJREF3WUdCd2NHQmdjSEJnWUhCd1lHQndjSUNBZ0lDQWdJQ0FZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdDQWdNREFnSURBd1lHQndjR0JnY0hBZ0lEQXdJQ0F3TUdCZ2NIQmdZSEJ3WUdCd2NHQmdjSENBZ0lDQWdJQ0FnR0JnY0hCZ1lIQndnSUNBZ0lDQWdJQXdNRUJBTURCQVFIQndjSEJ3Y0hCd01EQkFRREF3UUVCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Z0lDQWdJQ0FnSUJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FNREJBUURBd1FFQndjSEJ3Y0hCd2NEQXdRRUF3TUVCQWNIQndjSEJ3Y0hCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBY0hCd2NIQndjSENBZ0lDQWdJQ0FnQUFRVUdBUUlHQmdNREJ3Y0RBd2NIQUFFRkJnRUNCZ1lEQXdjSEF3TUhCd01EQndjREF3Y0hCQVFIQndRRUJ3Y0RBd2NIQXdNSEJ3UUVCd2NFQkFjSEFRSUdCZ0lDQmdZREF3Y0hBd01IQndFQ0JnWUNBZ1lHQXdNSEJ3TURCd2NEQXdjSEF3TUhCd1FFQndjRUJBY0hBd01IQndNREJ3Y0VCQWNIQkFRSEJ3VUdDQWdHQmdnSUJ3Y0lDQWNIQ0FnRkJnZ0lCZ1lJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0dCZ2dJQmdZSUNBY0hDQWdIQndnSUJnWUlDQVlHQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lBUUlHQmdJQ0JnWURBd2NIQXdNSEJ3RUNCZ1lDQWdZR0F3TUhCd01EQndjREF3Y0hBd01IQndRRUJ3Y0VCQWNIQXdNSEJ3TURCd2NFQkFjSEJBUUhCd0lDQmdZQ0FnWUdBd01IQndNREJ3Y0NBZ1lHQWdJR0JnTURCd2NEQXdjSEF3TUhCd01EQndjRUJBY0hCQVFIQndNREJ3Y0RBd2NIQkFRSEJ3UUVCd2NHQmdnSUJnWUlDQWNIQ0FnSEJ3Z0lCZ1lJQ0FZR0NBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQmdZSUNBWUdDQWdIQndnSUJ3Y0lDQVlHQ0FnR0JnZ0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FBQkF3TUJBZ01EQlFZSEJ3WUdCd2NBQVFNREFRSURBd1VHQndjR0JnY0hCUVlIQndZR0J3Y0lDQWdJQ0FnSUNBVUdCd2NHQmdjSENBZ0lDQWdJQ0FnQkFnTURBZ0lEQXdZR0J3Y0dCZ2NIQVFJREF3SUNBd01HQmdjSEJnWUhCd1lHQndjR0JnY0hDQWdJQ0FnSUNBZ0dCZ2NIQmdZSEJ3Z0lDQWdJQ0FnSUF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndNREJBUURBd1FFQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBTURCQVFEQXdRRUJ3Y0hCd2NIQndjREF3UUVBd01FQkFjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQWNIQndjSEJ3Y0hDQWdJQ0FnSUNBZ0JBZ01EQWdJREF3WUdCd2NHQmdjSEFRSURBd0lDQXdNR0JnY0hCZ1lIQndZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdHQmdjSEJnWUhCd2dJQ0FnSUNBZ0lBZ0lEQXdJQ0F3TUdCZ2NIQmdZSEJ3SUNBd01DQWdNREJnWUhCd1lHQndjR0JnY0hCZ1lIQndnSUNBZ0lDQWdJQmdZSEJ3WUdCd2NJQ0FnSUNBZ0lDQU1EQkFRREF3UUVCd2NIQndjSEJ3Y0RBd1FFQXdNRUJBY0hCd2NIQndjSEJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdEQXdRRUF3TUVCQWNIQndjSEJ3Y0hBd01FQkFNREJBUUhCd2NIQndjSEJ3Y0hCd2NIQndjSENBZ0lDQWdJQ0FnSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQUFNQkJBTUdCQWNCQkFJRkJBY0ZCd0FEQVFRREJnUUhBUVFDQlFRSEJRY0JCQUlGQkFjRkJ3SUZBZ1VGQndVSEFRUUNCUVFIQlFjQ0JRSUZCUWNGQndNR0JBY0dDQWNJQkFjRkJ3Y0lCd2dEQmdRSEJnZ0hDQVFIQlFjSENBY0lCQWNGQndjSUJ3Z0ZCd1VIQndnSENBUUhCUWNIQ0FjSUJRY0ZCd2NJQndnQkJBSUZCQWNGQndJRkFnVUZCd1VIQVFRQ0JRUUhCUWNDQlFJRkJRY0ZCd0lGQWdVRkJ3VUhBZ1VDQlFVSEJRY0NCUUlGQlFjRkJ3SUZBZ1VGQndVSEJBY0ZCd2NJQndnRkJ3VUhCd2dIQ0FRSEJRY0hDQWNJQlFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVVIQlFjSENBY0lCUWNGQndjSUJ3Z0ZCd1VIQndnSENBTUdCQWNHQ0FjSUJBY0ZCd2NJQndnREJnUUhCZ2dIQ0FRSEJRY0hDQWNJQkFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVFIQlFjSENBY0lCUWNGQndjSUJ3Z0dDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJnZ0hDQWdJQ0FnSENBY0lDQWdJQ0FjSUJ3Z0lDQWdJQndnSENBZ0lDQWdIQ0FjSUNBZ0lDQWNJQndnSUNBZ0lCQWNGQndjSUJ3Z0ZCd1VIQndnSENBUUhCUWNIQ0FjSUJRY0ZCd2NJQndnRkJ3VUhCd2dIQ0FVSEJRY0hDQWNJQlFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQWNJQndnSUNBZ0lCd2dIQ0FnSUNBZ0hDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJ3Z0hDQWdJQ0FnSENBY0lDQWdJQ0FjSUJ3Z0lDQWdJQndnSENBZ0lDQWdKQ1FvS0NRa0tDZ3dNRFFzTURBMExDUWtLQ2drSkNnb01EQXNOREF3TERRd01EUTBNREFzTERBa05DZ2tNQ2dzTURBc0xEQXdORFF3SkN3b0pEQW9OQ1FrS0Nna0pDZ29NREEwTERBd05Dd2tKQ2dvSkNRb0tEQXdMRFF3TUN3ME1EQTBOREF3TEN3d0pEUW9KREFvTERBd0xDd3dNRFEwTUNRc0tDUXdLRFFvS0Nnb0tDZ29LRFFzTkN3MExEUXNLQ2drSkNnb0pDUTBMREF3TkN3d01EUTBORFFzTEN3c05DZzBLQ2dzS0N3ME5EQXdMQ3d3TURRb01DUW9MQ1F3S0Nna0pDZ29KQ1FzTkRBd0xEUXdNQ2dvS0Nnb0tDZ29MRFFzTkN3MExEUXNMREF3TkRRd01Dd29NQ1FvTkNRd0xDd3NMRFEwTkRRc0tDd29LRFFvTkFFSFp1d0VMTndFQUFRQUJBQUVBQUFFQkFBQUJBUUFCQUFFQUFRQUJBQUFBQUFFQkFRRUFBQUFBQUFFQUFRQUFBQUFCQVFFQkFBQUFBUUFCQVFFQVFabThBUXMzQVFBQkFBRUFBUUFBQVFFQUFBRUJBQUVBQVFBQkFBRUFBQUFBQVFFQkFRQUFBQUFBQVFBQkFBQUFBQUVCQVFFQUFBQUJBQUVCQVFCQjJid0JDd2NCQUFFQUFRQUJBRUhwdkFFTGxRSUJBQUVBQVFBQkFBQUFBQUVCQVFFQUFBQUFBQUVBQVFBQUFBQUJBUUVCQUFBQUFBQUJBQUVCQVFBQUFRRUFBQUFCQUFFQUFRQUJBUUVCQVFFQkFRRUFBUUFCQUFFQUFRQUFBQUFCQVFFQkFBRUFBQUVCQUFFQUFBQUFBUUVCQVFBQkFBRUJBUUVCQWdBQUFBUUFBQUFFQUFBQUNBQUFBSkQvQUFBTUFBQUFHQUFBQUZML0FBQVVBQUFBR1FBQUFGUC9BQUFVQUFBQUdnQUFBRjcvQUFBVUFBQUFHd0FBQUZ6L0FBQVVBQUFBSEFBQUFGMy9BQUFVQUFBQUhRQUFBRi8vQUFBVUFBQUFIZ0FBQUZIL0FBQUNBQUFBSHdBQUFGWC9BQUFFQUFBQUlBQUFBRmYvQUFBRUFBQUFJUUFBQUZqL0FBQVFBQUFBSWdBQUFHRC9BQUFFQUFBQUl3QUFBR0gvQUFBUUFBQUFKQUFBQUpIL0FFR0l2d0VMWldQL0FBQUVBQUFBSlFBQUFHVC9BQUFVQUFBQUpnQUFBSFQvQUFBVUFBQUFKd0FBQUhqL0FBQUVBQUFBS0FBQUFGRC9BQUFFQUFBQUtRQUFBRm4vQUFBRUFBQUFLZ0FBQUhYL0FBQVVBQUFBS3dBQUFIZi9BQUFVQUFBQUxBQUFBQUFBQUFBVUFFR0F3QUVMTlMwQUFBQXVBQUFBTHdBQUFEQUFBQUF4QUFBQU1nQUFBRE1BQUFBMEFBQUFJQ0JRYWpZQUFBQndlWFJtTndBQUFHZ3ljR280QUVIQXdBRUxNbkprYUdrNUFBQUFjbXh2WXpvQUFBQmpZM0JpT3dBQUFISnNZM0E4QUFBQWNHRnRZejBBQUFCbVpXUmpQZ0FBQVBoaUFFR0F3UUVMUVJrQUN3QVpHUmtBQUFBQUJRQUFBQUFBQUFrQUFBQUFDd0FBQUFBQUFBQUFHUUFLQ2hrWkdRTUtCd0FCQUFrTEdBQUFDUVlMQUFBTEFBWVpBQUFBR1JrWkFFSFJ3UUVMSVE0QUFBQUFBQUFBQUJrQUN3MFpHUmtBRFFBQUFnQUpEZ0FBQUFrQURnQUFEZ0JCaThJQkN3RU1BRUdYd2dFTEZSTUFBQUFBRXdBQUFBQUpEQUFBQUFBQURBQUFEQUJCeGNJQkN3RVFBRUhSd2dFTEZROEFBQUFFRHdBQUFBQUpFQUFBQUFBQUVBQUFFQUJCLzhJQkN3RVNBRUdMd3dFTEhoRUFBQUFBRVFBQUFBQUpFZ0FBQUFBQUVnQUFFZ0FBR2dBQUFCb2FHZ0JCd3NNQkN3NGFBQUFBR2hvYUFBQUFBQUFBQ1FCQjg4TUJDd0VVQUVIL3d3RUxGUmNBQUFBQUZ3QUFBQUFKRkFBQUFBQUFGQUFBRkFCQnJjUUJDd0VXQUVHNXhBRUxKeFVBQUFBQUZRQUFBQUFKRmdBQUFBQUFGZ0FBRmdBQU1ERXlNelExTmpjNE9VRkNRMFJGUmdCQjRNUUJDd21RYkFFQUFBQUFBQVVBUWZURUFRc0JhUUJCak1VQkN3cHFBQUFBYXdBQUFIaG9BRUdreFFFTEFRSUFRYlRGQVFzSS8vLy8vLy8vLy84QVFmakZBUXNCQlFCQmhNWUJDd0ZzQUVHY3hnRUxEbW9BQUFCdEFBQUFpR2dBQUFBRUFFRzB4Z0VMQVFFQVFjVEdBUXNGLy8vLy93bz0iKTtyZXR1cm4gcmVjZWl2ZUluc3RhbmNlKGluc3RhbnRpYXRlU3luYyh1LGUpWzBdKX0oKTtOLnEsYS5fbWFsbG9jPU4ucixhLl9mcmVlPU4ucyxhLl9qcDJfZGVjb2RlPU4udTt3PWZ1bmN0aW9uIHJ1bkNhbGxlcigpe2J8fHJ1bigpO2J8fCh3PXJ1bkNhbGxlcil9O2Z1bmN0aW9uIHJ1bigpe2lmKCEobT4wKSl7IWZ1bmN0aW9uIHByZVJ1bigpe2lmKGEucHJlUnVuKXsiZnVuY3Rpb24iPT10eXBlb2YgYS5wcmVSdW4mJihhLnByZVJ1bj1bYS5wcmVSdW5dKTtmb3IoO2EucHJlUnVuLmxlbmd0aDspZT1hLnByZVJ1bi5zaGlmdCgpLGQudW5zaGlmdChlKX12YXIgZTtjYWxsUnVudGltZUNhbGxiYWNrcyhkKX0oKTtpZighKG0+MCkpaWYoYS5zZXRTdGF0dXMpe2Euc2V0U3RhdHVzKCJSdW5uaW5nLi4uIik7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Euc2V0U3RhdHVzKCIiKX0pLDEpO2RvUnVuKCl9KSwxKX1lbHNlIGRvUnVuKCl9ZnVuY3Rpb24gZG9SdW4oKXtpZighYil7Yj0hMDthLmNhbGxlZFJ1bj0hMDshZnVuY3Rpb24gaW5pdFJ1bnRpbWUoKXtjYWxsUnVudGltZUNhbGxiYWNrcyhmKX0oKTt0KGEpO2Eub25SdW50aW1lSW5pdGlhbGl6ZWQmJmEub25SdW50aW1lSW5pdGlhbGl6ZWQoKTshZnVuY3Rpb24gcG9zdFJ1bigpe2lmKGEucG9zdFJ1bil7ImZ1bmN0aW9uIj09dHlwZW9mIGEucG9zdFJ1biYmKGEucG9zdFJ1bj1bYS5wb3N0UnVuXSk7Zm9yKDthLnBvc3RSdW4ubGVuZ3RoOyllPWEucG9zdFJ1bi5zaGlmdCgpLHAudW5zaGlmdChlKX12YXIgZTtjYWxsUnVudGltZUNhbGxiYWNrcyhwKX0oKX19fWlmKGEucHJlSW5pdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGEucHJlSW5pdCYmKGEucHJlSW5pdD1bYS5wcmVJbml0XSk7Zm9yKDthLnByZUluaXQubGVuZ3RoPjA7KWEucHJlSW5pdC5wb3AoKSgpfXJ1bigpO3JldHVybiBhfSk7Y29uc3QgQ2k9Y2k7Y2xhc3MgSnB4RXJyb3IgZXh0ZW5kcyBndHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJKcHhFcnJvciIpfX1jbGFzcyBKcHhJbWFnZXtzdGF0aWMjdz1udWxsO3N0YXRpYyBkZWNvZGUoZSx0KXt0fHw9e307dGhpcy4jd3x8PUNpKHt3YXJufSk7Y29uc3QgaT10aGlzLiN3LmRlY29kZShlLHQpO2lmKCJzdHJpbmciPT10eXBlb2YgaSl0aHJvdyBuZXcgSnB4RXJyb3IoaSk7cmV0dXJuIGl9c3RhdGljIGNsZWFudXAoKXt0aGlzLiN3PW51bGx9c3RhdGljIHBhcnNlSW1hZ2VQcm9wZXJ0aWVzKGUpe2xldCB0PWUuZ2V0Qnl0ZSgpO2Zvcig7dD49MDspe2NvbnN0IGk9dDt0PWUuZ2V0Qnl0ZSgpO2lmKDY1MzYxPT09KGk8PDh8dCkpe2Uuc2tpcCg0KTtjb25zdCB0PWUuZ2V0SW50MzIoKT4+PjAsaT1lLmdldEludDMyKCk+Pj4wLGE9ZS5nZXRJbnQzMigpPj4+MCxzPWUuZ2V0SW50MzIoKT4+PjA7ZS5za2lwKDE2KTtyZXR1cm57d2lkdGg6dC1hLGhlaWdodDppLXMsYml0c1BlckNvbXBvbmVudDo4LGNvbXBvbmVudHNDb3VudDplLmdldFVpbnQxNigpfX19dGhyb3cgbmV3IEpweEVycm9yKCJObyBzaXplIG1hcmtlciBmb3VuZCBpbiBKUFggc3RyZWFtIil9fWNsYXNzIEpweFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1pfWdldCBieXRlcygpe3JldHVybiBzaGFkb3codGhpcywiYnl0ZXMiLHRoaXMuc3RyZWFtLmdldEJ5dGVzKHRoaXMubWF5YmVMZW5ndGgpKX1lbnN1cmVCdWZmZXIoZSl7fXJlYWRCbG9jayhlKXt0aGlzLmRlY29kZUltYWdlKG51bGwsZSl9ZGVjb2RlSW1hZ2UoZSx0KXtpZih0aGlzLmVvZilyZXR1cm4gdGhpcy5idWZmZXI7ZXx8PXRoaXMuYnl0ZXM7dGhpcy5idWZmZXI9SnB4SW1hZ2UuZGVjb2RlKGUsdCk7dGhpcy5idWZmZXJMZW5ndGg9dGhpcy5idWZmZXIubGVuZ3RoO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319Y2xhc3MgTFpXU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5jYWNoZWREYXRhPTA7dGhpcy5iaXRzQ2FjaGVkPTA7Y29uc3QgYT00MDk2LHM9e2Vhcmx5Q2hhbmdlOmksY29kZUxlbmd0aDo5LG5leHRDb2RlOjI1OCxkaWN0aW9uYXJ5VmFsdWVzOm5ldyBVaW50OEFycmF5KGEpLGRpY3Rpb25hcnlMZW5ndGhzOm5ldyBVaW50MTZBcnJheShhKSxkaWN0aW9uYXJ5UHJldkNvZGVzOm5ldyBVaW50MTZBcnJheShhKSxjdXJyZW50U2VxdWVuY2U6bmV3IFVpbnQ4QXJyYXkoYSksY3VycmVudFNlcXVlbmNlTGVuZ3RoOjB9O2ZvcihsZXQgZT0wO2U8MjU2OysrZSl7cy5kaWN0aW9uYXJ5VmFsdWVzW2VdPWU7cy5kaWN0aW9uYXJ5TGVuZ3Roc1tlXT0xfXRoaXMubHp3U3RhdGU9c31yZWFkQml0cyhlKXtsZXQgdD10aGlzLmJpdHNDYWNoZWQsaT10aGlzLmNhY2hlZERhdGE7Zm9yKDt0PGU7KXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGUoKTtpZigtMT09PWUpe3RoaXMuZW9mPSEwO3JldHVybiBudWxsfWk9aTw8OHxlO3QrPTh9dGhpcy5iaXRzQ2FjaGVkPXQtPWU7dGhpcy5jYWNoZWREYXRhPWk7dGhpcy5sYXN0Q29kZT1udWxsO3JldHVybiBpPj4+dCYoMTw8ZSktMX1yZWFkQmxvY2soKXtsZXQgZSx0LGksYT0xMDI0O2NvbnN0IHM9dGhpcy5sendTdGF0ZTtpZighcylyZXR1cm47Y29uc3Qgcj1zLmVhcmx5Q2hhbmdlO2xldCBuPXMubmV4dENvZGU7Y29uc3QgZz1zLmRpY3Rpb25hcnlWYWx1ZXMsbz1zLmRpY3Rpb25hcnlMZW5ndGhzLGM9cy5kaWN0aW9uYXJ5UHJldkNvZGVzO2xldCBDPXMuY29kZUxlbmd0aCxoPXMucHJldkNvZGU7Y29uc3QgbD1zLmN1cnJlbnRTZXF1ZW5jZTtsZXQgUT1zLmN1cnJlbnRTZXF1ZW5jZUxlbmd0aCxFPTAsdT10aGlzLmJ1ZmZlckxlbmd0aCxkPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK2EpO2ZvcihlPTA7ZTw1MTI7ZSsrKXtjb25zdCBlPXRoaXMucmVhZEJpdHMoQykscz1RPjA7aWYoZTwyNTYpe2xbMF09ZTtRPTF9ZWxzZXtpZighKGU+PTI1OCkpe2lmKDI1Nj09PWUpe0M9OTtuPTI1ODtRPTA7Y29udGludWV9dGhpcy5lb2Y9ITA7ZGVsZXRlIHRoaXMubHp3U3RhdGU7YnJlYWt9aWYoZTxuKXtRPW9bZV07Zm9yKHQ9US0xLGk9ZTt0Pj0wO3QtLSl7bFt0XT1nW2ldO2k9Y1tpXX19ZWxzZSBsW1ErK109bFswXX1pZihzKXtjW25dPWg7b1tuXT1vW2hdKzE7Z1tuXT1sWzBdO24rKztDPW4rciZuK3ItMT9DOjB8TWF0aC5taW4oTWF0aC5sb2cobityKS8uNjkzMTQ3MTgwNTU5OTQ1MysxLDEyKX1oPWU7RSs9UTtpZihhPEUpe2Rve2ErPTUxMn13aGlsZShhPEUpO2Q9dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrYSl9Zm9yKHQ9MDt0PFE7dCsrKWRbdSsrXT1sW3RdfXMubmV4dENvZGU9bjtzLmNvZGVMZW5ndGg9QztzLnByZXZDb2RlPWg7cy5jdXJyZW50U2VxdWVuY2VMZW5ndGg9UTt0aGlzLmJ1ZmZlckxlbmd0aD11fX1jbGFzcyBQcmVkaWN0b3JTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBlO2NvbnN0IGE9dGhpcy5wcmVkaWN0b3I9aS5nZXQoIlByZWRpY3RvciIpfHwxO2lmKGE8PTEpcmV0dXJuIGU7aWYoMiE9PWEmJihhPDEwfHxhPjE1KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVuc3VwcG9ydGVkIHByZWRpY3RvcjogJHthfWApO3RoaXMucmVhZEJsb2NrPTI9PT1hP3RoaXMucmVhZEJsb2NrVGlmZjp0aGlzLnJlYWRCbG9ja1BuZzt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7Y29uc3Qgcz10aGlzLmNvbG9ycz1pLmdldCgiQ29sb3JzIil8fDEscj10aGlzLmJpdHM9aS5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKXx8OCxuPXRoaXMuY29sdW1ucz1pLmdldCgiQ29sdW1ucyIpfHwxO3RoaXMucGl4Qnl0ZXM9cypyKzc+PjM7dGhpcy5yb3dCeXRlcz1uKnMqcis3Pj4zO3JldHVybiB0aGlzfXJlYWRCbG9ja1RpZmYoKXtjb25zdCBlPXRoaXMucm93Qnl0ZXMsdD10aGlzLmJ1ZmZlckxlbmd0aCxpPXRoaXMuZW5zdXJlQnVmZmVyKHQrZSksYT10aGlzLmJpdHMscz10aGlzLmNvbG9ycyxyPXRoaXMuc3RyLmdldEJ5dGVzKGUpO3RoaXMuZW9mPSFyLmxlbmd0aDtpZih0aGlzLmVvZilyZXR1cm47bGV0IG4sZz0wLG89MCxjPTAsQz0wLGg9dDtpZigxPT09YSYmMT09PXMpZm9yKG49MDtuPGU7KytuKXtsZXQgZT1yW25dXmc7ZV49ZT4+MTtlXj1lPj4yO2VePWU+PjQ7Zz0oMSZlKTw8NztpW2grK109ZX1lbHNlIGlmKDg9PT1hKXtmb3Iobj0wO248czsrK24paVtoKytdPXJbbl07Zm9yKDtuPGU7KytuKXtpW2hdPWlbaC1zXStyW25dO2grK319ZWxzZSBpZigxNj09PWEpe2NvbnN0IHQ9MipzO2ZvcihuPTA7bjx0OysrbilpW2grK109cltuXTtmb3IoO248ZTtuKz0yKXtjb25zdCBlPSgoMjU1JnJbbl0pPDw4KSsoMjU1JnJbbisxXSkrKCgyNTUmaVtoLXRdKTw8OCkrKDI1NSZpW2gtdCsxXSk7aVtoKytdPWU+PjgmMjU1O2lbaCsrXT0yNTUmZX19ZWxzZXtjb25zdCBlPW5ldyBVaW50OEFycmF5KHMrMSksaD0oMTw8YSktMTtsZXQgbD0wLFE9dDtjb25zdCBFPXRoaXMuY29sdW1ucztmb3Iobj0wO248RTsrK24pZm9yKGxldCB0PTA7dDxzOysrdCl7aWYoYzxhKXtnPWc8PDh8MjU1JnJbbCsrXTtjKz04fWVbdF09ZVt0XSsoZz4+Yy1hKSZoO2MtPWE7bz1vPDxhfGVbdF07Qys9YTtpZihDPj04KXtpW1ErK109bz4+Qy04JjI1NTtDLT04fX1DPjAmJihpW1ErK109KG88PDgtQykrKGcmKDE8PDgtQyktMSkpfXRoaXMuYnVmZmVyTGVuZ3RoKz1lfXJlYWRCbG9ja1BuZygpe2NvbnN0IGU9dGhpcy5yb3dCeXRlcyx0PXRoaXMucGl4Qnl0ZXMsaT10aGlzLnN0ci5nZXRCeXRlKCksYT10aGlzLnN0ci5nZXRCeXRlcyhlKTt0aGlzLmVvZj0hYS5sZW5ndGg7aWYodGhpcy5lb2YpcmV0dXJuO2NvbnN0IHM9dGhpcy5idWZmZXJMZW5ndGgscj10aGlzLmVuc3VyZUJ1ZmZlcihzK2UpO2xldCBuPXIuc3ViYXJyYXkocy1lLHMpOzA9PT1uLmxlbmd0aCYmKG49bmV3IFVpbnQ4QXJyYXkoZSkpO2xldCBnLG8sYyxDPXM7c3dpdGNoKGkpe2Nhc2UgMDpmb3IoZz0wO2c8ZTsrK2cpcltDKytdPWFbZ107YnJlYWs7Y2FzZSAxOmZvcihnPTA7Zzx0OysrZylyW0MrK109YVtnXTtmb3IoO2c8ZTsrK2cpe3JbQ109cltDLXRdK2FbZ10mMjU1O0MrK31icmVhaztjYXNlIDI6Zm9yKGc9MDtnPGU7KytnKXJbQysrXT1uW2ddK2FbZ10mMjU1O2JyZWFrO2Nhc2UgMzpmb3IoZz0wO2c8dDsrK2cpcltDKytdPShuW2ddPj4xKSthW2ddO2Zvcig7ZzxlOysrZyl7cltDXT0obltnXStyW0MtdF0+PjEpK2FbZ10mMjU1O0MrK31icmVhaztjYXNlIDQ6Zm9yKGc9MDtnPHQ7KytnKXtvPW5bZ107Yz1hW2ddO3JbQysrXT1vK2N9Zm9yKDtnPGU7KytnKXtvPW5bZ107Y29uc3QgZT1uW2ctdF0saT1yW0MtdF0scz1pK28tZTtsZXQgaD1zLWk7aDwwJiYoaD0taCk7bGV0IGw9cy1vO2w8MCYmKGw9LWwpO2xldCBRPXMtZTtRPDAmJihRPS1RKTtjPWFbZ107cltDKytdPWg8PWwmJmg8PVE/aStjOmw8PVE/bytjOmUrY31icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5zdXBwb3J0ZWQgcHJlZGljdG9yOiAke2l9YCl9dGhpcy5idWZmZXJMZW5ndGgrPWV9fWNsYXNzIFJ1bkxlbmd0aFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdH1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKDIpO2lmKCFlfHxlLmxlbmd0aDwyfHwxMjg9PT1lWzBdKXt0aGlzLmVvZj0hMDtyZXR1cm59bGV0IHQsaT10aGlzLmJ1ZmZlckxlbmd0aCxhPWVbMF07aWYoYTwxMjgpe3Q9dGhpcy5lbnN1cmVCdWZmZXIoaSthKzEpO3RbaSsrXT1lWzFdO2lmKGE+MCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcyhhKTt0LnNldChlLGkpO2krPWF9fWVsc2V7YT0yNTctYTtjb25zdCBzPWVbMV07dD10aGlzLmVuc3VyZUJ1ZmZlcihpK2ErMSk7Zm9yKGxldCBlPTA7ZTxhO2UrKyl0W2krK109c310aGlzLmJ1ZmZlckxlbmd0aD1pfX1jbGFzcyBQYXJzZXJ7Y29uc3RydWN0b3Ioe2xleGVyOmUseHJlZjp0LGFsbG93U3RyZWFtczppPSExLHJlY292ZXJ5TW9kZTphPSExfSl7dGhpcy5sZXhlcj1lO3RoaXMueHJlZj10O3RoaXMuYWxsb3dTdHJlYW1zPWk7dGhpcy5yZWNvdmVyeU1vZGU9YTt0aGlzLmltYWdlQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLl9pbWFnZUlkPTA7dGhpcy5yZWZpbGwoKX1yZWZpbGwoKXt0aGlzLmJ1ZjE9dGhpcy5sZXhlci5nZXRPYmooKTt0aGlzLmJ1ZjI9dGhpcy5sZXhlci5nZXRPYmooKX1zaGlmdCgpe2lmKHRoaXMuYnVmMiBpbnN0YW5jZW9mIENtZCYmIklEIj09PXRoaXMuYnVmMi5jbWQpe3RoaXMuYnVmMT10aGlzLmJ1ZjI7dGhpcy5idWYyPW51bGx9ZWxzZXt0aGlzLmJ1ZjE9dGhpcy5idWYyO3RoaXMuYnVmMj10aGlzLmxleGVyLmdldE9iaigpfX10cnlTaGlmdCgpe3RyeXt0aGlzLnNoaWZ0KCk7cmV0dXJuITB9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7cmV0dXJuITF9fWdldE9iaihlPW51bGwpe2NvbnN0IHQ9dGhpcy5idWYxO3RoaXMuc2hpZnQoKTtpZih0IGluc3RhbmNlb2YgQ21kKXN3aXRjaCh0LmNtZCl7Y2FzZSJCSSI6cmV0dXJuIHRoaXMubWFrZUlubGluZUltYWdlKGUpO2Nhc2UiWyI6Y29uc3QgaT1bXTtmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIl0iKSYmdGhpcy5idWYxIT09eXQ7KWkucHVzaCh0aGlzLmdldE9iaihlKSk7aWYodGhpcy5idWYxPT09eXQpe2lmKHRoaXMucmVjb3ZlcnlNb2RlKXJldHVybiBpO3Rocm93IG5ldyBQYXJzZXJFT0ZFeGNlcHRpb24oIkVuZCBvZiBmaWxlIGluc2lkZSBhcnJheS4iKX10aGlzLnNoaWZ0KCk7cmV0dXJuIGk7Y2FzZSI8PCI6Y29uc3QgYT1uZXcgRGljdCh0aGlzLnhyZWYpO2Zvcig7IWlzQ21kKHRoaXMuYnVmMSwiPj4iKSYmdGhpcy5idWYxIT09eXQ7KXtpZighKHRoaXMuYnVmMSBpbnN0YW5jZW9mIE5hbWUpKXtpbmZvKCJNYWxmb3JtZWQgZGljdGlvbmFyeToga2V5IG11c3QgYmUgYSBuYW1lIG9iamVjdCIpO3RoaXMuc2hpZnQoKTtjb250aW51ZX1jb25zdCB0PXRoaXMuYnVmMS5uYW1lO3RoaXMuc2hpZnQoKTtpZih0aGlzLmJ1ZjE9PT15dClicmVhazthLnNldCh0LHRoaXMuZ2V0T2JqKGUpKX1pZih0aGlzLmJ1ZjE9PT15dCl7aWYodGhpcy5yZWNvdmVyeU1vZGUpcmV0dXJuIGE7dGhyb3cgbmV3IFBhcnNlckVPRkV4Y2VwdGlvbigiRW5kIG9mIGZpbGUgaW5zaWRlIGRpY3Rpb25hcnkuIil9aWYoaXNDbWQodGhpcy5idWYyLCJzdHJlYW0iKSlyZXR1cm4gdGhpcy5hbGxvd1N0cmVhbXM/dGhpcy5tYWtlU3RyZWFtKGEsZSk6YTt0aGlzLnNoaWZ0KCk7cmV0dXJuIGE7ZGVmYXVsdDpyZXR1cm4gdH1pZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXtpZihOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuYnVmMSkmJmlzQ21kKHRoaXMuYnVmMiwiUiIpKXtjb25zdCBlPVJlZi5nZXQodCx0aGlzLmJ1ZjEpO3RoaXMuc2hpZnQoKTt0aGlzLnNoaWZ0KCk7cmV0dXJuIGV9cmV0dXJuIHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiZlP2UuZGVjcnlwdFN0cmluZyh0KTp0fWZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0e2tub3duQ29tbWFuZHM6dH09dGhpcy5sZXhlcixpPWUucG9zO2xldCBhLHMscj0wO2Zvcig7LTEhPT0oYT1lLmdldEJ5dGUoKSk7KWlmKDA9PT1yKXI9Njk9PT1hPzE6MDtlbHNlIGlmKDE9PT1yKXI9NzM9PT1hPzI6MDtlbHNlIGlmKDMyPT09YXx8MTA9PT1hfHwxMz09PWEpe3M9ZS5wb3M7Y29uc3QgaT1lLnBlZWtCeXRlcygxNSksbj1pLmxlbmd0aDtpZigwPT09bilicmVhaztmb3IobGV0IGU9MDtlPG47ZSsrKXthPWlbZV07aWYoKDAhPT1hfHwwPT09aVtlKzFdKSYmKDEwIT09YSYmMTMhPT1hJiYoYTwzMnx8YT4xMjcpKSl7cj0wO2JyZWFrfX1pZigyIT09ciljb250aW51ZTtpZighdCl7d2FybigiZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQgLSBgbGV4ZXIua25vd25Db21tYW5kc2AgaXMgdW5kZWZpbmVkLiIpO2NvbnRpbnVlfWNvbnN0IGc9bmV3IExleGVyKG5ldyBTdHJlYW0oaS5zbGljZSgpKSx0KTtnLl9oZXhTdHJpbmdXYXJuPSgpPT57fTtsZXQgbz0wO2Zvcig7Oyl7Y29uc3QgZT1nLmdldE9iaigpO2lmKGU9PT15dCl7cj0wO2JyZWFrfWlmKGUgaW5zdGFuY2VvZiBDbWQpe2NvbnN0IGk9dFtlLmNtZF07aWYoIWkpe3I9MDticmVha31pZihpLnZhcmlhYmxlQXJncz9vPD1pLm51bUFyZ3M6bz09PWkubnVtQXJncylicmVhaztvPTB9ZWxzZSBvKyt9aWYoMj09PXIpYnJlYWt9ZWxzZSByPTA7aWYoLTE9PT1hKXt3YXJuKCJmaW5kRGVmYXVsdElubGluZVN0cmVhbUVuZDogUmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gd2l0aG91dCBmaW5kaW5nIGEgdmFsaWQgRUkgbWFya2VyIik7aWYocyl7d2FybignLi4uIHRyeWluZyB0byByZWNvdmVyIGJ5IHVzaW5nIHRoZSBsYXN0ICJFSSIgb2NjdXJyZW5jZS4nKTtlLnNraXAoLShlLnBvcy1zKSl9fWxldCBuPTQ7ZS5za2lwKC1uKTthPWUucGVla0J5dGUoKTtlLnNraXAobik7aXNXaGl0ZVNwYWNlKGEpfHxuLS07cmV0dXJuIGUucG9zLW4taX1maW5kRENURGVjb2RlSW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0IHQ9ZS5wb3M7bGV0IGksYSxzPSExO2Zvcig7LTEhPT0oaT1lLmdldEJ5dGUoKSk7KWlmKDI1NT09PWkpe3N3aXRjaChlLmdldEJ5dGUoKSl7Y2FzZSAwOmJyZWFrO2Nhc2UgMjU1OmUuc2tpcCgtMSk7YnJlYWs7Y2FzZSAyMTc6cz0hMDticmVhaztjYXNlIDE5MjpjYXNlIDE5MzpjYXNlIDE5NDpjYXNlIDE5NTpjYXNlIDE5NzpjYXNlIDE5ODpjYXNlIDE5OTpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwMzpjYXNlIDIwNTpjYXNlIDIwNjpjYXNlIDIwNzpjYXNlIDE5NjpjYXNlIDIwNDpjYXNlIDIxODpjYXNlIDIxOTpjYXNlIDIyMDpjYXNlIDIyMTpjYXNlIDIyMjpjYXNlIDIyMzpjYXNlIDIyNDpjYXNlIDIyNTpjYXNlIDIyNjpjYXNlIDIyNzpjYXNlIDIyODpjYXNlIDIyOTpjYXNlIDIzMDpjYXNlIDIzMTpjYXNlIDIzMjpjYXNlIDIzMzpjYXNlIDIzNDpjYXNlIDIzNTpjYXNlIDIzNjpjYXNlIDIzNzpjYXNlIDIzODpjYXNlIDIzOTpjYXNlIDI1NDphPWUuZ2V0VWludDE2KCk7YT4yP2Uuc2tpcChhLTIpOmUuc2tpcCgtMil9aWYocylicmVha31jb25zdCByPWUucG9zLXQ7aWYoLTE9PT1pKXt3YXJuKCJJbmxpbmUgRENURGVjb2RlIGltYWdlIHN0cmVhbTogRU9JIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLiIpO2Uuc2tpcCgtcik7cmV0dXJuIHRoaXMuZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoZSl9dGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoZSk7cmV0dXJuIHJ9ZmluZEFTQ0lJODVEZWNvZGVJbmxpbmVTdHJlYW1FbmQoZSl7Y29uc3QgdD1lLnBvcztsZXQgaTtmb3IoOy0xIT09KGk9ZS5nZXRCeXRlKCkpOylpZigxMjY9PT1pKXtjb25zdCB0PWUucG9zO2k9ZS5wZWVrQnl0ZSgpO2Zvcig7aXNXaGl0ZVNwYWNlKGkpOyl7ZS5za2lwKCk7aT1lLnBlZWtCeXRlKCl9aWYoNjI9PT1pKXtlLnNraXAoKTticmVha31pZihlLnBvcz50KXtjb25zdCB0PWUucGVla0J5dGVzKDIpO2lmKDY5PT09dFswXSYmNzM9PT10WzFdKWJyZWFrfX1jb25zdCBhPWUucG9zLXQ7aWYoLTE9PT1pKXt3YXJuKCJJbmxpbmUgQVNDSUk4NURlY29kZSBpbWFnZSBzdHJlYW06IEVPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLWEpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiBhfWZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZChlKXtjb25zdCB0PWUucG9zO2xldCBpO2Zvcig7LTEhPT0oaT1lLmdldEJ5dGUoKSkmJjYyIT09aTspO2NvbnN0IGE9ZS5wb3MtdDtpZigtMT09PWkpe3dhcm4oIklubGluZSBBU0NJSUhleERlY29kZSBpbWFnZSBzdHJlYW06IEVPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLWEpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiBhfWlubGluZVN0cmVhbVNraXBFSShlKXtsZXQgdCxpPTA7Zm9yKDstMSE9PSh0PWUuZ2V0Qnl0ZSgpKTspaWYoMD09PWkpaT02OT09PXQ/MTowO2Vsc2UgaWYoMT09PWkpaT03Mz09PXQ/MjowO2Vsc2UgaWYoMj09PWkpYnJlYWt9bWFrZUlubGluZUltYWdlKGUpe2NvbnN0IHQ9dGhpcy5sZXhlcixpPXQuc3RyZWFtLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgcztmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIklEIikmJnRoaXMuYnVmMSE9PXl0Oyl7aWYoISh0aGlzLmJ1ZjEgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkRpY3Rpb25hcnkga2V5IG11c3QgYmUgYSBuYW1lIG9iamVjdCIpO2NvbnN0IHQ9dGhpcy5idWYxLm5hbWU7dGhpcy5zaGlmdCgpO2lmKHRoaXMuYnVmMT09PXl0KWJyZWFrO2FbdF09dGhpcy5nZXRPYmooZSl9LTEhPT10LmJlZ2luSW5saW5lSW1hZ2VQb3MmJihzPWkucG9zLXQuYmVnaW5JbmxpbmVJbWFnZVBvcyk7Y29uc3Qgcj10aGlzLnhyZWYuZmV0Y2hJZlJlZihhLkZ8fGEuRmlsdGVyKTtsZXQgbjtpZihyIGluc3RhbmNlb2YgTmFtZSluPXIubmFtZTtlbHNlIGlmKEFycmF5LmlzQXJyYXkocikpe2NvbnN0IGU9dGhpcy54cmVmLmZldGNoSWZSZWYoclswXSk7ZSBpbnN0YW5jZW9mIE5hbWUmJihuPWUubmFtZSl9Y29uc3QgZz1pLnBvcztsZXQgbyxjO3N3aXRjaChuKXtjYXNlIkRDVCI6Y2FzZSJEQ1REZWNvZGUiOm89dGhpcy5maW5kRENURGVjb2RlSW5saW5lU3RyZWFtRW5kKGkpO2JyZWFrO2Nhc2UiQTg1IjpjYXNlIkFTQ0lJODVEZWNvZGUiOm89dGhpcy5maW5kQVNDSUk4NURlY29kZUlubGluZVN0cmVhbUVuZChpKTticmVhaztjYXNlIkFIeCI6Y2FzZSJBU0NJSUhleERlY29kZSI6bz10aGlzLmZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZChpKTticmVhaztkZWZhdWx0Om89dGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChpKX1pZihvPDFlMyYmcz4wKXtjb25zdCBlPWkucG9zO2kucG9zPXQuYmVnaW5JbmxpbmVJbWFnZVBvcztjPWZ1bmN0aW9uIGdldElubGluZUltYWdlQ2FjaGVLZXkoZSl7Y29uc3QgdD1bXSxpPWUubGVuZ3RoO2xldCBhPTA7Zm9yKDthPGktMTspdC5wdXNoKGVbYSsrXTw8OHxlW2ErK10pO2E8aSYmdC5wdXNoKGVbYV0pO3JldHVybiBpKyJfIitTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsdCl9KGkuZ2V0Qnl0ZXMocytvKSk7aS5wb3M9ZTtjb25zdCBhPXRoaXMuaW1hZ2VDYWNoZVtjXTtpZih2b2lkIDAhPT1hKXt0aGlzLmJ1ZjI9Q21kLmdldCgiRUkiKTt0aGlzLnNoaWZ0KCk7YS5yZXNldCgpO3JldHVybiBhfX1jb25zdCBDPW5ldyBEaWN0KHRoaXMueHJlZik7Zm9yKGNvbnN0IGUgaW4gYSlDLnNldChlLGFbZV0pO2xldCBoPWkubWFrZVN1YlN0cmVhbShnLG8sQyk7ZSYmKGg9ZS5jcmVhdGVTdHJlYW0oaCxvKSk7aD10aGlzLmZpbHRlcihoLEMsbyk7aC5kaWN0PUM7aWYodm9pZCAwIT09Yyl7aC5jYWNoZUtleT0iaW5saW5lX2ltZ18iKyArK3RoaXMuX2ltYWdlSWQ7dGhpcy5pbWFnZUNhY2hlW2NdPWh9dGhpcy5idWYyPUNtZC5nZXQoIkVJIik7dGhpcy5zaGlmdCgpO3JldHVybiBofSNEKGUpe2NvbnN0e3N0cmVhbTp0fT10aGlzLmxleGVyO3QucG9zPWU7Y29uc3QgaT1uZXcgVWludDhBcnJheShbMTAxLDExMCwxMDBdKSxhPWkubGVuZ3RoLHM9W25ldyBVaW50OEFycmF5KFsxMTUsMTE2LDExNCwxMDEsOTcsMTA5XSksbmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsMTAxLDk3LDEwOV0pLG5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDExNCwxMDEsOTddKV0scj05LWE7Zm9yKDt0LnBvczx0LmVuZDspe2NvbnN0IG49dC5wZWVrQnl0ZXMoMjA0OCksZz1uLmxlbmd0aC05O2lmKGc8PTApYnJlYWs7bGV0IG89MDtmb3IoO288Zzspe2xldCBnPTA7Zm9yKDtnPGEmJm5bbytnXT09PWlbZ107KWcrKztpZihnPj1hKXtsZXQgYT0hMTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCB0PWUubGVuZ3RoO2xldCBzPTA7Zm9yKDtzPHQmJm5bbytnK3NdPT09ZVtzXTspcysrO2lmKHM+PXIpe2E9ITA7YnJlYWt9aWYocz49dCl7aWYoaXNXaGl0ZVNwYWNlKG5bbytnK3NdKSl7aW5mbyhgRm91bmQgIiR7Ynl0ZXNUb1N0cmluZyhbLi4uaSwuLi5lXSl9IiB3aGVuIHNlYXJjaGluZyBmb3IgZW5kc3RyZWFtIGNvbW1hbmQuYCk7YT0hMH1icmVha319aWYoYSl7dC5wb3MrPW87cmV0dXJuIHQucG9zLWV9fW8rK310LnBvcys9Z31yZXR1cm4tMX1tYWtlU3RyZWFtKGUsdCl7Y29uc3QgaT10aGlzLmxleGVyO2xldCBhPWkuc3RyZWFtO2kuc2tpcFRvTmV4dExpbmUoKTtjb25zdCBzPWEucG9zLTE7bGV0IHI9ZS5nZXQoIkxlbmd0aCIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHIpKXtpbmZvKGBCYWQgbGVuZ3RoICIke3ImJnIudG9TdHJpbmcoKX0iIGluIHN0cmVhbS5gKTtyPTB9YS5wb3M9cytyO2kubmV4dENoYXIoKTtpZih0aGlzLnRyeVNoaWZ0KCkmJmlzQ21kKHRoaXMuYnVmMiwiZW5kc3RyZWFtIikpdGhpcy5zaGlmdCgpO2Vsc2V7cj10aGlzLiNEKHMpO2lmKHI8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1pc3NpbmcgZW5kc3RyZWFtIGNvbW1hbmQuIik7aS5uZXh0Q2hhcigpO3RoaXMuc2hpZnQoKTt0aGlzLnNoaWZ0KCl9dGhpcy5zaGlmdCgpO2E9YS5tYWtlU3ViU3RyZWFtKHMscixlKTt0JiYoYT10LmNyZWF0ZVN0cmVhbShhLHIpKTthPXRoaXMuZmlsdGVyKGEsZSxyKTthLmRpY3Q9ZTtyZXR1cm4gYX1maWx0ZXIoZSx0LGkpe2xldCBhPXQuZ2V0KCJGIiwiRmlsdGVyIikscz10LmdldCgiRFAiLCJEZWNvZGVQYXJtcyIpO2lmKGEgaW5zdGFuY2VvZiBOYW1lKXtBcnJheS5pc0FycmF5KHMpJiZ3YXJuKCIvRGVjb2RlUGFybXMgc2hvdWxkIG5vdCBiZSBhbiBBcnJheSwgd2hlbiAvRmlsdGVyIGlzIGEgTmFtZS4iKTtyZXR1cm4gdGhpcy5tYWtlRmlsdGVyKGUsYS5uYW1lLGkscyl9bGV0IHI9aTtpZihBcnJheS5pc0FycmF5KGEpKXtjb25zdCB0PWEsaT1zO2ZvcihsZXQgbj0wLGc9dC5sZW5ndGg7bjxnOysrbil7YT10aGlzLnhyZWYuZmV0Y2hJZlJlZih0W25dKTtpZighKGEgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJhZCBmaWx0ZXIgbmFtZSAiJHthfSJgKTtzPW51bGw7QXJyYXkuaXNBcnJheShpKSYmbiBpbiBpJiYocz10aGlzLnhyZWYuZmV0Y2hJZlJlZihpW25dKSk7ZT10aGlzLm1ha2VGaWx0ZXIoZSxhLm5hbWUscixzKTtyPW51bGx9fXJldHVybiBlfW1ha2VGaWx0ZXIoZSx0LGksYSl7aWYoMD09PWkpe3dhcm4oYEVtcHR5ICIke3R9IiBzdHJlYW0uYCk7cmV0dXJuIG5ldyBOdWxsU3RyZWFtfXRyeXtzd2l0Y2godCl7Y2FzZSJGbCI6Y2FzZSJGbGF0ZURlY29kZSI6cmV0dXJuIGE/bmV3IFByZWRpY3RvclN0cmVhbShuZXcgRmxhdGVTdHJlYW0oZSxpKSxpLGEpOm5ldyBGbGF0ZVN0cmVhbShlLGkpO2Nhc2UiTFpXIjpjYXNlIkxaV0RlY29kZSI6bGV0IHQ9MTtpZihhKXthLmhhcygiRWFybHlDaGFuZ2UiKSYmKHQ9YS5nZXQoIkVhcmx5Q2hhbmdlIikpO3JldHVybiBuZXcgUHJlZGljdG9yU3RyZWFtKG5ldyBMWldTdHJlYW0oZSxpLHQpLGksYSl9cmV0dXJuIG5ldyBMWldTdHJlYW0oZSxpLHQpO2Nhc2UiRENUIjpjYXNlIkRDVERlY29kZSI6cmV0dXJuIG5ldyBKcGVnU3RyZWFtKGUsaSxhKTtjYXNlIkpQWCI6Y2FzZSJKUFhEZWNvZGUiOnJldHVybiBuZXcgSnB4U3RyZWFtKGUsaSxhKTtjYXNlIkE4NSI6Y2FzZSJBU0NJSTg1RGVjb2RlIjpyZXR1cm4gbmV3IEFzY2lpODVTdHJlYW0oZSxpKTtjYXNlIkFIeCI6Y2FzZSJBU0NJSUhleERlY29kZSI6cmV0dXJuIG5ldyBBc2NpaUhleFN0cmVhbShlLGkpO2Nhc2UiQ0NGIjpjYXNlIkNDSVRURmF4RGVjb2RlIjpyZXR1cm4gbmV3IENDSVRURmF4U3RyZWFtKGUsaSxhKTtjYXNlIlJMIjpjYXNlIlJ1bkxlbmd0aERlY29kZSI6cmV0dXJuIG5ldyBSdW5MZW5ndGhTdHJlYW0oZSxpKTtjYXNlIkpCSUcyRGVjb2RlIjpyZXR1cm4gbmV3IEpiaWcyU3RyZWFtKGUsaSxhKX13YXJuKGBGaWx0ZXIgIiR7dH0iIGlzIG5vdCBzdXBwb3J0ZWQuYCk7cmV0dXJuIGV9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgSW52YWxpZCBzdHJlYW06ICIke2V9ImApO3JldHVybiBuZXcgTnVsbFN0cmVhbX19fWNvbnN0IGhpPVsxLDAsMCwwLDAsMCwwLDAsMCwxLDEsMCwxLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDIsMCwwLDIsMiwwLDAsMCwwLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXTtmdW5jdGlvbiB0b0hleERpZ2l0KGUpe3JldHVybiBlPj00OCYmZTw9NTc/MTUmZTplPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDI/OSsoMTUmZSk6LTF9Y2xhc3MgTGV4ZXJ7Y29uc3RydWN0b3IoZSx0PW51bGwpe3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpO3RoaXMuc3RyQnVmPVtdO3RoaXMua25vd25Db21tYW5kcz10O3RoaXMuX2hleFN0cmluZ051bVdhcm49MDt0aGlzLmJlZ2luSW5saW5lSW1hZ2VQb3M9LTF9bmV4dENoYXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Q2hhcj10aGlzLnN0cmVhbS5nZXRCeXRlKCl9cGVla0NoYXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0ucGVla0J5dGUoKX1nZXROdW1iZXIoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyLHQ9ITEsaT0wLGE9MTtpZig0NT09PWUpe2E9LTE7ZT10aGlzLm5leHRDaGFyKCk7NDU9PT1lJiYoZT10aGlzLm5leHRDaGFyKCkpfWVsc2UgNDM9PT1lJiYoZT10aGlzLm5leHRDaGFyKCkpO2lmKDEwPT09ZXx8MTM9PT1lKWRve2U9dGhpcy5uZXh0Q2hhcigpfXdoaWxlKDEwPT09ZXx8MTM9PT1lKTtpZig0Nj09PWUpe2k9MTA7ZT10aGlzLm5leHRDaGFyKCl9aWYoZTw0OHx8ZT41Nyl7Y29uc3QgdD1gSW52YWxpZCBudW1iZXI6ICR7U3RyaW5nLmZyb21DaGFyQ29kZShlKX0gKGNoYXJDb2RlICR7ZX0pYDtpZihpc1doaXRlU3BhY2UoZSl8fC0xPT09ZSl7aW5mbyhgTGV4ZXIuZ2V0TnVtYmVyIC0gIiR7dH0iLmApO3JldHVybiAwfXRocm93IG5ldyBGb3JtYXRFcnJvcih0KX1sZXQgcz1lLTQ4LHI9MCxuPTE7Zm9yKDsoZT10aGlzLm5leHRDaGFyKCkpPj0wOylpZihlPj00OCYmZTw9NTcpe2NvbnN0IGE9ZS00ODtpZih0KXI9MTAqcithO2Vsc2V7MCE9PWkmJihpKj0xMCk7cz0xMCpzK2F9fWVsc2UgaWYoNDY9PT1lKXtpZigwIT09aSlicmVhaztpPTF9ZWxzZSBpZig0NT09PWUpd2FybigiQmFkbHkgZm9ybWF0dGVkIG51bWJlcjogbWludXMgc2lnbiBpbiB0aGUgbWlkZGxlIik7ZWxzZXtpZig2OSE9PWUmJjEwMSE9PWUpYnJlYWs7ZT10aGlzLnBlZWtDaGFyKCk7aWYoNDM9PT1lfHw0NT09PWUpe249NDU9PT1lPy0xOjE7dGhpcy5uZXh0Q2hhcigpfWVsc2UgaWYoZTw0OHx8ZT41NylicmVhazt0PSEwfTAhPT1pJiYocy89aSk7dCYmKHMqPTEwKioobipyKSk7cmV0dXJuIGEqc31nZXRTdHJpbmcoKXtsZXQgZT0xLHQ9ITE7Y29uc3QgaT10aGlzLnN0ckJ1ZjtpLmxlbmd0aD0wO2xldCBhPXRoaXMubmV4dENoYXIoKTtmb3IoOzspe2xldCBzPSExO3N3aXRjaCgwfGEpe2Nhc2UtMTp3YXJuKCJVbnRlcm1pbmF0ZWQgc3RyaW5nIik7dD0hMDticmVhaztjYXNlIDQwOisrZTtpLnB1c2goIigiKTticmVhaztjYXNlIDQxOmlmKDA9PS0tZSl7dGhpcy5uZXh0Q2hhcigpO3Q9ITB9ZWxzZSBpLnB1c2goIikiKTticmVhaztjYXNlIDkyOmE9dGhpcy5uZXh0Q2hhcigpO3N3aXRjaChhKXtjYXNlLTE6d2FybigiVW50ZXJtaW5hdGVkIHN0cmluZyIpO3Q9ITA7YnJlYWs7Y2FzZSAxMTA6aS5wdXNoKCJcbiIpO2JyZWFrO2Nhc2UgMTE0OmkucHVzaCgiXHIiKTticmVhaztjYXNlIDExNjppLnB1c2goIlx0Iik7YnJlYWs7Y2FzZSA5ODppLnB1c2goIlxiIik7YnJlYWs7Y2FzZSAxMDI6aS5wdXNoKCJcZiIpO2JyZWFrO2Nhc2UgOTI6Y2FzZSA0MDpjYXNlIDQxOmkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKTticmVhaztjYXNlIDQ4OmNhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6bGV0IGU9MTUmYTthPXRoaXMubmV4dENoYXIoKTtzPSEwO2lmKGE+PTQ4JiZhPD01NSl7ZT0oZTw8MykrKDE1JmEpO2E9dGhpcy5uZXh0Q2hhcigpO2lmKGE+PTQ4JiZhPD01NSl7cz0hMTtlPShlPDwzKSsoMTUmYSl9fWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTticmVhaztjYXNlIDEzOjEwPT09dGhpcy5wZWVrQ2hhcigpJiZ0aGlzLm5leHRDaGFyKCk7YnJlYWs7Y2FzZSAxMDpicmVhaztkZWZhdWx0OmkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKX1icmVhaztkZWZhdWx0OmkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKX1pZih0KWJyZWFrO3N8fChhPXRoaXMubmV4dENoYXIoKSl9cmV0dXJuIGkuam9pbigiIil9Z2V0TmFtZSgpe2xldCBlLHQ7Y29uc3QgaT10aGlzLnN0ckJ1ZjtpLmxlbmd0aD0wO2Zvcig7KGU9dGhpcy5uZXh0Q2hhcigpKT49MCYmIWhpW2VdOylpZigzNT09PWUpe2U9dGhpcy5uZXh0Q2hhcigpO2lmKGhpW2VdKXt3YXJuKCJMZXhlcl9nZXROYW1lOiBOVU1CRVIgU0lHTiAoIykgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IGEgaGV4YWRlY2ltYWwgbnVtYmVyLiIpO2kucHVzaCgiIyIpO2JyZWFrfWNvbnN0IGE9dG9IZXhEaWdpdChlKTtpZigtMSE9PWEpe3Q9ZTtlPXRoaXMubmV4dENoYXIoKTtjb25zdCBzPXRvSGV4RGlnaXQoZSk7aWYoLTE9PT1zKXt3YXJuKGBMZXhlcl9nZXROYW1lOiBJbGxlZ2FsIGRpZ2l0ICgke1N0cmluZy5mcm9tQ2hhckNvZGUoZSl9KSBpbiBoZXhhZGVjaW1hbCBudW1iZXIuYCk7aS5wdXNoKCIjIixTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKTtpZihoaVtlXSlicmVhaztpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7Y29udGludWV9aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYTw8NHxzKSl9ZWxzZSBpLnB1c2goIiMiLFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpfWVsc2UgaS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2kubGVuZ3RoPjEyNyYmd2FybihgTmFtZSB0b2tlbiBpcyBsb25nZXIgdGhhbiBhbGxvd2VkIGJ5IHRoZSBzcGVjOiAke2kubGVuZ3RofWApO3JldHVybiBOYW1lLmdldChpLmpvaW4oIiIpKX1faGV4U3RyaW5nV2FybihlKXs1IT10aGlzLl9oZXhTdHJpbmdOdW1XYXJuKys/dGhpcy5faGV4U3RyaW5nTnVtV2Fybj41fHx3YXJuKGBnZXRIZXhTdHJpbmcgLSBpZ25vcmluZyBpbnZhbGlkIGNoYXJhY3RlcjogJHtlfWApOndhcm4oImdldEhleFN0cmluZyAtIGlnbm9yaW5nIGFkZGl0aW9uYWwgaW52YWxpZCBjaGFyYWN0ZXJzLiIpfWdldEhleFN0cmluZygpe2NvbnN0IGU9dGhpcy5zdHJCdWY7ZS5sZW5ndGg9MDtsZXQgdD10aGlzLmN1cnJlbnRDaGFyLGk9LTEsYT0tMTt0aGlzLl9oZXhTdHJpbmdOdW1XYXJuPTA7Zm9yKDs7KXtpZih0PDApe3dhcm4oIlVudGVybWluYXRlZCBoZXggc3RyaW5nIik7YnJlYWt9aWYoNjI9PT10KXt0aGlzLm5leHRDaGFyKCk7YnJlYWt9aWYoMSE9PWhpW3RdKXthPXRvSGV4RGlnaXQodCk7aWYoLTE9PT1hKXRoaXMuX2hleFN0cmluZ1dhcm4odCk7ZWxzZSBpZigtMT09PWkpaT1hO2Vsc2V7ZS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoaTw8NHxhKSk7aT0tMX10PXRoaXMubmV4dENoYXIoKX1lbHNlIHQ9dGhpcy5uZXh0Q2hhcigpfS0xIT09aSYmZS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoaTw8NCkpO3JldHVybiBlLmpvaW4oIiIpfWdldE9iaigpe2xldCBlPSExLHQ9dGhpcy5jdXJyZW50Q2hhcjtmb3IoOzspe2lmKHQ8MClyZXR1cm4geXQ7aWYoZSkxMCE9PXQmJjEzIT09dHx8KGU9ITEpO2Vsc2UgaWYoMzc9PT10KWU9ITA7ZWxzZSBpZigxIT09aGlbdF0pYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9c3dpdGNoKDB8dCl7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDQzOmNhc2UgNDU6Y2FzZSA0NjpyZXR1cm4gdGhpcy5nZXROdW1iZXIoKTtjYXNlIDQwOnJldHVybiB0aGlzLmdldFN0cmluZygpO2Nhc2UgNDc6cmV0dXJuIHRoaXMuZ2V0TmFtZSgpO2Nhc2UgOTE6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJbIik7Y2FzZSA5Mzp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIl0iKTtjYXNlIDYwOnQ9dGhpcy5uZXh0Q2hhcigpO2lmKDYwPT09dCl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCI8PCIpfXJldHVybiB0aGlzLmdldEhleFN0cmluZygpO2Nhc2UgNjI6dD10aGlzLm5leHRDaGFyKCk7aWYoNjI9PT10KXt0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIj4+Iil9cmV0dXJuIENtZC5nZXQoIj4iKTtjYXNlIDEyMzp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoInsiKTtjYXNlIDEyNTp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIn0iKTtjYXNlIDQxOnRoaXMubmV4dENoYXIoKTt0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYElsbGVnYWwgY2hhcmFjdGVyOiAke3R9YCl9bGV0IGk9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtpZih0PDMyfHx0PjEyNyl7Y29uc3QgZT10aGlzLnBlZWtDaGFyKCk7aWYoZT49MzImJmU8PTEyNyl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KGkpfX1jb25zdCBhPXRoaXMua25vd25Db21tYW5kcztsZXQgcz12b2lkIDAhPT1hPy5baV07Zm9yKDsodD10aGlzLm5leHRDaGFyKCkpPj0wJiYhaGlbdF07KXtjb25zdCBlPWkrU3RyaW5nLmZyb21DaGFyQ29kZSh0KTtpZihzJiZ2b2lkIDA9PT1hW2VdKWJyZWFrO2lmKDEyOD09PWkubGVuZ3RoKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQ29tbWFuZCB0b2tlbiB0b28gbG9uZzogJHtpLmxlbmd0aH1gKTtpPWU7cz12b2lkIDAhPT1hPy5baV19aWYoInRydWUiPT09aSlyZXR1cm4hMDtpZigiZmFsc2UiPT09aSlyZXR1cm4hMTtpZigibnVsbCI9PT1pKXJldHVybiBudWxsOyJCSSI9PT1pJiYodGhpcy5iZWdpbklubGluZUltYWdlUG9zPXRoaXMuc3RyZWFtLnBvcyk7cmV0dXJuIENtZC5nZXQoaSl9c2tpcFRvTmV4dExpbmUoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyO2Zvcig7ZT49MDspe2lmKDEzPT09ZSl7ZT10aGlzLm5leHRDaGFyKCk7MTA9PT1lJiZ0aGlzLm5leHRDaGFyKCk7YnJlYWt9aWYoMTA9PT1lKXt0aGlzLm5leHRDaGFyKCk7YnJlYWt9ZT10aGlzLm5leHRDaGFyKCl9fX1jbGFzcyBMaW5lYXJpemF0aW9ue3N0YXRpYyBjcmVhdGUoZSl7ZnVuY3Rpb24gZ2V0SW50KGUsdCxpPSExKXtjb25zdCBhPWUuZ2V0KHQpO2lmKE51bWJlci5pc0ludGVnZXIoYSkmJihpP2E+PTA6YT4wKSlyZXR1cm4gYTt0aHJvdyBuZXcgRXJyb3IoYFRoZSAiJHt0fSIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgaXMgaW52YWxpZC5gKX1jb25zdCB0PW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihlKSx4cmVmOm51bGx9KSxpPXQuZ2V0T2JqKCksYT10LmdldE9iaigpLHM9dC5nZXRPYmooKSxyPXQuZ2V0T2JqKCk7bGV0IG4sZztpZighKE51bWJlci5pc0ludGVnZXIoaSkmJk51bWJlci5pc0ludGVnZXIoYSkmJmlzQ21kKHMsIm9iaiIpJiZyIGluc3RhbmNlb2YgRGljdCYmIm51bWJlciI9PXR5cGVvZihuPXIuZ2V0KCJMaW5lYXJpemVkIikpJiZuPjApKXJldHVybiBudWxsO2lmKChnPWdldEludChyLCJMIikpIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdUaGUgIkwiIHBhcmFtZXRlciBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGRvZXMgbm90IGVxdWFsIHRoZSBzdHJlYW0gbGVuZ3RoLicpO3JldHVybntsZW5ndGg6ZyxoaW50czpmdW5jdGlvbiBnZXRIaW50cyhlKXtjb25zdCB0PWUuZ2V0KCJIIik7bGV0IGk7aWYoQXJyYXkuaXNBcnJheSh0KSYmKDI9PT0oaT10Lmxlbmd0aCl8fDQ9PT1pKSl7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7Y29uc3QgaT10W2VdO2lmKCEoTnVtYmVyLmlzSW50ZWdlcihpKSYmaT4wKSl0aHJvdyBuZXcgRXJyb3IoYEhpbnQgKCR7ZX0pIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgaXMgaW52YWxpZC5gKX1yZXR1cm4gdH10aHJvdyBuZXcgRXJyb3IoIkhpbnQgYXJyYXkgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLiIpfShyKSxvYmplY3ROdW1iZXJGaXJzdDpnZXRJbnQociwiTyIpLGVuZEZpcnN0OmdldEludChyLCJFIiksbnVtUGFnZXM6Z2V0SW50KHIsIk4iKSxtYWluWFJlZkVudHJpZXNPZmZzZXQ6Z2V0SW50KHIsIlQiKSxwYWdlRmlyc3Q6ci5oYXMoIlAiKT9nZXRJbnQociwiUCIsITApOjB9fX1jb25zdCBsaT1bIkFkb2JlLUdCMS1VQ1MyIiwiQWRvYmUtQ05TMS1VQ1MyIiwiQWRvYmUtSmFwYW4xLVVDUzIiLCJBZG9iZS1Lb3JlYTEtVUNTMiIsIjc4LUVVQy1IIiwiNzgtRVVDLVYiLCI3OC1IIiwiNzgtUktTSi1IIiwiNzgtUktTSi1WIiwiNzgtViIsIjc4bXMtUktTSi1IIiwiNzhtcy1SS1NKLVYiLCI4M3B2LVJLU0otSCIsIjkwbXMtUktTSi1IIiwiOTBtcy1SS1NKLVYiLCI5MG1zcC1SS1NKLUgiLCI5MG1zcC1SS1NKLVYiLCI5MHB2LVJLU0otSCIsIjkwcHYtUktTSi1WIiwiQWRkLUgiLCJBZGQtUktTSi1IIiwiQWRkLVJLU0otViIsIkFkZC1WIiwiQWRvYmUtQ05TMS0wIiwiQWRvYmUtQ05TMS0xIiwiQWRvYmUtQ05TMS0yIiwiQWRvYmUtQ05TMS0zIiwiQWRvYmUtQ05TMS00IiwiQWRvYmUtQ05TMS01IiwiQWRvYmUtQ05TMS02IiwiQWRvYmUtR0IxLTAiLCJBZG9iZS1HQjEtMSIsIkFkb2JlLUdCMS0yIiwiQWRvYmUtR0IxLTMiLCJBZG9iZS1HQjEtNCIsIkFkb2JlLUdCMS01IiwiQWRvYmUtSmFwYW4xLTAiLCJBZG9iZS1KYXBhbjEtMSIsIkFkb2JlLUphcGFuMS0yIiwiQWRvYmUtSmFwYW4xLTMiLCJBZG9iZS1KYXBhbjEtNCIsIkFkb2JlLUphcGFuMS01IiwiQWRvYmUtSmFwYW4xLTYiLCJBZG9iZS1Lb3JlYTEtMCIsIkFkb2JlLUtvcmVhMS0xIiwiQWRvYmUtS29yZWExLTIiLCJCNS1IIiwiQjUtViIsIkI1cGMtSCIsIkI1cGMtViIsIkNOUy1FVUMtSCIsIkNOUy1FVUMtViIsIkNOUzEtSCIsIkNOUzEtViIsIkNOUzItSCIsIkNOUzItViIsIkVUSEstQjUtSCIsIkVUSEstQjUtViIsIkVUZW4tQjUtSCIsIkVUZW4tQjUtViIsIkVUZW5tcy1CNS1IIiwiRVRlbm1zLUI1LVYiLCJFVUMtSCIsIkVVQy1WIiwiRXh0LUgiLCJFeHQtUktTSi1IIiwiRXh0LVJLU0otViIsIkV4dC1WIiwiR0ItRVVDLUgiLCJHQi1FVUMtViIsIkdCLUgiLCJHQi1WIiwiR0JLLUVVQy1IIiwiR0JLLUVVQy1WIiwiR0JLMkstSCIsIkdCSzJLLVYiLCJHQktwLUVVQy1IIiwiR0JLcC1FVUMtViIsIkdCVC1FVUMtSCIsIkdCVC1FVUMtViIsIkdCVC1IIiwiR0JULVYiLCJHQlRwYy1FVUMtSCIsIkdCVHBjLUVVQy1WIiwiR0JwYy1FVUMtSCIsIkdCcGMtRVVDLVYiLCJIIiwiSEtkbGEtQjUtSCIsIkhLZGxhLUI1LVYiLCJIS2RsYi1CNS1IIiwiSEtkbGItQjUtViIsIkhLZ2Njcy1CNS1IIiwiSEtnY2NzLUI1LVYiLCJIS20zMTQtQjUtSCIsIkhLbTMxNC1CNS1WIiwiSEttNDcxLUI1LUgiLCJIS200NzEtQjUtViIsIkhLc2NzLUI1LUgiLCJIS3Njcy1CNS1WIiwiSGFua2FrdSIsIkhpcmFnYW5hIiwiS1NDLUVVQy1IIiwiS1NDLUVVQy1WIiwiS1NDLUgiLCJLU0MtSm9oYWItSCIsIktTQy1Kb2hhYi1WIiwiS1NDLVYiLCJLU0Ntcy1VSEMtSCIsIktTQ21zLVVIQy1IVy1IIiwiS1NDbXMtVUhDLUhXLVYiLCJLU0Ntcy1VSEMtViIsIktTQ3BjLUVVQy1IIiwiS1NDcGMtRVVDLVYiLCJLYXRha2FuYSIsIk5XUC1IIiwiTldQLVYiLCJSS1NKLUgiLCJSS1NKLVYiLCJSb21hbiIsIlVuaUNOUy1VQ1MyLUgiLCJVbmlDTlMtVUNTMi1WIiwiVW5pQ05TLVVURjE2LUgiLCJVbmlDTlMtVVRGMTYtViIsIlVuaUNOUy1VVEYzMi1IIiwiVW5pQ05TLVVURjMyLVYiLCJVbmlDTlMtVVRGOC1IIiwiVW5pQ05TLVVURjgtViIsIlVuaUdCLVVDUzItSCIsIlVuaUdCLVVDUzItViIsIlVuaUdCLVVURjE2LUgiLCJVbmlHQi1VVEYxNi1WIiwiVW5pR0ItVVRGMzItSCIsIlVuaUdCLVVURjMyLVYiLCJVbmlHQi1VVEY4LUgiLCJVbmlHQi1VVEY4LVYiLCJVbmlKSVMtVUNTMi1IIiwiVW5pSklTLVVDUzItSFctSCIsIlVuaUpJUy1VQ1MyLUhXLVYiLCJVbmlKSVMtVUNTMi1WIiwiVW5pSklTLVVURjE2LUgiLCJVbmlKSVMtVVRGMTYtViIsIlVuaUpJUy1VVEYzMi1IIiwiVW5pSklTLVVURjMyLVYiLCJVbmlKSVMtVVRGOC1IIiwiVW5pSklTLVVURjgtViIsIlVuaUpJUzIwMDQtVVRGMTYtSCIsIlVuaUpJUzIwMDQtVVRGMTYtViIsIlVuaUpJUzIwMDQtVVRGMzItSCIsIlVuaUpJUzIwMDQtVVRGMzItViIsIlVuaUpJUzIwMDQtVVRGOC1IIiwiVW5pSklTMjAwNC1VVEY4LVYiLCJVbmlKSVNQcm8tVUNTMi1IVy1WIiwiVW5pSklTUHJvLVVDUzItViIsIlVuaUpJU1Byby1VVEY4LVYiLCJVbmlKSVNYMDIxMy1VVEYzMi1IIiwiVW5pSklTWDAyMTMtVVRGMzItViIsIlVuaUpJU1gwMjEzMjAwNC1VVEYzMi1IIiwiVW5pSklTWDAyMTMyMDA0LVVURjMyLVYiLCJVbmlLUy1VQ1MyLUgiLCJVbmlLUy1VQ1MyLVYiLCJVbmlLUy1VVEYxNi1IIiwiVW5pS1MtVVRGMTYtViIsIlVuaUtTLVVURjMyLUgiLCJVbmlLUy1VVEYzMi1WIiwiVW5pS1MtVVRGOC1IIiwiVW5pS1MtVVRGOC1WIiwiViIsIldQLVN5bWJvbCJdLEJpPTIqKjI0LTE7Y2xhc3MgQ01hcHtjb25zdHJ1Y3RvcihlPSExKXt0aGlzLmNvZGVzcGFjZVJhbmdlcz1bW10sW10sW10sW11dO3RoaXMubnVtQ29kZXNwYWNlUmFuZ2VzPTA7dGhpcy5fbWFwPVtdO3RoaXMubmFtZT0iIjt0aGlzLnZlcnRpY2FsPSExO3RoaXMudXNlQ01hcD1udWxsO3RoaXMuYnVpbHRJbkNNYXA9ZX1hZGRDb2Rlc3BhY2VSYW5nZShlLHQsaSl7dGhpcy5jb2Rlc3BhY2VSYW5nZXNbZS0xXS5wdXNoKHQsaSk7dGhpcy5udW1Db2Rlc3BhY2VSYW5nZXMrK31tYXBDaWRSYW5nZShlLHQsaSl7aWYodC1lPkJpKXRocm93IG5ldyBFcnJvcigibWFwQ2lkUmFuZ2UgLSBpZ25vcmluZyBkYXRhIGFib3ZlIE1BWF9NQVBfUkFOR0UuIik7Zm9yKDtlPD10Oyl0aGlzLl9tYXBbZSsrXT1pKyt9bWFwQmZSYW5nZShlLHQsaSl7aWYodC1lPkJpKXRocm93IG5ldyBFcnJvcigibWFwQmZSYW5nZSAtIGlnbm9yaW5nIGRhdGEgYWJvdmUgTUFYX01BUF9SQU5HRS4iKTtjb25zdCBhPWkubGVuZ3RoLTE7Zm9yKDtlPD10Oyl7dGhpcy5fbWFwW2UrK109aTtjb25zdCB0PWkuY2hhckNvZGVBdChhKSsxO3Q+MjU1P2k9aS5zdWJzdHJpbmcoMCxhLTEpK1N0cmluZy5mcm9tQ2hhckNvZGUoaS5jaGFyQ29kZUF0KGEtMSkrMSkrIlwwIjppPWkuc3Vic3RyaW5nKDAsYSkrU3RyaW5nLmZyb21DaGFyQ29kZSh0KX19bWFwQmZSYW5nZVRvQXJyYXkoZSx0LGkpe2lmKHQtZT5CaSl0aHJvdyBuZXcgRXJyb3IoIm1hcEJmUmFuZ2VUb0FycmF5IC0gaWdub3JpbmcgZGF0YSBhYm92ZSBNQVhfTUFQX1JBTkdFLiIpO2NvbnN0IGE9aS5sZW5ndGg7bGV0IHM9MDtmb3IoO2U8PXQmJnM8YTspe3RoaXMuX21hcFtlXT1pW3MrK107KytlfX1tYXBPbmUoZSx0KXt0aGlzLl9tYXBbZV09dH1sb29rdXAoZSl7cmV0dXJuIHRoaXMuX21hcFtlXX1jb250YWlucyhlKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fbWFwW2VdfWZvckVhY2goZSl7Y29uc3QgdD10aGlzLl9tYXAsaT10Lmxlbmd0aDtpZihpPD02NTUzNilmb3IobGV0IGE9MDthPGk7YSsrKXZvaWQgMCE9PXRbYV0mJmUoYSx0W2FdKTtlbHNlIGZvcihjb25zdCBpIGluIHQpZShpLHRbaV0pfWNoYXJDb2RlT2YoZSl7Y29uc3QgdD10aGlzLl9tYXA7aWYodC5sZW5ndGg8PTY1NTM2KXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKGNvbnN0IGkgaW4gdClpZih0W2ldPT09ZSlyZXR1cm4gMHxpO3JldHVybi0xfWdldE1hcCgpe3JldHVybiB0aGlzLl9tYXB9cmVhZENoYXJDb2RlKGUsdCxpKXtsZXQgYT0wO2NvbnN0IHM9dGhpcy5jb2Rlc3BhY2VSYW5nZXM7Zm9yKGxldCByPTAsbj1zLmxlbmd0aDtyPG47cisrKXthPShhPDw4fGUuY2hhckNvZGVBdCh0K3IpKT4+PjA7Y29uc3Qgbj1zW3JdO2ZvcihsZXQgZT0wLHQ9bi5sZW5ndGg7ZTx0Oyl7Y29uc3QgdD1uW2UrK10scz1uW2UrK107aWYoYT49dCYmYTw9cyl7aS5jaGFyY29kZT1hO2kubGVuZ3RoPXIrMTtyZXR1cm59fX1pLmNoYXJjb2RlPTA7aS5sZW5ndGg9MX1nZXRDaGFyQ29kZUxlbmd0aChlKXtjb25zdCB0PXRoaXMuY29kZXNwYWNlUmFuZ2VzO2ZvcihsZXQgaT0wLGE9dC5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT10W2ldO2ZvcihsZXQgdD0wLHM9YS5sZW5ndGg7dDxzOyl7Y29uc3Qgcz1hW3QrK10scj1hW3QrK107aWYoZT49cyYmZTw9cilyZXR1cm4gaSsxfX1yZXR1cm4gMX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX21hcC5sZW5ndGh9Z2V0IGlzSWRlbnRpdHlDTWFwKCl7aWYoIklkZW50aXR5LUgiIT09dGhpcy5uYW1lJiYiSWRlbnRpdHktViIhPT10aGlzLm5hbWUpcmV0dXJuITE7aWYoNjU1MzYhPT10aGlzLl9tYXAubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgZT0wO2U8NjU1MzY7ZSsrKWlmKHRoaXMuX21hcFtlXSE9PWUpcmV0dXJuITE7cmV0dXJuITB9fWNsYXNzIElkZW50aXR5Q01hcCBleHRlbmRzIENNYXB7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpO3RoaXMudmVydGljYWw9ZTt0aGlzLmFkZENvZGVzcGFjZVJhbmdlKHQsMCw2NTUzNSl9bWFwQ2lkUmFuZ2UoZSx0LGkpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQ2lkUmFuZ2UiKX1tYXBCZlJhbmdlKGUsdCxpKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcEJmUmFuZ2UiKX1tYXBCZlJhbmdlVG9BcnJheShlLHQsaSl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgY2FsbCBtYXBCZlJhbmdlVG9BcnJheSIpfW1hcE9uZShlLHQpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQ2lkT25lIil9bG9va3VwKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPD02NTUzNT9lOnZvaWQgMH1jb250YWlucyhlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZTw9NjU1MzV9Zm9yRWFjaChlKXtmb3IobGV0IHQ9MDt0PD02NTUzNTt0KyspZSh0LHQpfWNoYXJDb2RlT2YoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJmU8PTY1NTM1P2U6LTF9Z2V0TWFwKCl7Y29uc3QgZT1uZXcgQXJyYXkoNjU1MzYpO2ZvcihsZXQgdD0wO3Q8PTY1NTM1O3QrKyllW3RdPXQ7cmV0dXJuIGV9Z2V0IGxlbmd0aCgpe3JldHVybiA2NTUzNn1nZXQgaXNJZGVudGl0eUNNYXAoKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBhY2Nlc3MgLmlzSWRlbnRpdHlDTWFwIil9fWZ1bmN0aW9uIHN0clRvSW50KGUpe2xldCB0PTA7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspdD10PDw4fGUuY2hhckNvZGVBdChpKTtyZXR1cm4gdD4+PjB9ZnVuY3Rpb24gZXhwZWN0U3RyaW5nKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1hbGZvcm1lZCBDTWFwOiBleHBlY3RlZCBzdHJpbmcuIil9ZnVuY3Rpb24gZXhwZWN0SW50KGUpe2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWFsZm9ybWVkIENNYXA6IGV4cGVjdGVkIGludC4iKX1mdW5jdGlvbiBwYXJzZUJmQ2hhcihlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09eXQpYnJlYWs7aWYoaXNDbWQoaSwiZW5kYmZjaGFyIikpcmV0dXJuO2V4cGVjdFN0cmluZyhpKTtjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtleHBlY3RTdHJpbmcoaSk7Y29uc3Qgcz1pO2UubWFwT25lKGEscyl9fWZ1bmN0aW9uIHBhcnNlQmZSYW5nZShlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09eXQpYnJlYWs7aWYoaXNDbWQoaSwiZW5kYmZyYW5nZSIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IHM9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2lmKE51bWJlci5pc0ludGVnZXIoaSl8fCJzdHJpbmciPT10eXBlb2YgaSl7Y29uc3QgdD1OdW1iZXIuaXNJbnRlZ2VyKGkpP1N0cmluZy5mcm9tQ2hhckNvZGUoaSk6aTtlLm1hcEJmUmFuZ2UoYSxzLHQpfWVsc2V7aWYoIWlzQ21kKGksIlsiKSlicmVhazt7aT10LmdldE9iaigpO2NvbnN0IHI9W107Zm9yKDshaXNDbWQoaSwiXSIpJiZpIT09eXQ7KXtyLnB1c2goaSk7aT10LmdldE9iaigpfWUubWFwQmZSYW5nZVRvQXJyYXkoYSxzLHIpfX19dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGJmIHJhbmdlLiIpfWZ1bmN0aW9uIHBhcnNlQ2lkQ2hhcihlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09eXQpYnJlYWs7aWYoaXNDbWQoaSwiZW5kY2lkY2hhciIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0SW50KGkpO2NvbnN0IHM9aTtlLm1hcE9uZShhLHMpfX1mdW5jdGlvbiBwYXJzZUNpZFJhbmdlKGUsdCl7Zm9yKDs7KXtsZXQgaT10LmdldE9iaigpO2lmKGk9PT15dClicmVhaztpZihpc0NtZChpLCJlbmRjaWRyYW5nZSIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IHM9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2V4cGVjdEludChpKTtjb25zdCByPWk7ZS5tYXBDaWRSYW5nZShhLHMscil9fWZ1bmN0aW9uIHBhcnNlQ29kZXNwYWNlUmFuZ2UoZSx0KXtmb3IoOzspe2xldCBpPXQuZ2V0T2JqKCk7aWYoaT09PXl0KWJyZWFrO2lmKGlzQ21kKGksImVuZGNvZGVzcGFjZXJhbmdlIikpcmV0dXJuO2lmKCJzdHJpbmciIT10eXBlb2YgaSlicmVhaztjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtpZigic3RyaW5nIiE9dHlwZW9mIGkpYnJlYWs7Y29uc3Qgcz1zdHJUb0ludChpKTtlLmFkZENvZGVzcGFjZVJhbmdlKGkubGVuZ3RoLGEscyl9dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGNvZGVzcGFjZSByYW5nZS4iKX1mdW5jdGlvbiBwYXJzZVdNb2RlKGUsdCl7Y29uc3QgaT10LmdldE9iaigpO051bWJlci5pc0ludGVnZXIoaSkmJihlLnZlcnRpY2FsPSEhaSl9ZnVuY3Rpb24gcGFyc2VDTWFwTmFtZShlLHQpe2NvbnN0IGk9dC5nZXRPYmooKTtpIGluc3RhbmNlb2YgTmFtZSYmKGUubmFtZT1pLm5hbWUpfWFzeW5jIGZ1bmN0aW9uIHBhcnNlQ01hcChlLHQsaSxhKXtsZXQgcyxyO0E6Zm9yKDs7KXRyeXtjb25zdCBpPXQuZ2V0T2JqKCk7aWYoaT09PXl0KWJyZWFrO2lmKGkgaW5zdGFuY2VvZiBOYW1lKXsiV01vZGUiPT09aS5uYW1lP3BhcnNlV01vZGUoZSx0KToiQ01hcE5hbWUiPT09aS5uYW1lJiZwYXJzZUNNYXBOYW1lKGUsdCk7cz1pfWVsc2UgaWYoaSBpbnN0YW5jZW9mIENtZClzd2l0Y2goaS5jbWQpe2Nhc2UiZW5kY21hcCI6YnJlYWsgQTtjYXNlInVzZWNtYXAiOnMgaW5zdGFuY2VvZiBOYW1lJiYocj1zLm5hbWUpO2JyZWFrO2Nhc2UiYmVnaW5jb2Rlc3BhY2VyYW5nZSI6cGFyc2VDb2Rlc3BhY2VSYW5nZShlLHQpO2JyZWFrO2Nhc2UiYmVnaW5iZmNoYXIiOnBhcnNlQmZDaGFyKGUsdCk7YnJlYWs7Y2FzZSJiZWdpbmNpZGNoYXIiOnBhcnNlQ2lkQ2hhcihlLHQpO2JyZWFrO2Nhc2UiYmVnaW5iZnJhbmdlIjpwYXJzZUJmUmFuZ2UoZSx0KTticmVhaztjYXNlImJlZ2luY2lkcmFuZ2UiOnBhcnNlQ2lkUmFuZ2UoZSx0KX19Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiSW52YWxpZCBjTWFwIGRhdGE6ICIrZSk7Y29udGludWV9IWEmJnImJihhPXIpO3JldHVybiBhP2V4dGVuZENNYXAoZSxpLGEpOmV9YXN5bmMgZnVuY3Rpb24gZXh0ZW5kQ01hcChlLHQsaSl7ZS51c2VDTWFwPWF3YWl0IGNyZWF0ZUJ1aWx0SW5DTWFwKGksdCk7aWYoMD09PWUubnVtQ29kZXNwYWNlUmFuZ2VzKXtjb25zdCB0PWUudXNlQ01hcC5jb2Rlc3BhY2VSYW5nZXM7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspZS5jb2Rlc3BhY2VSYW5nZXNbaV09dFtpXS5zbGljZSgpO2UubnVtQ29kZXNwYWNlUmFuZ2VzPWUudXNlQ01hcC5udW1Db2Rlc3BhY2VSYW5nZXN9ZS51c2VDTWFwLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7ZS5jb250YWlucyh0KXx8ZS5tYXBPbmUodCxlLnVzZUNNYXAubG9va3VwKHQpKX0pKTtyZXR1cm4gZX1hc3luYyBmdW5jdGlvbiBjcmVhdGVCdWlsdEluQ01hcChlLHQpe2lmKCJJZGVudGl0eS1IIj09PWUpcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAoITEsMik7aWYoIklkZW50aXR5LVYiPT09ZSlyZXR1cm4gbmV3IElkZW50aXR5Q01hcCghMCwyKTtpZighbGkuaW5jbHVkZXMoZSkpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIENNYXAgbmFtZTogIitlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkJ1aWx0LWluIENNYXAgcGFyYW1ldGVycyBhcmUgbm90IHByb3ZpZGVkLiIpO2NvbnN0e2NNYXBEYXRhOmksaXNDb21wcmVzc2VkOmF9PWF3YWl0IHQoZSkscz1uZXcgQ01hcCghMCk7aWYoYSlyZXR1cm4obmV3IEJpbmFyeUNNYXBSZWFkZXIpLnByb2Nlc3MoaSxzLChlPT5leHRlbmRDTWFwKHMsdCxlKSkpO2NvbnN0IHI9bmV3IExleGVyKG5ldyBTdHJlYW0oaSkpO3JldHVybiBwYXJzZUNNYXAocyxyLHQsbnVsbCl9Y2xhc3MgQ01hcEZhY3Rvcnl7c3RhdGljIGFzeW5jIGNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnQsdXNlQ01hcDppfSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpcmV0dXJuIGNyZWF0ZUJ1aWx0SW5DTWFwKGUubmFtZSx0KTtpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgYT1hd2FpdCBwYXJzZUNNYXAobmV3IENNYXAsbmV3IExleGVyKGUpLHQsaSk7cmV0dXJuIGEuaXNJZGVudGl0eUNNYXA/Y3JlYXRlQnVpbHRJbkNNYXAoYS5uYW1lLHQpOmF9dGhyb3cgbmV3IEVycm9yKCJFbmNvZGluZyByZXF1aXJlZC4iKX19Y29uc3QgUWk9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsInF1ZXN0aW9uZG93biIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIkFFIiwib3JkZmVtaW5pbmUiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsImFlIiwiZG90bGVzc2kiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCJvbmVzdXBlcmlvciIsImxvZ2ljYWxub3QiLCJtdSIsInRyYWRlbWFyayIsIkV0aCIsIm9uZWhhbGYiLCJwbHVzbWludXMiLCJUaG9ybiIsIm9uZXF1YXJ0ZXIiLCJkaXZpZGUiLCJicm9rZW5iYXIiLCJkZWdyZWUiLCJ0aG9ybiIsInRocmVlcXVhcnRlcnMiLCJ0d29zdXBlcmlvciIsInJlZ2lzdGVyZWQiLCJtaW51cyIsImV0aCIsIm11bHRpcGx5IiwidGhyZWVzdXBlcmlvciIsImNvcHlyaWdodCIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQWRpZXJlc2lzIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIkVjaXJjdW1mbGV4IiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsIk9kaWVyZXNpcyIsIk9ncmF2ZSIsIk90aWxkZSIsIlNjYXJvbiIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiVWdyYXZlIiwiWWFjdXRlIiwiWWRpZXJlc2lzIiwiWmNhcm9uIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhZ3JhdmUiLCJhcmluZyIsImF0aWxkZSIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJlZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImlncmF2ZSIsIm50aWxkZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib2dyYXZlIiwib3RpbGRlIiwic2Nhcm9uIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ1Z3JhdmUiLCJ5YWN1dGUiLCJ5ZGllcmVzaXMiLCJ6Y2Fyb24iXSxFaT1bIi5ub3RkZWYiLCJzcGFjZSIsImV4Y2xhbXNtYWxsIiwiSHVuZ2FydW1sYXV0c21hbGwiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwiYW1wZXJzYW5kc21hbGwiLCJBY3V0ZXNtYWxsIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiY29tbWFzdXBlcmlvciIsInRocmVlcXVhcnRlcnNlbWRhc2giLCJwZXJpb2RzdXBlcmlvciIsInF1ZXN0aW9uc21hbGwiLCJhc3VwZXJpb3IiLCJic3VwZXJpb3IiLCJjZW50c3VwZXJpb3IiLCJkc3VwZXJpb3IiLCJlc3VwZXJpb3IiLCJpc3VwZXJpb3IiLCJsc3VwZXJpb3IiLCJtc3VwZXJpb3IiLCJuc3VwZXJpb3IiLCJvc3VwZXJpb3IiLCJyc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCJmZiIsImZpIiwiZmwiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbnN1cGVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiZXhjbGFtZG93bnNtYWxsIiwiY2VudG9sZHN0eWxlIiwiTHNsYXNoc21hbGwiLCJTY2Fyb25zbWFsbCIsIlpjYXJvbnNtYWxsIiwiRGllcmVzaXNzbWFsbCIsIkJyZXZlc21hbGwiLCJDYXJvbnNtYWxsIiwiRG90YWNjZW50c21hbGwiLCJNYWNyb25zbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIk9nb25la3NtYWxsIiwiUmluZ3NtYWxsIiwiQ2VkaWxsYXNtYWxsIiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJlaWdodHN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb2luZmVyaW9yIiwib25laW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwibmluZWluZmVyaW9yIiwiY2VudGluZmVyaW9yIiwiZG9sbGFyaW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsImNvbW1haW5mZXJpb3IiLCJBZ3JhdmVzbWFsbCIsIkFhY3V0ZXNtYWxsIiwiQWNpcmN1bWZsZXhzbWFsbCIsIkF0aWxkZXNtYWxsIiwiQWRpZXJlc2lzc21hbGwiLCJBcmluZ3NtYWxsIiwiQUVzbWFsbCIsIkNjZWRpbGxhc21hbGwiLCJFZ3JhdmVzbWFsbCIsIkVhY3V0ZXNtYWxsIiwiRWNpcmN1bWZsZXhzbWFsbCIsIkVkaWVyZXNpc3NtYWxsIiwiSWdyYXZlc21hbGwiLCJJYWN1dGVzbWFsbCIsIkljaXJjdW1mbGV4c21hbGwiLCJJZGllcmVzaXNzbWFsbCIsIkV0aHNtYWxsIiwiTnRpbGRlc21hbGwiLCJPZ3JhdmVzbWFsbCIsIk9hY3V0ZXNtYWxsIiwiT2NpcmN1bWZsZXhzbWFsbCIsIk90aWxkZXNtYWxsIiwiT2RpZXJlc2lzc21hbGwiLCJPRXNtYWxsIiwiT3NsYXNoc21hbGwiLCJVZ3JhdmVzbWFsbCIsIlVhY3V0ZXNtYWxsIiwiVWNpcmN1bWZsZXhzbWFsbCIsIlVkaWVyZXNpc3NtYWxsIiwiWWFjdXRlc21hbGwiLCJUaG9ybnNtYWxsIiwiWWRpZXJlc2lzc21hbGwiXSx1aT1bIi5ub3RkZWYiLCJzcGFjZSIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsImZyYWN0aW9uIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29sb24iLCJzZW1pY29sb24iLCJjb21tYXN1cGVyaW9yIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsInBlcmlvZHN1cGVyaW9yIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJoeXBoZW5zdXBlcmlvciIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJjZW50b2xkc3R5bGUiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJlaWdodHN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb2luZmVyaW9yIiwib25laW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwibmluZWluZmVyaW9yIiwiY2VudGluZmVyaW9yIiwiZG9sbGFyaW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsImNvbW1haW5mZXJpb3IiXSxkaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtc21hbGwiLCJIdW5nYXJ1bWxhdXRzbWFsbCIsIiIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJhbXBlcnNhbmRzbWFsbCIsIkFjdXRlc21hbGwiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsImZyYWN0aW9uIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29sb24iLCJzZW1pY29sb24iLCJjb21tYXN1cGVyaW9yIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsInBlcmlvZHN1cGVyaW9yIiwicXVlc3Rpb25zbWFsbCIsIiIsImFzdXBlcmlvciIsImJzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsImRzdXBlcmlvciIsImVzdXBlcmlvciIsIiIsIiIsIiIsImlzdXBlcmlvciIsIiIsIiIsImxzdXBlcmlvciIsIm1zdXBlcmlvciIsIm5zdXBlcmlvciIsIm9zdXBlcmlvciIsIiIsIiIsInJzdXBlcmlvciIsInNzdXBlcmlvciIsInRzdXBlcmlvciIsIiIsImZmIiwiZmkiLCJmbCIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwiIiwicGFyZW5yaWdodGluZmVyaW9yIiwiQ2lyY3VtZmxleHNtYWxsIiwiaHlwaGVuc3VwZXJpb3IiLCJHcmF2ZXNtYWxsIiwiQXNtYWxsIiwiQnNtYWxsIiwiQ3NtYWxsIiwiRHNtYWxsIiwiRXNtYWxsIiwiRnNtYWxsIiwiR3NtYWxsIiwiSHNtYWxsIiwiSXNtYWxsIiwiSnNtYWxsIiwiS3NtYWxsIiwiTHNtYWxsIiwiTXNtYWxsIiwiTnNtYWxsIiwiT3NtYWxsIiwiUHNtYWxsIiwiUXNtYWxsIiwiUnNtYWxsIiwiU3NtYWxsIiwiVHNtYWxsIiwiVXNtYWxsIiwiVnNtYWxsIiwiV3NtYWxsIiwiWHNtYWxsIiwiWXNtYWxsIiwiWnNtYWxsIiwiY29sb25tb25ldGFyeSIsIm9uZWZpdHRlZCIsInJ1cGlhaCIsIlRpbGRlc21hbGwiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJleGNsYW1kb3duc21hbGwiLCJjZW50b2xkc3R5bGUiLCJMc2xhc2hzbWFsbCIsIiIsIiIsIlNjYXJvbnNtYWxsIiwiWmNhcm9uc21hbGwiLCJEaWVyZXNpc3NtYWxsIiwiQnJldmVzbWFsbCIsIkNhcm9uc21hbGwiLCIiLCJEb3RhY2NlbnRzbWFsbCIsIiIsIiIsIk1hY3JvbnNtYWxsIiwiIiwiIiwiZmlndXJlZGFzaCIsImh5cGhlbmluZmVyaW9yIiwiIiwiIiwiT2dvbmVrc21hbGwiLCJSaW5nc21hbGwiLCJDZWRpbGxhc21hbGwiLCIiLCIiLCIiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJxdWVzdGlvbmRvd25zbWFsbCIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCIiLCIiLCJ6ZXJvc3VwZXJpb3IiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsImVpZ2h0c3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvaW5mZXJpb3IiLCJvbmVpbmZlcmlvciIsInR3b2luZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsImZvdXJpbmZlcmlvciIsImZpdmVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsImVpZ2h0aW5mZXJpb3IiLCJuaW5laW5mZXJpb3IiLCJjZW50aW5mZXJpb3IiLCJkb2xsYXJpbmZlcmlvciIsInBlcmlvZGluZmVyaW9yIiwiY29tbWFpbmZlcmlvciIsIkFncmF2ZXNtYWxsIiwiQWFjdXRlc21hbGwiLCJBY2lyY3VtZmxleHNtYWxsIiwiQXRpbGRlc21hbGwiLCJBZGllcmVzaXNzbWFsbCIsIkFyaW5nc21hbGwiLCJBRXNtYWxsIiwiQ2NlZGlsbGFzbWFsbCIsIkVncmF2ZXNtYWxsIiwiRWFjdXRlc21hbGwiLCJFY2lyY3VtZmxleHNtYWxsIiwiRWRpZXJlc2lzc21hbGwiLCJJZ3JhdmVzbWFsbCIsIklhY3V0ZXNtYWxsIiwiSWNpcmN1bWZsZXhzbWFsbCIsIklkaWVyZXNpc3NtYWxsIiwiRXRoc21hbGwiLCJOdGlsZGVzbWFsbCIsIk9ncmF2ZXNtYWxsIiwiT2FjdXRlc21hbGwiLCJPY2lyY3VtZmxleHNtYWxsIiwiT3RpbGRlc21hbGwiLCJPZGllcmVzaXNzbWFsbCIsIk9Fc21hbGwiLCJPc2xhc2hzbWFsbCIsIlVncmF2ZXNtYWxsIiwiVWFjdXRlc21hbGwiLCJVY2lyY3VtZmxleHNtYWxsIiwiVWRpZXJlc2lzc21hbGwiLCJZYWN1dGVzbWFsbCIsIlRob3Juc21hbGwiLCJZZGllcmVzaXNzbWFsbCJdLGZpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiY2VudG9sZHN0eWxlIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsIiIsInRocmVlcXVhcnRlcnNlbWRhc2giLCIiLCJxdWVzdGlvbnNtYWxsIiwiIiwiIiwiIiwiIiwiRXRoc21hbGwiLCIiLCIiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiIiwiIiwiIiwiIiwiIiwiIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCIiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5pbmZlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsIiIsIiIsImFzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsIiIsIiIsIiIsIiIsIkFhY3V0ZXNtYWxsIiwiQWdyYXZlc21hbGwiLCJBY2lyY3VtZmxleHNtYWxsIiwiQWRpZXJlc2lzc21hbGwiLCJBdGlsZGVzbWFsbCIsIkFyaW5nc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWFjdXRlc21hbGwiLCJFZ3JhdmVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklhY3V0ZXNtYWxsIiwiSWdyYXZlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJOdGlsZGVzbWFsbCIsIk9hY3V0ZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPY2lyY3VtZmxleHNtYWxsIiwiT2RpZXJlc2lzc21hbGwiLCJPdGlsZGVzbWFsbCIsIlVhY3V0ZXNtYWxsIiwiVWdyYXZlc21hbGwiLCJVY2lyY3VtZmxleHNtYWxsIiwiVWRpZXJlc2lzc21hbGwiLCIiLCJlaWdodHN1cGVyaW9yIiwiZm91cmluZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJTY2Fyb25zbWFsbCIsIiIsImNlbnRpbmZlcmlvciIsInR3b2luZmVyaW9yIiwiIiwiRGllcmVzaXNzbWFsbCIsIiIsIkNhcm9uc21hbGwiLCJvc3VwZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCIiLCJjb21tYWluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJZYWN1dGVzbWFsbCIsIiIsImRvbGxhcmluZmVyaW9yIiwiIiwiIiwiVGhvcm5zbWFsbCIsIiIsIm5pbmVpbmZlcmlvciIsInplcm9pbmZlcmlvciIsIlpjYXJvbnNtYWxsIiwiQUVzbWFsbCIsIk9zbGFzaHNtYWxsIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVpbmZlcmlvciIsIkxzbGFzaHNtYWxsIiwiIiwiIiwiIiwiIiwiIiwiIiwiQ2VkaWxsYXNtYWxsIiwiIiwiIiwiIiwiIiwiIiwiT0VzbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5zdXBlcmlvciIsIiIsIiIsIiIsIiIsImV4Y2xhbWRvd25zbWFsbCIsIiIsIllkaWVyZXNpc3NtYWxsIiwiIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvc3VwZXJpb3IiLCIiLCJlc3VwZXJpb3IiLCJyc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCIiLCIiLCJpc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJkc3VwZXJpb3IiLCIiLCIiLCIiLCIiLCIiLCJsc3VwZXJpb3IiLCJPZ29uZWtzbWFsbCIsIkJyZXZlc21hbGwiLCJNYWNyb25zbWFsbCIsImJzdXBlcmlvciIsIm5zdXBlcmlvciIsIm1zdXBlcmlvciIsImNvbW1hc3VwZXJpb3IiLCJwZXJpb2RzdXBlcmlvciIsIkRvdGFjY2VudHNtYWxsIiwiUmluZ3NtYWxsIiwiIiwiIiwiIiwiIl0scGk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIk50aWxkZSIsIk9kaWVyZXNpcyIsIlVkaWVyZXNpcyIsImFhY3V0ZSIsImFncmF2ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYXRpbGRlIiwiYXJpbmciLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVncmF2ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiaWFjdXRlIiwiaWdyYXZlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJudGlsZGUiLCJvYWN1dGUiLCJvZ3JhdmUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm90aWxkZSIsInVhY3V0ZSIsInVncmF2ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwiZGFnZ2VyIiwiZGVncmVlIiwiY2VudCIsInN0ZXJsaW5nIiwic2VjdGlvbiIsImJ1bGxldCIsInBhcmFncmFwaCIsImdlcm1hbmRibHMiLCJyZWdpc3RlcmVkIiwiY29weXJpZ2h0IiwidHJhZGVtYXJrIiwiYWN1dGUiLCJkaWVyZXNpcyIsIm5vdGVxdWFsIiwiQUUiLCJPc2xhc2giLCJpbmZpbml0eSIsInBsdXNtaW51cyIsImxlc3NlcXVhbCIsImdyZWF0ZXJlcXVhbCIsInllbiIsIm11IiwicGFydGlhbGRpZmYiLCJzdW1tYXRpb24iLCJwcm9kdWN0IiwicGkiLCJpbnRlZ3JhbCIsIm9yZGZlbWluaW5lIiwib3JkbWFzY3VsaW5lIiwiT21lZ2EiLCJhZSIsIm9zbGFzaCIsInF1ZXN0aW9uZG93biIsImV4Y2xhbWRvd24iLCJsb2dpY2Fsbm90IiwicmFkaWNhbCIsImZsb3JpbiIsImFwcHJveGVxdWFsIiwiRGVsdGEiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsInNwYWNlIiwiQWdyYXZlIiwiQXRpbGRlIiwiT3RpbGRlIiwiT0UiLCJvZSIsImVuZGFzaCIsImVtZGFzaCIsInF1b3RlZGJsbGVmdCIsInF1b3RlZGJscmlnaHQiLCJxdW90ZWxlZnQiLCJxdW90ZXJpZ2h0IiwiZGl2aWRlIiwibG96ZW5nZSIsInlkaWVyZXNpcyIsIllkaWVyZXNpcyIsImZyYWN0aW9uIiwiY3VycmVuY3kiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInBlcnRob3VzYW5kIiwiQWNpcmN1bWZsZXgiLCJFY2lyY3VtZmxleCIsIkFhY3V0ZSIsIkVkaWVyZXNpcyIsIkVncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiSWdyYXZlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJhcHBsZSIsIk9ncmF2ZSIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWdyYXZlIiwiZG90bGVzc2kiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsInJpbmciLCJjZWRpbGxhIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iXSxtaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3RlcmlnaHQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsInF1b3RlbGVmdCIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiZnJhY3Rpb24iLCJ5ZW4iLCJmbG9yaW4iLCJzZWN0aW9uIiwiY3VycmVuY3kiLCJxdW90ZXNpbmdsZSIsInF1b3RlZGJsbGVmdCIsImd1aWxsZW1vdGxlZnQiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiIiwiZW5kYXNoIiwiZGFnZ2VyIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCIiLCJwYXJhZ3JhcGgiLCJidWxsZXQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInF1b3RlZGJscmlnaHQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwicGVydGhvdXNhbmQiLCIiLCJxdWVzdGlvbmRvd24iLCIiLCJncmF2ZSIsImFjdXRlIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJkaWVyZXNpcyIsIiIsInJpbmciLCJjZWRpbGxhIiwiIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iLCJlbWRhc2giLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJBRSIsIiIsIm9yZGZlbWluaW5lIiwiIiwiIiwiIiwiIiwiTHNsYXNoIiwiT3NsYXNoIiwiT0UiLCJvcmRtYXNjdWxpbmUiLCIiLCIiLCIiLCIiLCIiLCJhZSIsIiIsIiIsIiIsImRvdGxlc3NpIiwiIiwiIiwibHNsYXNoIiwib3NsYXNoIiwib2UiLCJnZXJtYW5kYmxzIiwiIiwiIiwiIiwiIl0seWk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiYnVsbGV0IiwiRXVybyIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwiZmxvcmluIiwicXVvdGVkYmxiYXNlIiwiZWxsaXBzaXMiLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJjaXJjdW1mbGV4IiwicGVydGhvdXNhbmQiLCJTY2Fyb24iLCJndWlsc2luZ2xsZWZ0IiwiT0UiLCJidWxsZXQiLCJaY2Fyb24iLCJidWxsZXQiLCJidWxsZXQiLCJxdW90ZWxlZnQiLCJxdW90ZXJpZ2h0IiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsImJ1bGxldCIsImVuZGFzaCIsImVtZGFzaCIsInRpbGRlIiwidHJhZGVtYXJrIiwic2Nhcm9uIiwiZ3VpbHNpbmdscmlnaHQiLCJvZSIsImJ1bGxldCIsInpjYXJvbiIsIllkaWVyZXNpcyIsInNwYWNlIiwiZXhjbGFtZG93biIsImNlbnQiLCJzdGVybGluZyIsImN1cnJlbmN5IiwieWVuIiwiYnJva2VuYmFyIiwic2VjdGlvbiIsImRpZXJlc2lzIiwiY29weXJpZ2h0Iiwib3JkZmVtaW5pbmUiLCJndWlsbGVtb3RsZWZ0IiwibG9naWNhbG5vdCIsImh5cGhlbiIsInJlZ2lzdGVyZWQiLCJtYWNyb24iLCJkZWdyZWUiLCJwbHVzbWludXMiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJhY3V0ZSIsIm11IiwicGFyYWdyYXBoIiwicGVyaW9kY2VudGVyZWQiLCJjZWRpbGxhIiwib25lc3VwZXJpb3IiLCJvcmRtYXNjdWxpbmUiLCJndWlsbGVtb3RyaWdodCIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsInF1ZXN0aW9uZG93biIsIkFncmF2ZSIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQXRpbGRlIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJBRSIsIkNjZWRpbGxhIiwiRWdyYXZlIiwiRWFjdXRlIiwiRWNpcmN1bWZsZXgiLCJFZGllcmVzaXMiLCJJZ3JhdmUiLCJJYWN1dGUiLCJJY2lyY3VtZmxleCIsIklkaWVyZXNpcyIsIkV0aCIsIk50aWxkZSIsIk9ncmF2ZSIsIk9hY3V0ZSIsIk9jaXJjdW1mbGV4IiwiT3RpbGRlIiwiT2RpZXJlc2lzIiwibXVsdGlwbHkiLCJPc2xhc2giLCJVZ3JhdmUiLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVkaWVyZXNpcyIsIllhY3V0ZSIsIlRob3JuIiwiZ2VybWFuZGJscyIsImFncmF2ZSIsImFhY3V0ZSIsImFjaXJjdW1mbGV4IiwiYXRpbGRlIiwiYWRpZXJlc2lzIiwiYXJpbmciLCJhZSIsImNjZWRpbGxhIiwiZWdyYXZlIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJpZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImV0aCIsIm50aWxkZSIsIm9ncmF2ZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib3RpbGRlIiwib2RpZXJlc2lzIiwiZGl2aWRlIiwib3NsYXNoIiwidWdyYXZlIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ5YWN1dGUiLCJ0aG9ybiIsInlkaWVyZXNpcyJdLHdpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW0iLCJ1bml2ZXJzYWwiLCJudW1iZXJzaWduIiwiZXhpc3RlbnRpYWwiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwic3VjaHRoYXQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2ttYXRoIiwicGx1cyIsImNvbW1hIiwibWludXMiLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImNvbmdydWVudCIsIkFscGhhIiwiQmV0YSIsIkNoaSIsIkRlbHRhIiwiRXBzaWxvbiIsIlBoaSIsIkdhbW1hIiwiRXRhIiwiSW90YSIsInRoZXRhMSIsIkthcHBhIiwiTGFtYmRhIiwiTXUiLCJOdSIsIk9taWNyb24iLCJQaSIsIlRoZXRhIiwiUmhvIiwiU2lnbWEiLCJUYXUiLCJVcHNpbG9uIiwic2lnbWExIiwiT21lZ2EiLCJYaSIsIlBzaSIsIlpldGEiLCJicmFja2V0bGVmdCIsInRoZXJlZm9yZSIsImJyYWNrZXRyaWdodCIsInBlcnBlbmRpY3VsYXIiLCJ1bmRlcnNjb3JlIiwicmFkaWNhbGV4IiwiYWxwaGEiLCJiZXRhIiwiY2hpIiwiZGVsdGEiLCJlcHNpbG9uIiwicGhpIiwiZ2FtbWEiLCJldGEiLCJpb3RhIiwicGhpMSIsImthcHBhIiwibGFtYmRhIiwibXUiLCJudSIsIm9taWNyb24iLCJwaSIsInRoZXRhIiwicmhvIiwic2lnbWEiLCJ0YXUiLCJ1cHNpbG9uIiwib21lZ2ExIiwib21lZ2EiLCJ4aSIsInBzaSIsInpldGEiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0Iiwic2ltaWxhciIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIkV1cm8iLCJVcHNpbG9uMSIsIm1pbnV0ZSIsImxlc3NlcXVhbCIsImZyYWN0aW9uIiwiaW5maW5pdHkiLCJmbG9yaW4iLCJjbHViIiwiZGlhbW9uZCIsImhlYXJ0Iiwic3BhZGUiLCJhcnJvd2JvdGgiLCJhcnJvd2xlZnQiLCJhcnJvd3VwIiwiYXJyb3dyaWdodCIsImFycm93ZG93biIsImRlZ3JlZSIsInBsdXNtaW51cyIsInNlY29uZCIsImdyZWF0ZXJlcXVhbCIsIm11bHRpcGx5IiwicHJvcG9ydGlvbmFsIiwicGFydGlhbGRpZmYiLCJidWxsZXQiLCJkaXZpZGUiLCJub3RlcXVhbCIsImVxdWl2YWxlbmNlIiwiYXBwcm94ZXF1YWwiLCJlbGxpcHNpcyIsImFycm93dmVydGV4IiwiYXJyb3dob3JpemV4IiwiY2FycmlhZ2VyZXR1cm4iLCJhbGVwaCIsIklmcmFrdHVyIiwiUmZyYWt0dXIiLCJ3ZWllcnN0cmFzcyIsImNpcmNsZW11bHRpcGx5IiwiY2lyY2xlcGx1cyIsImVtcHR5c2V0IiwiaW50ZXJzZWN0aW9uIiwidW5pb24iLCJwcm9wZXJzdXBlcnNldCIsInJlZmxleHN1cGVyc2V0Iiwibm90c3Vic2V0IiwicHJvcGVyc3Vic2V0IiwicmVmbGV4c3Vic2V0IiwiZWxlbWVudCIsIm5vdGVsZW1lbnQiLCJhbmdsZSIsImdyYWRpZW50IiwicmVnaXN0ZXJzZXJpZiIsImNvcHlyaWdodHNlcmlmIiwidHJhZGVtYXJrc2VyaWYiLCJwcm9kdWN0IiwicmFkaWNhbCIsImRvdG1hdGgiLCJsb2dpY2Fsbm90IiwibG9naWNhbGFuZCIsImxvZ2ljYWxvciIsImFycm93ZGJsYm90aCIsImFycm93ZGJsbGVmdCIsImFycm93ZGJsdXAiLCJhcnJvd2RibHJpZ2h0IiwiYXJyb3dkYmxkb3duIiwibG96ZW5nZSIsImFuZ2xlbGVmdCIsInJlZ2lzdGVyc2FucyIsImNvcHlyaWdodHNhbnMiLCJ0cmFkZW1hcmtzYW5zIiwic3VtbWF0aW9uIiwicGFyZW5sZWZ0dHAiLCJwYXJlbmxlZnRleCIsInBhcmVubGVmdGJ0IiwiYnJhY2tldGxlZnR0cCIsImJyYWNrZXRsZWZ0ZXgiLCJicmFja2V0bGVmdGJ0IiwiYnJhY2VsZWZ0dHAiLCJicmFjZWxlZnRtaWQiLCJicmFjZWxlZnRidCIsImJyYWNlZXgiLCIiLCJhbmdsZXJpZ2h0IiwiaW50ZWdyYWwiLCJpbnRlZ3JhbHRwIiwiaW50ZWdyYWxleCIsImludGVncmFsYnQiLCJwYXJlbnJpZ2h0dHAiLCJwYXJlbnJpZ2h0ZXgiLCJwYXJlbnJpZ2h0YnQiLCJicmFja2V0cmlnaHR0cCIsImJyYWNrZXRyaWdodGV4IiwiYnJhY2tldHJpZ2h0YnQiLCJicmFjZXJpZ2h0dHAiLCJicmFjZXJpZ2h0bWlkIiwiYnJhY2VyaWdodGJ0IiwiIl0sRGk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImExIiwiYTIiLCJhMjAyIiwiYTMiLCJhNCIsImE1IiwiYTExOSIsImExMTgiLCJhMTE3IiwiYTExIiwiYTEyIiwiYTEzIiwiYTE0IiwiYTE1IiwiYTE2IiwiYTEwNSIsImExNyIsImExOCIsImExOSIsImEyMCIsImEyMSIsImEyMiIsImEyMyIsImEyNCIsImEyNSIsImEyNiIsImEyNyIsImEyOCIsImE2IiwiYTciLCJhOCIsImE5IiwiYTEwIiwiYTI5IiwiYTMwIiwiYTMxIiwiYTMyIiwiYTMzIiwiYTM0IiwiYTM1IiwiYTM2IiwiYTM3IiwiYTM4IiwiYTM5IiwiYTQwIiwiYTQxIiwiYTQyIiwiYTQzIiwiYTQ0IiwiYTQ1IiwiYTQ2IiwiYTQ3IiwiYTQ4IiwiYTQ5IiwiYTUwIiwiYTUxIiwiYTUyIiwiYTUzIiwiYTU0IiwiYTU1IiwiYTU2IiwiYTU3IiwiYTU4IiwiYTU5IiwiYTYwIiwiYTYxIiwiYTYyIiwiYTYzIiwiYTY0IiwiYTY1IiwiYTY2IiwiYTY3IiwiYTY4IiwiYTY5IiwiYTcwIiwiYTcxIiwiYTcyIiwiYTczIiwiYTc0IiwiYTIwMyIsImE3NSIsImEyMDQiLCJhNzYiLCJhNzciLCJhNzgiLCJhNzkiLCJhODEiLCJhODIiLCJhODMiLCJhODQiLCJhOTciLCJhOTgiLCJhOTkiLCJhMTAwIiwiIiwiYTg5IiwiYTkwIiwiYTkzIiwiYTk0IiwiYTkxIiwiYTkyIiwiYTIwNSIsImE4NSIsImEyMDYiLCJhODYiLCJhODciLCJhODgiLCJhOTUiLCJhOTYiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJhMTAxIiwiYTEwMiIsImExMDMiLCJhMTA0IiwiYTEwNiIsImExMDciLCJhMTA4IiwiYTExMiIsImExMTEiLCJhMTEwIiwiYTEwOSIsImExMjAiLCJhMTIxIiwiYTEyMiIsImExMjMiLCJhMTI0IiwiYTEyNSIsImExMjYiLCJhMTI3IiwiYTEyOCIsImExMjkiLCJhMTMwIiwiYTEzMSIsImExMzIiLCJhMTMzIiwiYTEzNCIsImExMzUiLCJhMTM2IiwiYTEzNyIsImExMzgiLCJhMTM5IiwiYTE0MCIsImExNDEiLCJhMTQyIiwiYTE0MyIsImExNDQiLCJhMTQ1IiwiYTE0NiIsImExNDciLCJhMTQ4IiwiYTE0OSIsImExNTAiLCJhMTUxIiwiYTE1MiIsImExNTMiLCJhMTU0IiwiYTE1NSIsImExNTYiLCJhMTU3IiwiYTE1OCIsImExNTkiLCJhMTYwIiwiYTE2MSIsImExNjMiLCJhMTY0IiwiYTE5NiIsImExNjUiLCJhMTkyIiwiYTE2NiIsImExNjciLCJhMTY4IiwiYTE2OSIsImExNzAiLCJhMTcxIiwiYTE3MiIsImExNzMiLCJhMTYyIiwiYTE3NCIsImExNzUiLCJhMTc2IiwiYTE3NyIsImExNzgiLCJhMTc5IiwiYTE5MyIsImExODAiLCJhMTk5IiwiYTE4MSIsImEyMDAiLCJhMTgyIiwiIiwiYTIwMSIsImExODMiLCJhMTg0IiwiYTE5NyIsImExODUiLCJhMTk0IiwiYTE5OCIsImExODYiLCJhMTk1IiwiYTE4NyIsImExODgiLCJhMTg5IiwiYTE5MCIsImExOTEiLCIiXTtmdW5jdGlvbiBnZXRFbmNvZGluZyhlKXtzd2l0Y2goZSl7Y2FzZSJXaW5BbnNpRW5jb2RpbmciOnJldHVybiB5aTtjYXNlIlN0YW5kYXJkRW5jb2RpbmciOnJldHVybiBtaTtjYXNlIk1hY1JvbWFuRW5jb2RpbmciOnJldHVybiBwaTtjYXNlIlN5bWJvbFNldEVuY29kaW5nIjpyZXR1cm4gd2k7Y2FzZSJaYXBmRGluZ2JhdHNFbmNvZGluZyI6cmV0dXJuIERpO2Nhc2UiRXhwZXJ0RW5jb2RpbmciOnJldHVybiBkaTtjYXNlIk1hY0V4cGVydEVuY29kaW5nIjpyZXR1cm4gZmk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19Y29uc3QgYmk9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsInF1ZXN0aW9uZG93biIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIkFFIiwib3JkZmVtaW5pbmUiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsImFlIiwiZG90bGVzc2kiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCJvbmVzdXBlcmlvciIsImxvZ2ljYWxub3QiLCJtdSIsInRyYWRlbWFyayIsIkV0aCIsIm9uZWhhbGYiLCJwbHVzbWludXMiLCJUaG9ybiIsIm9uZXF1YXJ0ZXIiLCJkaXZpZGUiLCJicm9rZW5iYXIiLCJkZWdyZWUiLCJ0aG9ybiIsInRocmVlcXVhcnRlcnMiLCJ0d29zdXBlcmlvciIsInJlZ2lzdGVyZWQiLCJtaW51cyIsImV0aCIsIm11bHRpcGx5IiwidGhyZWVzdXBlcmlvciIsImNvcHlyaWdodCIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQWRpZXJlc2lzIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIkVjaXJjdW1mbGV4IiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsIk9kaWVyZXNpcyIsIk9ncmF2ZSIsIk90aWxkZSIsIlNjYXJvbiIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiVWdyYXZlIiwiWWFjdXRlIiwiWWRpZXJlc2lzIiwiWmNhcm9uIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhZ3JhdmUiLCJhcmluZyIsImF0aWxkZSIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJlZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImlncmF2ZSIsIm50aWxkZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib2dyYXZlIiwib3RpbGRlIiwic2Nhcm9uIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ1Z3JhdmUiLCJ5YWN1dGUiLCJ5ZGllcmVzaXMiLCJ6Y2Fyb24iLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbnN1cGVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiZXhjbGFtZG93bnNtYWxsIiwiY2VudG9sZHN0eWxlIiwiTHNsYXNoc21hbGwiLCJTY2Fyb25zbWFsbCIsIlpjYXJvbnNtYWxsIiwiRGllcmVzaXNzbWFsbCIsIkJyZXZlc21hbGwiLCJDYXJvbnNtYWxsIiwiRG90YWNjZW50c21hbGwiLCJNYWNyb25zbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIk9nb25la3NtYWxsIiwiUmluZ3NtYWxsIiwiQ2VkaWxsYXNtYWxsIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIiwiMDAxLjAwMCIsIjAwMS4wMDEiLCIwMDEuMDAyIiwiMDAxLjAwMyIsIkJsYWNrIiwiQm9sZCIsIkJvb2siLCJMaWdodCIsIk1lZGl1bSIsIlJlZ3VsYXIiLCJSb21hbiIsIlNlbWlib2xkIl0sRmk9MzkxLFNpPVtudWxsLHtpZDoiaHN0ZW0iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITAsc3RlbTohMH0sbnVsbCx7aWQ6InZzdGVtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoidm1vdmV0byIsbWluOjEsc3RhY2tDbGVhcmluZzohMH0se2lkOiJybGluZXRvIixtaW46MixyZXNldFN0YWNrOiEwfSx7aWQ6ImhsaW5ldG8iLG1pbjoxLHJlc2V0U3RhY2s6ITB9LHtpZDoidmxpbmV0byIsbWluOjEscmVzZXRTdGFjazohMH0se2lkOiJycmN1cnZldG8iLG1pbjo2LHJlc2V0U3RhY2s6ITB9LG51bGwse2lkOiJjYWxsc3ViciIsbWluOjEsdW5kZWZTdGFjazohMH0se2lkOiJyZXR1cm4iLG1pbjowLHVuZGVmU3RhY2s6ITB9LG51bGwsbnVsbCx7aWQ6ImVuZGNoYXIiLG1pbjowLHN0YWNrQ2xlYXJpbmc6ITB9LG51bGwsbnVsbCxudWxsLHtpZDoiaHN0ZW1obSIsbWluOjIsc3RhY2tDbGVhcmluZzohMCxzdGVtOiEwfSx7aWQ6ImhpbnRtYXNrIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6ImNudHJtYXNrIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6InJtb3ZldG8iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoiaG1vdmV0byIsbWluOjEsc3RhY2tDbGVhcmluZzohMH0se2lkOiJ2c3RlbWhtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoicmN1cnZlbGluZSIsbWluOjgscmVzZXRTdGFjazohMH0se2lkOiJybGluZWN1cnZlIixtaW46OCxyZXNldFN0YWNrOiEwfSx7aWQ6InZ2Y3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH0se2lkOiJoaGN1cnZldG8iLG1pbjo0LHJlc2V0U3RhY2s6ITB9LG51bGwse2lkOiJjYWxsZ3N1YnIiLG1pbjoxLHVuZGVmU3RhY2s6ITB9LHtpZDoidmhjdXJ2ZXRvIixtaW46NCxyZXNldFN0YWNrOiEwfSx7aWQ6Imh2Y3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH1dLGtpPVtudWxsLG51bGwsbnVsbCx7aWQ6ImFuZCIsbWluOjIsc3RhY2tEZWx0YTotMX0se2lkOiJvciIsbWluOjIsc3RhY2tEZWx0YTotMX0se2lkOiJub3QiLG1pbjoxLHN0YWNrRGVsdGE6MH0sbnVsbCxudWxsLG51bGwse2lkOiJhYnMiLG1pbjoxLHN0YWNrRGVsdGE6MH0se2lkOiJhZGQiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0rZVt0LTFdfX0se2lkOiJzdWIiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0tZVt0LTFdfX0se2lkOiJkaXYiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0vZVt0LTFdfX0sbnVsbCx7aWQ6Im5lZyIsbWluOjEsc3RhY2tEZWx0YTowLHN0YWNrRm4oZSx0KXtlW3QtMV09LWVbdC0xXX19LHtpZDoiZXEiLG1pbjoyLHN0YWNrRGVsdGE6LTF9LG51bGwsbnVsbCx7aWQ6ImRyb3AiLG1pbjoxLHN0YWNrRGVsdGE6LTF9LG51bGwse2lkOiJwdXQiLG1pbjoyLHN0YWNrRGVsdGE6LTJ9LHtpZDoiZ2V0IixtaW46MSxzdGFja0RlbHRhOjB9LHtpZDoiaWZlbHNlIixtaW46NCxzdGFja0RlbHRhOi0zfSx7aWQ6InJhbmRvbSIsbWluOjAsc3RhY2tEZWx0YToxfSx7aWQ6Im11bCIsbWluOjIsc3RhY2tEZWx0YTotMSxzdGFja0ZuKGUsdCl7ZVt0LTJdPWVbdC0yXSplW3QtMV19fSxudWxsLHtpZDoic3FydCIsbWluOjEsc3RhY2tEZWx0YTowfSx7aWQ6ImR1cCIsbWluOjEsc3RhY2tEZWx0YToxfSx7aWQ6ImV4Y2giLG1pbjoyLHN0YWNrRGVsdGE6MH0se2lkOiJpbmRleCIsbWluOjIsc3RhY2tEZWx0YTowfSx7aWQ6InJvbGwiLG1pbjozLHN0YWNrRGVsdGE6LTJ9LG51bGwsbnVsbCxudWxsLHtpZDoiaGZsZXgiLG1pbjo3LHJlc2V0U3RhY2s6ITB9LHtpZDoiZmxleCIsbWluOjEzLHJlc2V0U3RhY2s6ITB9LHtpZDoiaGZsZXgxIixtaW46OSxyZXNldFN0YWNrOiEwfSx7aWQ6ImZsZXgxIixtaW46MTEscmVzZXRTdGFjazohMH1dO2NsYXNzIENGRlBhcnNlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5ieXRlcz1lLmdldEJ5dGVzKCk7dGhpcy5wcm9wZXJ0aWVzPXQ7dGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkPSEhaX1wYXJzZSgpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzLHQ9bmV3IENGRjt0aGlzLmNmZj10O2NvbnN0IGk9dGhpcy5wYXJzZUhlYWRlcigpLGE9dGhpcy5wYXJzZUluZGV4KGkuZW5kUG9zKSxzPXRoaXMucGFyc2VJbmRleChhLmVuZFBvcykscj10aGlzLnBhcnNlSW5kZXgocy5lbmRQb3MpLG49dGhpcy5wYXJzZUluZGV4KHIuZW5kUG9zKSxnPXRoaXMucGFyc2VEaWN0KHMub2JqLmdldCgwKSksbz10aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCxnLHQuc3RyaW5ncyk7dC5oZWFkZXI9aS5vYmo7dC5uYW1lcz10aGlzLnBhcnNlTmFtZUluZGV4KGEub2JqKTt0LnN0cmluZ3M9dGhpcy5wYXJzZVN0cmluZ0luZGV4KHIub2JqKTt0LnRvcERpY3Q9bzt0Lmdsb2JhbFN1YnJJbmRleD1uLm9iajt0aGlzLnBhcnNlUHJpdmF0ZURpY3QodC50b3BEaWN0KTt0LmlzQ0lERm9udD1vLmhhc05hbWUoIlJPUyIpO2NvbnN0IGM9by5nZXRCeU5hbWUoIkNoYXJTdHJpbmdzIiksQz10aGlzLnBhcnNlSW5kZXgoYykub2JqLGg9by5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKTtoJiYoZS5mb250TWF0cml4PWgpO2NvbnN0IGw9by5nZXRCeU5hbWUoIkZvbnRCQm94Iik7aWYobCl7ZS5hc2NlbnQ9TWF0aC5tYXgobFszXSxsWzFdKTtlLmRlc2NlbnQ9TWF0aC5taW4obFsxXSxsWzNdKTtlLmFzY2VudFNjYWxlZD0hMH1sZXQgUSxFO2lmKHQuaXNDSURGb250KXtjb25zdCBlPXRoaXMucGFyc2VJbmRleChvLmdldEJ5TmFtZSgiRkRBcnJheSIpKS5vYmo7Zm9yKGxldCBpPTAsYT1lLmNvdW50O2k8YTsrK2kpe2NvbnN0IGE9ZS5nZXQoaSkscz10aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCx0aGlzLnBhcnNlRGljdChhKSx0LnN0cmluZ3MpO3RoaXMucGFyc2VQcml2YXRlRGljdChzKTt0LmZkQXJyYXkucHVzaChzKX1FPW51bGw7UT10aGlzLnBhcnNlQ2hhcnNldHMoby5nZXRCeU5hbWUoImNoYXJzZXQiKSxDLmNvdW50LHQuc3RyaW5ncywhMCk7dC5mZFNlbGVjdD10aGlzLnBhcnNlRkRTZWxlY3Qoby5nZXRCeU5hbWUoIkZEU2VsZWN0IiksQy5jb3VudCl9ZWxzZXtRPXRoaXMucGFyc2VDaGFyc2V0cyhvLmdldEJ5TmFtZSgiY2hhcnNldCIpLEMuY291bnQsdC5zdHJpbmdzLCExKTtFPXRoaXMucGFyc2VFbmNvZGluZyhvLmdldEJ5TmFtZSgiRW5jb2RpbmciKSxlLHQuc3RyaW5ncyxRLmNoYXJzZXQpfXQuY2hhcnNldD1RO3QuZW5jb2Rpbmc9RTtjb25zdCB1PXRoaXMucGFyc2VDaGFyU3RyaW5ncyh7Y2hhclN0cmluZ3M6Qyxsb2NhbFN1YnJJbmRleDpvLnByaXZhdGVEaWN0LnN1YnJzSW5kZXgsZ2xvYmFsU3VickluZGV4Om4ub2JqLGZkU2VsZWN0OnQuZmRTZWxlY3QsZmRBcnJheTp0LmZkQXJyYXkscHJpdmF0ZURpY3Q6by5wcml2YXRlRGljdH0pO3QuY2hhclN0cmluZ3M9dS5jaGFyU3RyaW5nczt0LnNlYWNzPXUuc2VhY3M7dC53aWR0aHM9dS53aWR0aHM7cmV0dXJuIHR9cGFyc2VIZWFkZXIoKXtsZXQgZT10aGlzLmJ5dGVzO2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGk9MDtmb3IoO2k8dCYmMSE9PWVbaV07KSsraTtpZihpPj10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBDRkYgaGVhZGVyIik7aWYoMCE9PWkpe2luZm8oImNmZiBkYXRhIGlzIHNoaWZ0ZWQiKTtlPWUuc3ViYXJyYXkoaSk7dGhpcy5ieXRlcz1lfWNvbnN0IGE9ZVswXSxzPWVbMV0scj1lWzJdLG49ZVszXTtyZXR1cm57b2JqOm5ldyBDRkZIZWFkZXIoYSxzLHIsbiksZW5kUG9zOnJ9fXBhcnNlRGljdChlKXtsZXQgdD0wO2Z1bmN0aW9uIHBhcnNlT3BlcmFuZCgpe2xldCBpPWVbdCsrXTtpZigzMD09PWkpcmV0dXJuIGZ1bmN0aW9uIHBhcnNlRmxvYXRPcGVyYW5kKCl7bGV0IGk9IiI7Y29uc3QgYT0xNSxzPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIi4iLCJFIiwiRS0iLG51bGwsIi0iXSxyPWUubGVuZ3RoO2Zvcig7dDxyOyl7Y29uc3Qgcj1lW3QrK10sbj1yPj40LGc9MTUmcjtpZihuPT09YSlicmVhaztpKz1zW25dO2lmKGc9PT1hKWJyZWFrO2krPXNbZ119cmV0dXJuIHBhcnNlRmxvYXQoaSl9KCk7aWYoMjg9PT1pKXtpPWVbdCsrXTtpPShpPDwyNHxlW3QrK108PDE2KT4+MTY7cmV0dXJuIGl9aWYoMjk9PT1pKXtpPWVbdCsrXTtpPWk8PDh8ZVt0KytdO2k9aTw8OHxlW3QrK107aT1pPDw4fGVbdCsrXTtyZXR1cm4gaX1pZihpPj0zMiYmaTw9MjQ2KXJldHVybiBpLTEzOTtpZihpPj0yNDcmJmk8PTI1MClyZXR1cm4gMjU2KihpLTI0NykrZVt0KytdKzEwODtpZihpPj0yNTEmJmk8PTI1NClyZXR1cm4tMjU2KihpLTI1MSktZVt0KytdLTEwODt3YXJuKCdDRkZQYXJzZXJfcGFyc2VEaWN0OiAiJytpKyciIGlzIGEgcmVzZXJ2ZWQgY29tbWFuZC4nKTtyZXR1cm4gTmFOfWxldCBpPVtdO2NvbnN0IGE9W107dD0wO2NvbnN0IHM9ZS5sZW5ndGg7Zm9yKDt0PHM7KXtsZXQgcz1lW3RdO2lmKHM8PTIxKXsxMj09PXMmJihzPXM8PDh8ZVsrK3RdKTthLnB1c2goW3MsaV0pO2k9W107Kyt0fWVsc2UgaS5wdXNoKHBhcnNlT3BlcmFuZCgpKX1yZXR1cm4gYX1wYXJzZUluZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4LGk9dGhpcy5ieXRlcyxhPWlbZSsrXTw8OHxpW2UrK10scz1bXTtsZXQgcixuLGc9ZTtpZigwIT09YSl7Y29uc3QgdD1pW2UrK10sbz1lKyhhKzEpKnQtMTtmb3Iocj0wLG49YSsxO3I8bjsrK3Ipe2xldCBhPTA7Zm9yKGxldCBzPTA7czx0Oysrcyl7YTw8PTg7YSs9aVtlKytdfXMucHVzaChvK2EpfWc9c1thXX1mb3Iocj0wLG49cy5sZW5ndGgtMTtyPG47KytyKXtjb25zdCBlPXNbcl0sYT1zW3IrMV07dC5hZGQoaS5zdWJhcnJheShlLGEpKX1yZXR1cm57b2JqOnQsZW5kUG9zOmd9fXBhcnNlTmFtZUluZGV4KGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmNvdW50O2k8YTsrK2kpe2NvbnN0IGE9ZS5nZXQoaSk7dC5wdXNoKGJ5dGVzVG9TdHJpbmcoYSkpfXJldHVybiB0fXBhcnNlU3RyaW5nSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGU3RyaW5ncztmb3IobGV0IGk9MCxhPWUuY291bnQ7aTxhOysraSl7Y29uc3QgYT1lLmdldChpKTt0LmFkZChieXRlc1RvU3RyaW5nKGEpKX1yZXR1cm4gdH1jcmVhdGVEaWN0KGUsdCxpKXtjb25zdCBhPW5ldyBlKGkpO2Zvcihjb25zdFtlLGldb2YgdClhLnNldEJ5S2V5KGUsaSk7cmV0dXJuIGF9cGFyc2VDaGFyU3RyaW5nKGUsdCxpLGEpe2lmKCF0fHxlLmNhbGxEZXB0aD4xMClyZXR1cm4hMTtsZXQgcz1lLnN0YWNrU2l6ZTtjb25zdCByPWUuc3RhY2s7bGV0IG49dC5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxuOyl7Y29uc3Qgbz10W2crK107bGV0IGM9bnVsbDtpZigxMj09PW8pe2NvbnN0IGU9dFtnKytdO2lmKDA9PT1lKXt0W2ctMl09MTM5O3RbZy0xXT0yMjtzPTB9ZWxzZSBjPWtpW2VdfWVsc2UgaWYoMjg9PT1vKXtyW3NdPSh0W2ddPDwyNHx0W2crMV08PDE2KT4+MTY7Zys9MjtzKyt9ZWxzZSBpZigxND09PW8pe2lmKHM+PTQpe3MtPTQ7aWYodGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkKXtlLnNlYWM9ci5zbGljZShzLHMrNCk7cmV0dXJuITF9fWM9U2lbb119ZWxzZSBpZihvPj0zMiYmbzw9MjQ2KXtyW3NdPW8tMTM5O3MrK31lbHNlIGlmKG8+PTI0NyYmbzw9MjU0KXtyW3NdPW88MjUxPyhvLTI0Nzw8OCkrdFtnXSsxMDg6LShvLTI1MTw8OCktdFtnXS0xMDg7ZysrO3MrK31lbHNlIGlmKDI1NT09PW8pe3Jbc109KHRbZ108PDI0fHRbZysxXTw8MTZ8dFtnKzJdPDw4fHRbZyszXSkvNjU1MzY7Zys9NDtzKyt9ZWxzZSBpZigxOT09PW98fDIwPT09byl7ZS5oaW50cys9cz4+MTtpZigwPT09ZS5oaW50cyl7dC5jb3B5V2l0aGluKGctMSxnLC0xKTtnLT0xO24tPTE7Y29udGludWV9Zys9ZS5oaW50cys3Pj4zO3MlPTI7Yz1TaVtvXX1lbHNle2lmKDEwPT09b3x8Mjk9PT1vKXtjb25zdCB0PTEwPT09bz9pOmE7aWYoIXQpe2M9U2lbb107d2FybigiTWlzc2luZyBzdWJyc0luZGV4IGZvciAiK2MuaWQpO3JldHVybiExfWxldCBuPTMyNzY4O3QuY291bnQ8MTI0MD9uPTEwNzp0LmNvdW50PDMzOTAwJiYobj0xMTMxKTtjb25zdCBnPXJbLS1zXStuO2lmKGc8MHx8Zz49dC5jb3VudHx8aXNOYU4oZykpe2M9U2lbb107d2FybigiT3V0IG9mIGJvdW5kcyBzdWJySW5kZXggZm9yICIrYy5pZCk7cmV0dXJuITF9ZS5zdGFja1NpemU9cztlLmNhbGxEZXB0aCsrO2lmKCF0aGlzLnBhcnNlQ2hhclN0cmluZyhlLHQuZ2V0KGcpLGksYSkpcmV0dXJuITE7ZS5jYWxsRGVwdGgtLTtzPWUuc3RhY2tTaXplO2NvbnRpbnVlfWlmKDExPT09byl7ZS5zdGFja1NpemU9cztyZXR1cm4hMH1pZigwPT09byYmZz09PXQubGVuZ3RoKXt0W2ctMV09MTQ7Yz1TaVsxNF19ZWxzZXtpZig5PT09byl7dC5jb3B5V2l0aGluKGctMSxnLC0xKTtnLT0xO24tPTE7Y29udGludWV9Yz1TaVtvXX19aWYoYyl7aWYoYy5zdGVtKXtlLmhpbnRzKz1zPj4xO2lmKDM9PT1vfHwyMz09PW8pZS5oYXNWU3RlbXM9ITA7ZWxzZSBpZihlLmhhc1ZTdGVtcyYmKDE9PT1vfHwxOD09PW8pKXt3YXJuKCJDRkYgc3RlbSBoaW50cyBhcmUgaW4gd3Jvbmcgb3JkZXIiKTt0W2ctMV09MT09PW8/MzoyM319aWYoIm1pbiJpbiBjJiYhZS51bmRlZlN0YWNrJiZzPGMubWluKXt3YXJuKCJOb3QgZW5vdWdoIHBhcmFtZXRlcnMgZm9yICIrYy5pZCsiOyBhY3R1YWw6ICIrcysiLCBleHBlY3RlZDogIitjLm1pbik7aWYoMD09PXMpe3RbZy0xXT0xNDtyZXR1cm4hMH1yZXR1cm4hMX1pZihlLmZpcnN0U3RhY2tDbGVhcmluZyYmYy5zdGFja0NsZWFyaW5nKXtlLmZpcnN0U3RhY2tDbGVhcmluZz0hMTtzLT1jLm1pbjtzPj0yJiZjLnN0ZW0/cyU9MjpzPjEmJndhcm4oIkZvdW5kIHRvbyBtYW55IHBhcmFtZXRlcnMgZm9yIHN0YWNrLWNsZWFyaW5nIGNvbW1hbmQiKTtzPjAmJihlLndpZHRoPXJbcy0xXSl9aWYoInN0YWNrRGVsdGEiaW4gYyl7InN0YWNrRm4iaW4gYyYmYy5zdGFja0ZuKHIscyk7cys9Yy5zdGFja0RlbHRhfWVsc2UgaWYoYy5zdGFja0NsZWFyaW5nKXM9MDtlbHNlIGlmKGMucmVzZXRTdGFjayl7cz0wO2UudW5kZWZTdGFjaz0hMX1lbHNlIGlmKGMudW5kZWZTdGFjayl7cz0wO2UudW5kZWZTdGFjaz0hMDtlLmZpcnN0U3RhY2tDbGVhcmluZz0hMX19fW48dC5sZW5ndGgmJnQuZmlsbCgxNCxuKTtlLnN0YWNrU2l6ZT1zO3JldHVybiEwfXBhcnNlQ2hhclN0cmluZ3Moe2NoYXJTdHJpbmdzOmUsbG9jYWxTdWJySW5kZXg6dCxnbG9iYWxTdWJySW5kZXg6aSxmZFNlbGVjdDphLGZkQXJyYXk6cyxwcml2YXRlRGljdDpyfSl7Y29uc3Qgbj1bXSxnPVtdLG89ZS5jb3VudDtmb3IobGV0IGM9MDtjPG87YysrKXtjb25zdCBvPWUuZ2V0KGMpLEM9e2NhbGxEZXB0aDowLHN0YWNrU2l6ZTowLHN0YWNrOltdLHVuZGVmU3RhY2s6ITAsaGludHM6MCxmaXJzdFN0YWNrQ2xlYXJpbmc6ITAsc2VhYzpudWxsLHdpZHRoOm51bGwsaGFzVlN0ZW1zOiExfTtsZXQgaD0hMCxsPW51bGwsUT1yO2lmKGEmJnMubGVuZ3RoKXtjb25zdCBlPWEuZ2V0RkRJbmRleChjKTtpZigtMT09PWUpe3dhcm4oIkdseXBoIGluZGV4IGlzIG5vdCBpbiBmZCBzZWxlY3QuIik7aD0hMX1pZihlPj1zLmxlbmd0aCl7d2FybigiSW52YWxpZCBmZCBpbmRleCBmb3IgZ2x5cGggaW5kZXguIik7aD0hMX1pZihoKXtRPXNbZV0ucHJpdmF0ZURpY3Q7bD1RLnN1YnJzSW5kZXh9fWVsc2UgdCYmKGw9dCk7aCYmKGg9dGhpcy5wYXJzZUNoYXJTdHJpbmcoQyxvLGwsaSkpO2lmKG51bGwhPT1DLndpZHRoKXtjb25zdCBlPVEuZ2V0QnlOYW1lKCJub21pbmFsV2lkdGhYIik7Z1tjXT1lK0Mud2lkdGh9ZWxzZXtjb25zdCBlPVEuZ2V0QnlOYW1lKCJkZWZhdWx0V2lkdGhYIik7Z1tjXT1lfW51bGwhPT1DLnNlYWMmJihuW2NdPUMuc2VhYyk7aHx8ZS5zZXQoYyxuZXcgVWludDhBcnJheShbMTRdKSl9cmV0dXJue2NoYXJTdHJpbmdzOmUsc2VhY3M6bix3aWR0aHM6Z319ZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKXtjb25zdCB0PXRoaXMuY3JlYXRlRGljdChDRkZQcml2YXRlRGljdCxbXSxlLnN0cmluZ3MpO2Uuc2V0QnlLZXkoMTgsWzAsMF0pO2UucHJpdmF0ZURpY3Q9dH1wYXJzZVByaXZhdGVEaWN0KGUpe2lmKCFlLmhhc05hbWUoIlByaXZhdGUiKSl7dGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KGUpO3JldHVybn1jb25zdCB0PWUuZ2V0QnlOYW1lKCJQcml2YXRlIik7aWYoIUFycmF5LmlzQXJyYXkodCl8fDIhPT10Lmxlbmd0aCl7ZS5yZW1vdmVCeU5hbWUoIlByaXZhdGUiKTtyZXR1cm59Y29uc3QgaT10WzBdLGE9dFsxXTtpZigwPT09aXx8YT49dGhpcy5ieXRlcy5sZW5ndGgpe3RoaXMuZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKTtyZXR1cm59Y29uc3Qgcz1hK2kscj10aGlzLmJ5dGVzLnN1YmFycmF5KGEscyksbj10aGlzLnBhcnNlRGljdChyKSxnPXRoaXMuY3JlYXRlRGljdChDRkZQcml2YXRlRGljdCxuLGUuc3RyaW5ncyk7ZS5wcml2YXRlRGljdD1nOzA9PT1nLmdldEJ5TmFtZSgiRXhwYW5zaW9uRmFjdG9yIikmJmcuc2V0QnlOYW1lKCJFeHBhbnNpb25GYWN0b3IiLC4wNik7aWYoIWcuZ2V0QnlOYW1lKCJTdWJycyIpKXJldHVybjtjb25zdCBvPWcuZ2V0QnlOYW1lKCJTdWJycyIpLGM9YStvO2lmKDA9PT1vfHxjPj10aGlzLmJ5dGVzLmxlbmd0aCl7dGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KGUpO3JldHVybn1jb25zdCBDPXRoaXMucGFyc2VJbmRleChjKTtnLnN1YnJzSW5kZXg9Qy5vYmp9cGFyc2VDaGFyc2V0cyhlLHQsaSxhKXtpZigwPT09ZSlyZXR1cm4gbmV3IENGRkNoYXJzZXQoITAsR2kuSVNPX0FET0JFLFFpKTtpZigxPT09ZSlyZXR1cm4gbmV3IENGRkNoYXJzZXQoITAsR2kuRVhQRVJULEVpKTtpZigyPT09ZSlyZXR1cm4gbmV3IENGRkNoYXJzZXQoITAsR2kuRVhQRVJUX1NVQlNFVCx1aSk7Y29uc3Qgcz10aGlzLmJ5dGVzLHI9ZSxuPXNbZSsrXSxnPVthPzA6Ii5ub3RkZWYiXTtsZXQgbyxjLEM7dC09MTtzd2l0Y2gobil7Y2FzZSAwOmZvcihDPTA7Qzx0O0MrKyl7bz1zW2UrK108PDh8c1tlKytdO2cucHVzaChhP286aS5nZXQobykpfWJyZWFrO2Nhc2UgMTpmb3IoO2cubGVuZ3RoPD10Oyl7bz1zW2UrK108PDh8c1tlKytdO2M9c1tlKytdO2ZvcihDPTA7Qzw9YztDKyspZy5wdXNoKGE/bysrOmkuZ2V0KG8rKykpfWJyZWFrO2Nhc2UgMjpmb3IoO2cubGVuZ3RoPD10Oyl7bz1zW2UrK108PDh8c1tlKytdO2M9c1tlKytdPDw4fHNbZSsrXTtmb3IoQz0wO0M8PWM7QysrKWcucHVzaChhP28rKzppLmdldChvKyspKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBjaGFyc2V0IGZvcm1hdCIpfWNvbnN0IGg9ZSxsPXMuc3ViYXJyYXkocixoKTtyZXR1cm4gbmV3IENGRkNoYXJzZXQoITEsbixnLGwpfXBhcnNlRW5jb2RpbmcoZSx0LGksYSl7Y29uc3Qgcz1PYmplY3QuY3JlYXRlKG51bGwpLHI9dGhpcy5ieXRlcztsZXQgbixnLG8sYz0hMSxDPW51bGw7aWYoMD09PWV8fDE9PT1lKXtjPSEwO249ZTtjb25zdCB0PWU/ZGk6bWk7Zm9yKGc9MCxvPWEubGVuZ3RoO2c8bztnKyspe2NvbnN0IGU9dC5pbmRleE9mKGFbZ10pOy0xIT09ZSYmKHNbZV09Zyl9fWVsc2V7Y29uc3QgdD1lO249cltlKytdO3N3aXRjaCgxMjcmbil7Y2FzZSAwOmNvbnN0IHQ9cltlKytdO2ZvcihnPTE7Zzw9dDtnKyspc1tyW2UrK11dPWc7YnJlYWs7Y2FzZSAxOmNvbnN0IGk9cltlKytdO2xldCBhPTE7Zm9yKGc9MDtnPGk7ZysrKXtjb25zdCB0PXJbZSsrXSxpPXJbZSsrXTtmb3IobGV0IGU9dDtlPD10K2k7ZSsrKXNbZV09YSsrfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIGVuY29kaW5nIGZvcm1hdDogJHtufSBpbiBDRkZgKX1jb25zdCBvPWU7aWYoMTI4Jm4pe3JbdF0mPTEyNzshZnVuY3Rpb24gcmVhZFN1cHBsZW1lbnQoKXtjb25zdCB0PXJbZSsrXTtmb3IoZz0wO2c8dDtnKyspe2NvbnN0IHQ9cltlKytdLG49KHJbZSsrXTw8OCkrKDI1NSZyW2UrK10pO3NbdF09YS5pbmRleE9mKGkuZ2V0KG4pKX19KCl9Qz1yLnN1YmFycmF5KHQsbyl9biY9MTI3O3JldHVybiBuZXcgQ0ZGRW5jb2RpbmcoYyxuLHMsQyl9cGFyc2VGRFNlbGVjdChlLHQpe2NvbnN0IGk9dGhpcy5ieXRlcyxhPWlbZSsrXSxzPVtdO2xldCByO3N3aXRjaChhKXtjYXNlIDA6Zm9yKHI9MDtyPHQ7KytyKXtjb25zdCB0PWlbZSsrXTtzLnB1c2godCl9YnJlYWs7Y2FzZSAzOmNvbnN0IG49aVtlKytdPDw4fGlbZSsrXTtmb3Iocj0wO3I8bjsrK3Ipe2xldCB0PWlbZSsrXTw8OHxpW2UrK107aWYoMD09PXImJjAhPT10KXt3YXJuKCJwYXJzZUZEU2VsZWN0OiBUaGUgZmlyc3QgcmFuZ2UgbXVzdCBoYXZlIGEgZmlyc3QgR0lEIG9mIDAgLS0gdHJ5aW5nIHRvIHJlY292ZXIuIik7dD0wfWNvbnN0IGE9aVtlKytdLG49aVtlXTw8OHxpW2UrMV07Zm9yKGxldCBlPXQ7ZTxuOysrZSlzLnB1c2goYSl9ZSs9MjticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgcGFyc2VGRFNlbGVjdDogVW5rbm93biBmb3JtYXQgIiR7YX0iLmApfWlmKHMubGVuZ3RoIT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInBhcnNlRkRTZWxlY3Q6IEludmFsaWQgZm9udCBkYXRhLiIpO3JldHVybiBuZXcgQ0ZGRkRTZWxlY3QoYSxzKX19Y2xhc3MgQ0ZGe2NvbnN0cnVjdG9yKCl7dGhpcy5oZWFkZXI9bnVsbDt0aGlzLm5hbWVzPVtdO3RoaXMudG9wRGljdD1udWxsO3RoaXMuc3RyaW5ncz1uZXcgQ0ZGU3RyaW5nczt0aGlzLmdsb2JhbFN1YnJJbmRleD1udWxsO3RoaXMuZW5jb2Rpbmc9bnVsbDt0aGlzLmNoYXJzZXQ9bnVsbDt0aGlzLmNoYXJTdHJpbmdzPW51bGw7dGhpcy5mZEFycmF5PVtdO3RoaXMuZmRTZWxlY3Q9bnVsbDt0aGlzLmlzQ0lERm9udD0hMX1kdXBsaWNhdGVGaXJzdEdseXBoKCl7aWYodGhpcy5jaGFyU3RyaW5ncy5jb3VudD49NjU1MzUpe3dhcm4oIk5vdCBlbm91Z2ggc3BhY2UgaW4gY2hhcnN0cmluZ3MgdG8gZHVwbGljYXRlIGZpcnN0IGdseXBoLiIpO3JldHVybn1jb25zdCBlPXRoaXMuY2hhclN0cmluZ3MuZ2V0KDApO3RoaXMuY2hhclN0cmluZ3MuYWRkKGUpO3RoaXMuaXNDSURGb250JiZ0aGlzLmZkU2VsZWN0LmZkU2VsZWN0LnB1c2godGhpcy5mZFNlbGVjdC5mZFNlbGVjdFswXSl9aGFzR2x5cGhJZChlKXtpZihlPDB8fGU+PXRoaXMuY2hhclN0cmluZ3MuY291bnQpcmV0dXJuITE7cmV0dXJuIHRoaXMuY2hhclN0cmluZ3MuZ2V0KGUpLmxlbmd0aD4wfX1jbGFzcyBDRkZIZWFkZXJ7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5tYWpvcj1lO3RoaXMubWlub3I9dDt0aGlzLmhkclNpemU9aTt0aGlzLm9mZlNpemU9YX19Y2xhc3MgQ0ZGU3RyaW5nc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RyaW5ncz1bXX1nZXQoZSl7cmV0dXJuIGU+PTAmJmU8PTM5MD9iaVtlXTplLUZpPD10aGlzLnN0cmluZ3MubGVuZ3RoP3RoaXMuc3RyaW5nc1tlLUZpXTpiaVswXX1nZXRTSUQoZSl7bGV0IHQ9YmkuaW5kZXhPZihlKTtpZigtMSE9PXQpcmV0dXJuIHQ7dD10aGlzLnN0cmluZ3MuaW5kZXhPZihlKTtyZXR1cm4tMSE9PXQ/dCtGaTotMX1hZGQoZSl7dGhpcy5zdHJpbmdzLnB1c2goZSl9Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuc3RyaW5ncy5sZW5ndGh9fWNsYXNzIENGRkluZGV4e2NvbnN0cnVjdG9yKCl7dGhpcy5vYmplY3RzPVtdO3RoaXMubGVuZ3RoPTB9YWRkKGUpe3RoaXMubGVuZ3RoKz1lLmxlbmd0aDt0aGlzLm9iamVjdHMucHVzaChlKX1zZXQoZSx0KXt0aGlzLmxlbmd0aCs9dC5sZW5ndGgtdGhpcy5vYmplY3RzW2VdLmxlbmd0aDt0aGlzLm9iamVjdHNbZV09dH1nZXQoZSl7cmV0dXJuIHRoaXMub2JqZWN0c1tlXX1nZXQgY291bnQoKXtyZXR1cm4gdGhpcy5vYmplY3RzLmxlbmd0aH19Y2xhc3MgQ0ZGRGljdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMua2V5VG9OYW1lTWFwPWUua2V5VG9OYW1lTWFwO3RoaXMubmFtZVRvS2V5TWFwPWUubmFtZVRvS2V5TWFwO3RoaXMuZGVmYXVsdHM9ZS5kZWZhdWx0czt0aGlzLnR5cGVzPWUudHlwZXM7dGhpcy5vcGNvZGVzPWUub3Bjb2Rlczt0aGlzLm9yZGVyPWUub3JkZXI7dGhpcy5zdHJpbmdzPXQ7dGhpcy52YWx1ZXM9T2JqZWN0LmNyZWF0ZShudWxsKX1zZXRCeUtleShlLHQpe2lmKCEoZSBpbiB0aGlzLmtleVRvTmFtZU1hcCkpcmV0dXJuITE7aWYoMD09PXQubGVuZ3RoKXJldHVybiEwO2Zvcihjb25zdCBpIG9mIHQpaWYoaXNOYU4oaSkpe3dhcm4oYEludmFsaWQgQ0ZGRGljdCB2YWx1ZTogIiR7dH0iIGZvciBrZXkgIiR7ZX0iLmApO3JldHVybiEwfWNvbnN0IGk9dGhpcy50eXBlc1tlXTsibnVtIiE9PWkmJiJzaWQiIT09aSYmIm9mZnNldCIhPT1pfHwodD10WzBdKTt0aGlzLnZhbHVlc1tlXT10O3JldHVybiEwfXNldEJ5TmFtZShlLHQpe2lmKCEoZSBpbiB0aGlzLm5hbWVUb0tleU1hcCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGRpY3Rpb25hcnkgbmFtZSAiJHtlfSJgKTt0aGlzLnZhbHVlc1t0aGlzLm5hbWVUb0tleU1hcFtlXV09dH1oYXNOYW1lKGUpe3JldHVybiB0aGlzLm5hbWVUb0tleU1hcFtlXWluIHRoaXMudmFsdWVzfWdldEJ5TmFtZShlKXtpZighKGUgaW4gdGhpcy5uYW1lVG9LZXlNYXApKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBkaWN0aW9uYXJ5IG5hbWUgJHtlfSJgKTtjb25zdCB0PXRoaXMubmFtZVRvS2V5TWFwW2VdO3JldHVybiB0IGluIHRoaXMudmFsdWVzP3RoaXMudmFsdWVzW3RdOnRoaXMuZGVmYXVsdHNbdF19cmVtb3ZlQnlOYW1lKGUpe2RlbGV0ZSB0aGlzLnZhbHVlc1t0aGlzLm5hbWVUb0tleU1hcFtlXV19c3RhdGljIGNyZWF0ZVRhYmxlcyhlKXtjb25zdCB0PXtrZXlUb05hbWVNYXA6e30sbmFtZVRvS2V5TWFwOnt9LGRlZmF1bHRzOnt9LHR5cGVzOnt9LG9wY29kZXM6e30sb3JkZXI6W119O2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9QXJyYXkuaXNBcnJheShpWzBdKT8oaVswXVswXTw8OCkraVswXVsxXTppWzBdO3Qua2V5VG9OYW1lTWFwW2VdPWlbMV07dC5uYW1lVG9LZXlNYXBbaVsxXV09ZTt0LnR5cGVzW2VdPWlbMl07dC5kZWZhdWx0c1tlXT1pWzNdO3Qub3Bjb2Rlc1tlXT1BcnJheS5pc0FycmF5KGlbMF0pP2lbMF06W2lbMF1dO3Qub3JkZXIucHVzaChlKX1yZXR1cm4gdH19Y29uc3QgUmk9W1tbMTIsMzBdLCJST1MiLFsic2lkIiwic2lkIiwibnVtIl0sbnVsbF0sW1sxMiwyMF0sIlN5bnRoZXRpY0Jhc2UiLCJudW0iLG51bGxdLFswLCJ2ZXJzaW9uIiwic2lkIixudWxsXSxbMSwiTm90aWNlIiwic2lkIixudWxsXSxbWzEyLDBdLCJDb3B5cmlnaHQiLCJzaWQiLG51bGxdLFsyLCJGdWxsTmFtZSIsInNpZCIsbnVsbF0sWzMsIkZhbWlseU5hbWUiLCJzaWQiLG51bGxdLFs0LCJXZWlnaHQiLCJzaWQiLG51bGxdLFtbMTIsMV0sImlzRml4ZWRQaXRjaCIsIm51bSIsMF0sW1sxMiwyXSwiSXRhbGljQW5nbGUiLCJudW0iLDBdLFtbMTIsM10sIlVuZGVybGluZVBvc2l0aW9uIiwibnVtIiwtMTAwXSxbWzEyLDRdLCJVbmRlcmxpbmVUaGlja25lc3MiLCJudW0iLDUwXSxbWzEyLDVdLCJQYWludFR5cGUiLCJudW0iLDBdLFtbMTIsNl0sIkNoYXJzdHJpbmdUeXBlIiwibnVtIiwyXSxbWzEyLDddLCJGb250TWF0cml4IixbIm51bSIsIm51bSIsIm51bSIsIm51bSIsIm51bSIsIm51bSJdLFsuMDAxLDAsMCwuMDAxLDAsMF1dLFsxMywiVW5pcXVlSUQiLCJudW0iLG51bGxdLFs1LCJGb250QkJveCIsWyJudW0iLCJudW0iLCJudW0iLCJudW0iXSxbMCwwLDAsMF1dLFtbMTIsOF0sIlN0cm9rZVdpZHRoIiwibnVtIiwwXSxbMTQsIlhVSUQiLCJhcnJheSIsbnVsbF0sWzE1LCJjaGFyc2V0Iiwib2Zmc2V0IiwwXSxbMTYsIkVuY29kaW5nIiwib2Zmc2V0IiwwXSxbMTcsIkNoYXJTdHJpbmdzIiwib2Zmc2V0IiwwXSxbMTgsIlByaXZhdGUiLFsib2Zmc2V0Iiwib2Zmc2V0Il0sbnVsbF0sW1sxMiwyMV0sIlBvc3RTY3JpcHQiLCJzaWQiLG51bGxdLFtbMTIsMjJdLCJCYXNlRm9udE5hbWUiLCJzaWQiLG51bGxdLFtbMTIsMjNdLCJCYXNlRm9udEJsZW5kIiwiZGVsdGEiLG51bGxdLFtbMTIsMzFdLCJDSURGb250VmVyc2lvbiIsIm51bSIsMF0sW1sxMiwzMl0sIkNJREZvbnRSZXZpc2lvbiIsIm51bSIsMF0sW1sxMiwzM10sIkNJREZvbnRUeXBlIiwibnVtIiwwXSxbWzEyLDM0XSwiQ0lEQ291bnQiLCJudW0iLDg3MjBdLFtbMTIsMzVdLCJVSURCYXNlIiwibnVtIixudWxsXSxbWzEyLDM3XSwiRkRTZWxlY3QiLCJvZmZzZXQiLG51bGxdLFtbMTIsMzZdLCJGREFycmF5Iiwib2Zmc2V0IixudWxsXSxbWzEyLDM4XSwiRm9udE5hbWUiLCJzaWQiLG51bGxdXTtjbGFzcyBDRkZUb3BEaWN0IGV4dGVuZHMgQ0ZGRGljdHtzdGF0aWMgZ2V0IHRhYmxlcygpe3JldHVybiBzaGFkb3codGhpcywidGFibGVzIix0aGlzLmNyZWF0ZVRhYmxlcyhSaSkpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKENGRlRvcERpY3QudGFibGVzLGUpO3RoaXMucHJpdmF0ZURpY3Q9bnVsbH19Y29uc3QgTmk9W1s2LCJCbHVlVmFsdWVzIiwiZGVsdGEiLG51bGxdLFs3LCJPdGhlckJsdWVzIiwiZGVsdGEiLG51bGxdLFs4LCJGYW1pbHlCbHVlcyIsImRlbHRhIixudWxsXSxbOSwiRmFtaWx5T3RoZXJCbHVlcyIsImRlbHRhIixudWxsXSxbWzEyLDldLCJCbHVlU2NhbGUiLCJudW0iLC4wMzk2MjVdLFtbMTIsMTBdLCJCbHVlU2hpZnQiLCJudW0iLDddLFtbMTIsMTFdLCJCbHVlRnV6eiIsIm51bSIsMV0sWzEwLCJTdGRIVyIsIm51bSIsbnVsbF0sWzExLCJTdGRWVyIsIm51bSIsbnVsbF0sW1sxMiwxMl0sIlN0ZW1TbmFwSCIsImRlbHRhIixudWxsXSxbWzEyLDEzXSwiU3RlbVNuYXBWIiwiZGVsdGEiLG51bGxdLFtbMTIsMTRdLCJGb3JjZUJvbGQiLCJudW0iLDBdLFtbMTIsMTddLCJMYW5ndWFnZUdyb3VwIiwibnVtIiwwXSxbWzEyLDE4XSwiRXhwYW5zaW9uRmFjdG9yIiwibnVtIiwuMDZdLFtbMTIsMTldLCJpbml0aWFsUmFuZG9tU2VlZCIsIm51bSIsMF0sWzIwLCJkZWZhdWx0V2lkdGhYIiwibnVtIiwwXSxbMjEsIm5vbWluYWxXaWR0aFgiLCJudW0iLDBdLFsxOSwiU3VicnMiLCJvZmZzZXQiLG51bGxdXTtjbGFzcyBDRkZQcml2YXRlRGljdCBleHRlbmRzIENGRkRpY3R7c3RhdGljIGdldCB0YWJsZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInRhYmxlcyIsdGhpcy5jcmVhdGVUYWJsZXMoTmkpKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihDRkZQcml2YXRlRGljdC50YWJsZXMsZSk7dGhpcy5zdWJyc0luZGV4PW51bGx9fWNvbnN0IEdpPXtJU09fQURPQkU6MCxFWFBFUlQ6MSxFWFBFUlRfU1VCU0VUOjJ9O2NsYXNzIENGRkNoYXJzZXR7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5wcmVkZWZpbmVkPWU7dGhpcy5mb3JtYXQ9dDt0aGlzLmNoYXJzZXQ9aTt0aGlzLnJhdz1hfX1jbGFzcyBDRkZFbmNvZGluZ3tjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLnByZWRlZmluZWQ9ZTt0aGlzLmZvcm1hdD10O3RoaXMuZW5jb2Rpbmc9aTt0aGlzLnJhdz1hfX1jbGFzcyBDRkZGRFNlbGVjdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZm9ybWF0PWU7dGhpcy5mZFNlbGVjdD10fWdldEZESW5kZXgoZSl7cmV0dXJuIGU8MHx8ZT49dGhpcy5mZFNlbGVjdC5sZW5ndGg/LTE6dGhpcy5mZFNlbGVjdFtlXX19Y2xhc3MgQ0ZGT2Zmc2V0VHJhY2tlcntjb25zdHJ1Y3Rvcigpe3RoaXMub2Zmc2V0cz1PYmplY3QuY3JlYXRlKG51bGwpfWlzVHJhY2tpbmcoZSl7cmV0dXJuIGUgaW4gdGhpcy5vZmZzZXRzfXRyYWNrKGUsdCl7aWYoZSBpbiB0aGlzLm9mZnNldHMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBBbHJlYWR5IHRyYWNraW5nIGxvY2F0aW9uIG9mICR7ZX1gKTt0aGlzLm9mZnNldHNbZV09dH1vZmZzZXQoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5vZmZzZXRzKXRoaXMub2Zmc2V0c1t0XSs9ZX1zZXRFbnRyeUxvY2F0aW9uKGUsdCxpKXtpZighKGUgaW4gdGhpcy5vZmZzZXRzKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYE5vdCB0cmFja2luZyBsb2NhdGlvbiBvZiAke2V9YCk7Y29uc3QgYT1pLmRhdGEscz10aGlzLm9mZnNldHNbZV07Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7KytlKXtjb25zdCBpPTUqZStzLHI9aSsxLG49aSsyLGc9aSszLG89aSs0O2lmKDI5IT09YVtpXXx8MCE9PWFbcl18fDAhPT1hW25dfHwwIT09YVtnXXx8MCE9PWFbb10pdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ3cml0aW5nIHRvIGFuIG9mZnNldCB0aGF0IGlzIG5vdCBlbXB0eSIpO2NvbnN0IGM9dFtlXTthW2ldPTI5O2Fbcl09Yz4+MjQmMjU1O2Fbbl09Yz4+MTYmMjU1O2FbZ109Yz4+OCYyNTU7YVtvXT0yNTUmY319fWNsYXNzIENGRkNvbXBpbGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuY2ZmPWV9Y29tcGlsZSgpe2NvbnN0IGU9dGhpcy5jZmYsdD17ZGF0YTpbXSxsZW5ndGg6MCxhZGQoZSl7dHJ5e3RoaXMuZGF0YS5wdXNoKC4uLmUpfWNhdGNoe3RoaXMuZGF0YT10aGlzLmRhdGEuY29uY2F0KGUpfXRoaXMubGVuZ3RoPXRoaXMuZGF0YS5sZW5ndGh9fSxpPXRoaXMuY29tcGlsZUhlYWRlcihlLmhlYWRlcik7dC5hZGQoaSk7Y29uc3QgYT10aGlzLmNvbXBpbGVOYW1lSW5kZXgoZS5uYW1lcyk7dC5hZGQoYSk7aWYoZS5pc0NJREZvbnQmJmUudG9wRGljdC5oYXNOYW1lKCJGb250TWF0cml4Iikpe2NvbnN0IHQ9ZS50b3BEaWN0LmdldEJ5TmFtZSgiRm9udE1hdHJpeCIpO2UudG9wRGljdC5yZW1vdmVCeU5hbWUoIkZvbnRNYXRyaXgiKTtmb3IoY29uc3QgaSBvZiBlLmZkQXJyYXkpe2xldCBlPXQuc2xpY2UoMCk7aS5oYXNOYW1lKCJGb250TWF0cml4IikmJihlPVV0aWwudHJhbnNmb3JtKGUsaS5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKSkpO2kuc2V0QnlOYW1lKCJGb250TWF0cml4IixlKX19Y29uc3Qgcz1lLnRvcERpY3QuZ2V0QnlOYW1lKCJYVUlEIik7cz8ubGVuZ3RoPjE2JiZlLnRvcERpY3QucmVtb3ZlQnlOYW1lKCJYVUlEIik7ZS50b3BEaWN0LnNldEJ5TmFtZSgiY2hhcnNldCIsMCk7bGV0IHI9dGhpcy5jb21waWxlVG9wRGljdHMoW2UudG9wRGljdF0sdC5sZW5ndGgsZS5pc0NJREZvbnQpO3QuYWRkKHIub3V0cHV0KTtjb25zdCBuPXIudHJhY2tlcnNbMF0sZz10aGlzLmNvbXBpbGVTdHJpbmdJbmRleChlLnN0cmluZ3Muc3RyaW5ncyk7dC5hZGQoZyk7Y29uc3Qgbz10aGlzLmNvbXBpbGVJbmRleChlLmdsb2JhbFN1YnJJbmRleCk7dC5hZGQobyk7aWYoZS5lbmNvZGluZyYmZS50b3BEaWN0Lmhhc05hbWUoIkVuY29kaW5nIikpaWYoZS5lbmNvZGluZy5wcmVkZWZpbmVkKW4uc2V0RW50cnlMb2NhdGlvbigiRW5jb2RpbmciLFtlLmVuY29kaW5nLmZvcm1hdF0sdCk7ZWxzZXtjb25zdCBpPXRoaXMuY29tcGlsZUVuY29kaW5nKGUuZW5jb2RpbmcpO24uc2V0RW50cnlMb2NhdGlvbigiRW5jb2RpbmciLFt0Lmxlbmd0aF0sdCk7dC5hZGQoaSl9Y29uc3QgYz10aGlzLmNvbXBpbGVDaGFyc2V0KGUuY2hhcnNldCxlLmNoYXJTdHJpbmdzLmNvdW50LGUuc3RyaW5ncyxlLmlzQ0lERm9udCk7bi5zZXRFbnRyeUxvY2F0aW9uKCJjaGFyc2V0IixbdC5sZW5ndGhdLHQpO3QuYWRkKGMpO2NvbnN0IEM9dGhpcy5jb21waWxlQ2hhclN0cmluZ3MoZS5jaGFyU3RyaW5ncyk7bi5zZXRFbnRyeUxvY2F0aW9uKCJDaGFyU3RyaW5ncyIsW3QubGVuZ3RoXSx0KTt0LmFkZChDKTtpZihlLmlzQ0lERm9udCl7bi5zZXRFbnRyeUxvY2F0aW9uKCJGRFNlbGVjdCIsW3QubGVuZ3RoXSx0KTtjb25zdCBpPXRoaXMuY29tcGlsZUZEU2VsZWN0KGUuZmRTZWxlY3QpO3QuYWRkKGkpO3I9dGhpcy5jb21waWxlVG9wRGljdHMoZS5mZEFycmF5LHQubGVuZ3RoLCEwKTtuLnNldEVudHJ5TG9jYXRpb24oIkZEQXJyYXkiLFt0Lmxlbmd0aF0sdCk7dC5hZGQoci5vdXRwdXQpO2NvbnN0IGE9ci50cmFja2Vyczt0aGlzLmNvbXBpbGVQcml2YXRlRGljdHMoZS5mZEFycmF5LGEsdCl9dGhpcy5jb21waWxlUHJpdmF0ZURpY3RzKFtlLnRvcERpY3RdLFtuXSx0KTt0LmFkZChbMF0pO3JldHVybiB0LmRhdGF9ZW5jb2RlTnVtYmVyKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpP3RoaXMuZW5jb2RlSW50ZWdlcihlKTp0aGlzLmVuY29kZUZsb2F0KGUpfXN0YXRpYyBnZXQgRW5jb2RlRmxvYXRSZWdFeHAoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkVuY29kZUZsb2F0UmVnRXhwIiwvXC4oXGQqPykoPzo5ezUsMjB9fDB7NSwyMH0pXGR7MCwyfSg/OmUoLispfCQpLyl9ZW5jb2RlRmxvYXQoZSl7bGV0IHQ9ZS50b1N0cmluZygpO2NvbnN0IGk9Q0ZGQ29tcGlsZXIuRW5jb2RlRmxvYXRSZWdFeHAuZXhlYyh0KTtpZihpKXtjb25zdCBhPXBhcnNlRmxvYXQoIjFlIisoKGlbMl0/K2lbMl06MCkraVsxXS5sZW5ndGgpKTt0PShNYXRoLnJvdW5kKGUqYSkvYSkudG9TdHJpbmcoKX1sZXQgYSxzLHI9IiI7Zm9yKGE9MCxzPXQubGVuZ3RoO2E8czsrK2Epe2NvbnN0IGU9dFthXTtyKz0iZSI9PT1lPyItIj09PXRbKythXT8iYyI6ImIiOiIuIj09PWU/ImEiOiItIj09PWU/ImUiOmV9cis9MSZyLmxlbmd0aD8iZiI6ImZmIjtjb25zdCBuPVszMF07Zm9yKGE9MCxzPXIubGVuZ3RoO2E8czthKz0yKW4ucHVzaChwYXJzZUludChyLnN1YnN0cmluZyhhLGErMiksMTYpKTtyZXR1cm4gbn1lbmNvZGVJbnRlZ2VyKGUpe2xldCB0O3Q9ZT49LTEwNyYmZTw9MTA3P1tlKzEzOV06ZT49MTA4JiZlPD0xMTMxP1syNDcrKChlLT0xMDgpPj44KSwyNTUmZV06ZT49LTExMzEmJmU8PS0xMDg/WzI1MSsoKGU9LWUtMTA4KT4+OCksMjU1JmVdOmU+PS0zMjc2OCYmZTw9MzI3Njc/WzI4LGU+PjgmMjU1LDI1NSZlXTpbMjksZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV07cmV0dXJuIHR9Y29tcGlsZUhlYWRlcihlKXtyZXR1cm5bZS5tYWpvcixlLm1pbm9yLDQsZS5vZmZTaXplXX1jb21waWxlTmFtZUluZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4O2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9TWF0aC5taW4oaS5sZW5ndGgsMTI3KTtsZXQgYT1uZXcgQXJyYXkoZSk7Zm9yKGxldCB0PTA7dDxlO3QrKyl7bGV0IGU9aVt0XTsoZTwiISJ8fGU+In4ifHwiWyI9PT1lfHwiXSI9PT1lfHwiKCI9PT1lfHwiKSI9PT1lfHwieyI9PT1lfHwifSI9PT1lfHwiPCI9PT1lfHwiPiI9PT1lfHwiLyI9PT1lfHwiJSI9PT1lKSYmKGU9Il8iKTthW3RdPWV9YT1hLmpvaW4oIiIpOyIiPT09YSYmKGE9IkJhZF9Gb250X05hbWUiKTt0LmFkZChzdHJpbmdUb0J5dGVzKGEpKX1yZXR1cm4gdGhpcy5jb21waWxlSW5kZXgodCl9Y29tcGlsZVRvcERpY3RzKGUsdCxpKXtjb25zdCBhPVtdO2xldCBzPW5ldyBDRkZJbmRleDtmb3IoY29uc3QgciBvZiBlKXtpZihpKXtyLnJlbW92ZUJ5TmFtZSgiQ0lERm9udFZlcnNpb24iKTtyLnJlbW92ZUJ5TmFtZSgiQ0lERm9udFJldmlzaW9uIik7ci5yZW1vdmVCeU5hbWUoIkNJREZvbnRUeXBlIik7ci5yZW1vdmVCeU5hbWUoIkNJRENvdW50Iik7ci5yZW1vdmVCeU5hbWUoIlVJREJhc2UiKX1jb25zdCBlPW5ldyBDRkZPZmZzZXRUcmFja2VyLG49dGhpcy5jb21waWxlRGljdChyLGUpO2EucHVzaChlKTtzLmFkZChuKTtlLm9mZnNldCh0KX1zPXRoaXMuY29tcGlsZUluZGV4KHMsYSk7cmV0dXJue3RyYWNrZXJzOmEsb3V0cHV0OnN9fWNvbXBpbGVQcml2YXRlRGljdHMoZSx0LGkpe2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzOysrYSl7Y29uc3Qgcz1lW2FdLHI9cy5wcml2YXRlRGljdDtpZighcnx8IXMuaGFzTmFtZSgiUHJpdmF0ZSIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVGhlcmUgbXVzdCBiZSBhIHByaXZhdGUgZGljdGlvbmFyeS4iKTtjb25zdCBuPW5ldyBDRkZPZmZzZXRUcmFja2VyLGc9dGhpcy5jb21waWxlRGljdChyLG4pO2xldCBvPWkubGVuZ3RoO24ub2Zmc2V0KG8pO2cubGVuZ3RofHwobz0wKTt0W2FdLnNldEVudHJ5TG9jYXRpb24oIlByaXZhdGUiLFtnLmxlbmd0aCxvXSxpKTtpLmFkZChnKTtpZihyLnN1YnJzSW5kZXgmJnIuaGFzTmFtZSgiU3VicnMiKSl7Y29uc3QgZT10aGlzLmNvbXBpbGVJbmRleChyLnN1YnJzSW5kZXgpO24uc2V0RW50cnlMb2NhdGlvbigiU3VicnMiLFtnLmxlbmd0aF0saSk7aS5hZGQoZSl9fX1jb21waWxlRGljdChlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IGEgb2YgZS5vcmRlcil7aWYoIShhIGluIGUudmFsdWVzKSljb250aW51ZTtsZXQgcz1lLnZhbHVlc1thXSxyPWUudHlwZXNbYV07QXJyYXkuaXNBcnJheShyKXx8KHI9W3JdKTtBcnJheS5pc0FycmF5KHMpfHwocz1bc10pO2lmKDAhPT1zLmxlbmd0aCl7Zm9yKGxldCBuPTAsZz1yLmxlbmd0aDtuPGc7KytuKXtjb25zdCBnPXJbbl0sbz1zW25dO3N3aXRjaChnKXtjYXNlIm51bSI6Y2FzZSJzaWQiOmkucHVzaCguLi50aGlzLmVuY29kZU51bWJlcihvKSk7YnJlYWs7Y2FzZSJvZmZzZXQiOmNvbnN0IHI9ZS5rZXlUb05hbWVNYXBbYV07dC5pc1RyYWNraW5nKHIpfHx0LnRyYWNrKHIsaS5sZW5ndGgpO2kucHVzaCgyOSwwLDAsMCwwKTticmVhaztjYXNlImFycmF5IjpjYXNlImRlbHRhIjppLnB1c2goLi4udGhpcy5lbmNvZGVOdW1iZXIobykpO2ZvcihsZXQgZT0xLHQ9cy5sZW5ndGg7ZTx0OysrZSlpLnB1c2goLi4udGhpcy5lbmNvZGVOdW1iZXIoc1tlXSkpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIGRhdGEgdHlwZSBvZiAke2d9YCl9fWkucHVzaCguLi5lLm9wY29kZXNbYV0pfX1yZXR1cm4gaX1jb21waWxlU3RyaW5nSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGSW5kZXg7Zm9yKGNvbnN0IGkgb2YgZSl0LmFkZChzdHJpbmdUb0J5dGVzKGkpKTtyZXR1cm4gdGhpcy5jb21waWxlSW5kZXgodCl9Y29tcGlsZUNoYXJTdHJpbmdzKGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4O2ZvcihsZXQgaT0wO2k8ZS5jb3VudDtpKyspe2NvbnN0IGE9ZS5nZXQoaSk7MCE9PWEubGVuZ3RoP3QuYWRkKGEpOnQuYWRkKG5ldyBVaW50OEFycmF5KFsxMzksMTRdKSl9cmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KHQpfWNvbXBpbGVDaGFyc2V0KGUsdCxpLGEpe2xldCBzO2NvbnN0IHI9dC0xO2lmKGEpcz1uZXcgVWludDhBcnJheShbMiwwLDAscj4+OCYyNTUsMjU1JnJdKTtlbHNle3M9bmV3IFVpbnQ4QXJyYXkoMSsyKnIpO3NbMF09MDtsZXQgdD0wO2NvbnN0IGE9ZS5jaGFyc2V0Lmxlbmd0aDtsZXQgbj0hMTtmb3IobGV0IHI9MTtyPHMubGVuZ3RoO3IrPTIpe2xldCBnPTA7aWYodDxhKXtjb25zdCBhPWUuY2hhcnNldFt0KytdO2c9aS5nZXRTSUQoYSk7aWYoLTE9PT1nKXtnPTA7aWYoIW4pe249ITA7d2FybihgQ291bGRuJ3QgZmluZCAke2F9IGluIENGRiBzdHJpbmdzYCl9fX1zW3JdPWc+PjgmMjU1O3NbcisxXT0yNTUmZ319cmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkocyl9Y29tcGlsZUVuY29kaW5nKGUpe3JldHVybiB0aGlzLmNvbXBpbGVUeXBlZEFycmF5KGUucmF3KX1jb21waWxlRkRTZWxlY3QoZSl7Y29uc3QgdD1lLmZvcm1hdDtsZXQgaSxhO3N3aXRjaCh0KXtjYXNlIDA6aT1uZXcgVWludDhBcnJheSgxK2UuZmRTZWxlY3QubGVuZ3RoKTtpWzBdPXQ7Zm9yKGE9MDthPGUuZmRTZWxlY3QubGVuZ3RoO2ErKylpW2ErMV09ZS5mZFNlbGVjdFthXTticmVhaztjYXNlIDM6Y29uc3Qgcz0wO2xldCByPWUuZmRTZWxlY3RbMF07Y29uc3Qgbj1bdCwwLDAscz4+OCYyNTUsMjU1JnMscl07Zm9yKGE9MTthPGUuZmRTZWxlY3QubGVuZ3RoO2ErKyl7Y29uc3QgdD1lLmZkU2VsZWN0W2FdO2lmKHQhPT1yKXtuLnB1c2goYT4+OCYyNTUsMjU1JmEsdCk7cj10fX1jb25zdCBnPShuLmxlbmd0aC0zKS8zO25bMV09Zz4+OCYyNTU7blsyXT0yNTUmZztuLnB1c2goYT4+OCYyNTUsMjU1JmEpO2k9bmV3IFVpbnQ4QXJyYXkobil9cmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkoaSl9Y29tcGlsZVR5cGVkQXJyYXkoZSl7cmV0dXJuIEFycmF5LmZyb20oZSl9Y29tcGlsZUluZGV4KGUsdD1bXSl7Y29uc3QgaT1lLm9iamVjdHMsYT1pLmxlbmd0aDtpZigwPT09YSlyZXR1cm5bMCwwXTtjb25zdCBzPVthPj44JjI1NSwyNTUmYV07bGV0IHIsbixnPTE7Zm9yKHI9MDtyPGE7KytyKWcrPWlbcl0ubGVuZ3RoO249ZzwyNTY/MTpnPDY1NTM2PzI6ZzwxNjc3NzIxNj8zOjQ7cy5wdXNoKG4pO2xldCBvPTE7Zm9yKHI9MDtyPGErMTtyKyspezE9PT1uP3MucHVzaCgyNTUmbyk6Mj09PW4/cy5wdXNoKG8+PjgmMjU1LDI1NSZvKTozPT09bj9zLnB1c2gobz4+MTYmMjU1LG8+PjgmMjU1LDI1NSZvKTpzLnB1c2gobz4+PjI0JjI1NSxvPj4xNiYyNTUsbz4+OCYyNTUsMjU1Jm8pO2lbcl0mJihvKz1pW3JdLmxlbmd0aCl9Zm9yKHI9MDtyPGE7cisrKXt0W3JdJiZ0W3JdLm9mZnNldChzLmxlbmd0aCk7cy5wdXNoKC4uLmlbcl0pfXJldHVybiBzfX1jb25zdCB4aT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQT02NTtlLkFFPTE5ODtlLkFFYWN1dGU9NTA4O2UuQUVtYWNyb249NDgyO2UuQUVzbWFsbD02MzQ2MjtlLkFhY3V0ZT0xOTM7ZS5BYWN1dGVzbWFsbD02MzQ1NztlLkFicmV2ZT0yNTg7ZS5BYnJldmVhY3V0ZT03ODU0O2UuQWJyZXZlY3lyaWxsaWM9MTIzMjtlLkFicmV2ZWRvdGJlbG93PTc4NjI7ZS5BYnJldmVncmF2ZT03ODU2O2UuQWJyZXZlaG9va2Fib3ZlPTc4NTg7ZS5BYnJldmV0aWxkZT03ODYwO2UuQWNhcm9uPTQ2MTtlLkFjaXJjbGU9OTM5ODtlLkFjaXJjdW1mbGV4PTE5NDtlLkFjaXJjdW1mbGV4YWN1dGU9Nzg0NDtlLkFjaXJjdW1mbGV4ZG90YmVsb3c9Nzg1MjtlLkFjaXJjdW1mbGV4Z3JhdmU9Nzg0NjtlLkFjaXJjdW1mbGV4aG9va2Fib3ZlPTc4NDg7ZS5BY2lyY3VtZmxleHNtYWxsPTYzNDU4O2UuQWNpcmN1bWZsZXh0aWxkZT03ODUwO2UuQWN1dGU9NjMxNzc7ZS5BY3V0ZXNtYWxsPTYzNDEyO2UuQWN5cmlsbGljPTEwNDA7ZS5BZGJsZ3JhdmU9NTEyO2UuQWRpZXJlc2lzPTE5NjtlLkFkaWVyZXNpc2N5cmlsbGljPTEyMzQ7ZS5BZGllcmVzaXNtYWNyb249NDc4O2UuQWRpZXJlc2lzc21hbGw9NjM0NjA7ZS5BZG90YmVsb3c9Nzg0MDtlLkFkb3RtYWNyb249NDgwO2UuQWdyYXZlPTE5MjtlLkFncmF2ZXNtYWxsPTYzNDU2O2UuQWhvb2thYm92ZT03ODQyO2UuQWllY3lyaWxsaWM9MTIzNjtlLkFpbnZlcnRlZGJyZXZlPTUxNDtlLkFscGhhPTkxMztlLkFscGhhdG9ub3M9OTAyO2UuQW1hY3Jvbj0yNTY7ZS5BbW9ub3NwYWNlPTY1MzEzO2UuQW9nb25laz0yNjA7ZS5BcmluZz0xOTc7ZS5BcmluZ2FjdXRlPTUwNjtlLkFyaW5nYmVsb3c9NzY4MDtlLkFyaW5nc21hbGw9NjM0NjE7ZS5Bc21hbGw9NjMzMjk7ZS5BdGlsZGU9MTk1O2UuQXRpbGRlc21hbGw9NjM0NTk7ZS5BeWJhcm1lbmlhbj0xMzI5O2UuQj02NjtlLkJjaXJjbGU9OTM5OTtlLkJkb3RhY2NlbnQ9NzY4MjtlLkJkb3RiZWxvdz03Njg0O2UuQmVjeXJpbGxpYz0xMDQxO2UuQmVuYXJtZW5pYW49MTMzMDtlLkJldGE9OTE0O2UuQmhvb2s9Mzg1O2UuQmxpbmViZWxvdz03Njg2O2UuQm1vbm9zcGFjZT02NTMxNDtlLkJyZXZlc21hbGw9NjMyMjA7ZS5Cc21hbGw9NjMzMzA7ZS5CdG9wYmFyPTM4NjtlLkM9Njc7ZS5DYWFybWVuaWFuPTEzNDI7ZS5DYWN1dGU9MjYyO2UuQ2Fyb249NjMxNzg7ZS5DYXJvbnNtYWxsPTYzMjIxO2UuQ2Nhcm9uPTI2ODtlLkNjZWRpbGxhPTE5OTtlLkNjZWRpbGxhYWN1dGU9NzY4ODtlLkNjZWRpbGxhc21hbGw9NjM0NjM7ZS5DY2lyY2xlPTk0MDA7ZS5DY2lyY3VtZmxleD0yNjQ7ZS5DZG90PTI2NjtlLkNkb3RhY2NlbnQ9MjY2O2UuQ2VkaWxsYXNtYWxsPTYzNDE2O2UuQ2hhYXJtZW5pYW49MTM1MztlLkNoZWFia2hhc2lhbmN5cmlsbGljPTEyMTI7ZS5DaGVjeXJpbGxpYz0xMDYzO2UuQ2hlZGVzY2VuZGVyYWJraGFzaWFuY3lyaWxsaWM9MTIxNDtlLkNoZWRlc2NlbmRlcmN5cmlsbGljPTEyMDY7ZS5DaGVkaWVyZXNpc2N5cmlsbGljPTEyNjg7ZS5DaGVoYXJtZW5pYW49MTM0NztlLkNoZWtoYWthc3NpYW5jeXJpbGxpYz0xMjI3O2UuQ2hldmVydGljYWxzdHJva2VjeXJpbGxpYz0xMjA4O2UuQ2hpPTkzNTtlLkNob29rPTM5MTtlLkNpcmN1bWZsZXhzbWFsbD02MzIyMjtlLkNtb25vc3BhY2U9NjUzMTU7ZS5Db2FybWVuaWFuPTEzNjE7ZS5Dc21hbGw9NjMzMzE7ZS5EPTY4O2UuRFo9NDk3O2UuRFpjYXJvbj00NTI7ZS5EYWFybWVuaWFuPTEzMzI7ZS5EYWZyaWNhbj0zOTM7ZS5EY2Fyb249MjcwO2UuRGNlZGlsbGE9NzY5NjtlLkRjaXJjbGU9OTQwMTtlLkRjaXJjdW1mbGV4YmVsb3c9NzY5ODtlLkRjcm9hdD0yNzI7ZS5EZG90YWNjZW50PTc2OTA7ZS5EZG90YmVsb3c9NzY5MjtlLkRlY3lyaWxsaWM9MTA0NDtlLkRlaWNvcHRpYz0xMDA2O2UuRGVsdGE9ODcxMDtlLkRlbHRhZ3JlZWs9OTE2O2UuRGhvb2s9Mzk0O2UuRGllcmVzaXM9NjMxNzk7ZS5EaWVyZXNpc0FjdXRlPTYzMTgwO2UuRGllcmVzaXNHcmF2ZT02MzE4MTtlLkRpZXJlc2lzc21hbGw9NjM0MDA7ZS5EaWdhbW1hZ3JlZWs9OTg4O2UuRGplY3lyaWxsaWM9MTAyNjtlLkRsaW5lYmVsb3c9NzY5NDtlLkRtb25vc3BhY2U9NjUzMTY7ZS5Eb3RhY2NlbnRzbWFsbD02MzIyMztlLkRzbGFzaD0yNzI7ZS5Ec21hbGw9NjMzMzI7ZS5EdG9wYmFyPTM5NTtlLkR6PTQ5ODtlLkR6Y2Fyb249NDUzO2UuRHplYWJraGFzaWFuY3lyaWxsaWM9MTI0ODtlLkR6ZWN5cmlsbGljPTEwMjk7ZS5EemhlY3lyaWxsaWM9MTAzOTtlLkU9Njk7ZS5FYWN1dGU9MjAxO2UuRWFjdXRlc21hbGw9NjM0NjU7ZS5FYnJldmU9Mjc2O2UuRWNhcm9uPTI4MjtlLkVjZWRpbGxhYnJldmU9NzcwODtlLkVjaGFybWVuaWFuPTEzMzM7ZS5FY2lyY2xlPTk0MDI7ZS5FY2lyY3VtZmxleD0yMDI7ZS5FY2lyY3VtZmxleGFjdXRlPTc4NzA7ZS5FY2lyY3VtZmxleGJlbG93PTc3MDQ7ZS5FY2lyY3VtZmxleGRvdGJlbG93PTc4Nzg7ZS5FY2lyY3VtZmxleGdyYXZlPTc4NzI7ZS5FY2lyY3VtZmxleGhvb2thYm92ZT03ODc0O2UuRWNpcmN1bWZsZXhzbWFsbD02MzQ2NjtlLkVjaXJjdW1mbGV4dGlsZGU9Nzg3NjtlLkVjeXJpbGxpYz0xMDI4O2UuRWRibGdyYXZlPTUxNjtlLkVkaWVyZXNpcz0yMDM7ZS5FZGllcmVzaXNzbWFsbD02MzQ2NztlLkVkb3Q9Mjc4O2UuRWRvdGFjY2VudD0yNzg7ZS5FZG90YmVsb3c9Nzg2NDtlLkVmY3lyaWxsaWM9MTA2MDtlLkVncmF2ZT0yMDA7ZS5FZ3JhdmVzbWFsbD02MzQ2NDtlLkVoYXJtZW5pYW49MTMzNTtlLkVob29rYWJvdmU9Nzg2NjtlLkVpZ2h0cm9tYW49ODU1MTtlLkVpbnZlcnRlZGJyZXZlPTUxODtlLkVpb3RpZmllZGN5cmlsbGljPTExMjQ7ZS5FbGN5cmlsbGljPTEwNTE7ZS5FbGV2ZW5yb21hbj04NTU0O2UuRW1hY3Jvbj0yNzQ7ZS5FbWFjcm9uYWN1dGU9NzcwMjtlLkVtYWNyb25ncmF2ZT03NzAwO2UuRW1jeXJpbGxpYz0xMDUyO2UuRW1vbm9zcGFjZT02NTMxNztlLkVuY3lyaWxsaWM9MTA1MztlLkVuZGVzY2VuZGVyY3lyaWxsaWM9MTE4NjtlLkVuZz0zMzA7ZS5FbmdoZWN5cmlsbGljPTExODg7ZS5Fbmhvb2tjeXJpbGxpYz0xMjIzO2UuRW9nb25laz0yODA7ZS5Fb3Blbj00MDA7ZS5FcHNpbG9uPTkxNztlLkVwc2lsb250b25vcz05MDQ7ZS5FcmN5cmlsbGljPTEwNTY7ZS5FcmV2ZXJzZWQ9Mzk4O2UuRXJldmVyc2VkY3lyaWxsaWM9MTA2OTtlLkVzY3lyaWxsaWM9MTA1NztlLkVzZGVzY2VuZGVyY3lyaWxsaWM9MTE5NDtlLkVzaD00MjU7ZS5Fc21hbGw9NjMzMzM7ZS5FdGE9OTE5O2UuRXRhcm1lbmlhbj0xMzM2O2UuRXRhdG9ub3M9OTA1O2UuRXRoPTIwODtlLkV0aHNtYWxsPTYzNDcyO2UuRXRpbGRlPTc4Njg7ZS5FdGlsZGViZWxvdz03NzA2O2UuRXVybz04MzY0O2UuRXpoPTQzOTtlLkV6aGNhcm9uPTQ5NDtlLkV6aHJldmVyc2VkPTQ0MDtlLkY9NzA7ZS5GY2lyY2xlPTk0MDM7ZS5GZG90YWNjZW50PTc3MTA7ZS5GZWhhcm1lbmlhbj0xMzY2O2UuRmVpY29wdGljPTk5NjtlLkZob29rPTQwMTtlLkZpdGFjeXJpbGxpYz0xMTM4O2UuRml2ZXJvbWFuPTg1NDg7ZS5GbW9ub3NwYWNlPTY1MzE4O2UuRm91cnJvbWFuPTg1NDc7ZS5Gc21hbGw9NjMzMzQ7ZS5HPTcxO2UuR0JzcXVhcmU9MTMxOTE7ZS5HYWN1dGU9NTAwO2UuR2FtbWE9OTE1O2UuR2FtbWFhZnJpY2FuPTQwNDtlLkdhbmdpYWNvcHRpYz0xMDAyO2UuR2JyZXZlPTI4NjtlLkdjYXJvbj00ODY7ZS5HY2VkaWxsYT0yOTA7ZS5HY2lyY2xlPTk0MDQ7ZS5HY2lyY3VtZmxleD0yODQ7ZS5HY29tbWFhY2NlbnQ9MjkwO2UuR2RvdD0yODg7ZS5HZG90YWNjZW50PTI4ODtlLkdlY3lyaWxsaWM9MTA0MztlLkdoYWRhcm1lbmlhbj0xMzQ2O2UuR2hlbWlkZGxlaG9va2N5cmlsbGljPTExNzI7ZS5HaGVzdHJva2VjeXJpbGxpYz0xMTcwO2UuR2hldXB0dXJuY3lyaWxsaWM9MTE2ODtlLkdob29rPTQwMztlLkdpbWFybWVuaWFuPTEzMzE7ZS5HamVjeXJpbGxpYz0xMDI3O2UuR21hY3Jvbj03NzEyO2UuR21vbm9zcGFjZT02NTMxOTtlLkdyYXZlPTYzMTgyO2UuR3JhdmVzbWFsbD02MzMyODtlLkdzbWFsbD02MzMzNTtlLkdzbWFsbGhvb2s9NjY3O2UuR3N0cm9rZT00ODQ7ZS5IPTcyO2UuSDE4NTMzPTk2Nzk7ZS5IMTg1NDM9OTY0MjtlLkgxODU1MT05NjQzO2UuSDIyMDczPTk2MzM7ZS5IUHNxdWFyZT0xMzI1OTtlLkhhYWJraGFzaWFuY3lyaWxsaWM9MTE5MjtlLkhhZGVzY2VuZGVyY3lyaWxsaWM9MTIwMjtlLkhhcmRzaWduY3lyaWxsaWM9MTA2NjtlLkhiYXI9Mjk0O2UuSGJyZXZlYmVsb3c9NzcyMjtlLkhjZWRpbGxhPTc3MjA7ZS5IY2lyY2xlPTk0MDU7ZS5IY2lyY3VtZmxleD0yOTI7ZS5IZGllcmVzaXM9NzcxODtlLkhkb3RhY2NlbnQ9NzcxNDtlLkhkb3RiZWxvdz03NzE2O2UuSG1vbm9zcGFjZT02NTMyMDtlLkhvYXJtZW5pYW49MTM0NDtlLkhvcmljb3B0aWM9MWUzO2UuSHNtYWxsPTYzMzM2O2UuSHVuZ2FydW1sYXV0PTYzMTgzO2UuSHVuZ2FydW1sYXV0c21hbGw9NjMyMjQ7ZS5IenNxdWFyZT0xMzIwMDtlLkk9NzM7ZS5JQWN5cmlsbGljPTEwNzE7ZS5JSj0zMDY7ZS5JVWN5cmlsbGljPTEwNzA7ZS5JYWN1dGU9MjA1O2UuSWFjdXRlc21hbGw9NjM0Njk7ZS5JYnJldmU9MzAwO2UuSWNhcm9uPTQ2MztlLkljaXJjbGU9OTQwNjtlLkljaXJjdW1mbGV4PTIwNjtlLkljaXJjdW1mbGV4c21hbGw9NjM0NzA7ZS5JY3lyaWxsaWM9MTAzMDtlLklkYmxncmF2ZT01MjA7ZS5JZGllcmVzaXM9MjA3O2UuSWRpZXJlc2lzYWN1dGU9NzcyNjtlLklkaWVyZXNpc2N5cmlsbGljPTEyNTI7ZS5JZGllcmVzaXNzbWFsbD02MzQ3MTtlLklkb3Q9MzA0O2UuSWRvdGFjY2VudD0zMDQ7ZS5JZG90YmVsb3c9Nzg4MjtlLkllYnJldmVjeXJpbGxpYz0xMjM4O2UuSWVjeXJpbGxpYz0xMDQ1O2UuSWZyYWt0dXI9ODQ2NTtlLklncmF2ZT0yMDQ7ZS5JZ3JhdmVzbWFsbD02MzQ2ODtlLklob29rYWJvdmU9Nzg4MDtlLklpY3lyaWxsaWM9MTA0ODtlLklpbnZlcnRlZGJyZXZlPTUyMjtlLklpc2hvcnRjeXJpbGxpYz0xMDQ5O2UuSW1hY3Jvbj0yOTg7ZS5JbWFjcm9uY3lyaWxsaWM9MTI1MDtlLkltb25vc3BhY2U9NjUzMjE7ZS5Jbmlhcm1lbmlhbj0xMzM5O2UuSW9jeXJpbGxpYz0xMDI1O2UuSW9nb25laz0zMDI7ZS5Jb3RhPTkyMTtlLklvdGFhZnJpY2FuPTQwNjtlLklvdGFkaWVyZXNpcz05Mzg7ZS5Jb3RhdG9ub3M9OTA2O2UuSXNtYWxsPTYzMzM3O2UuSXN0cm9rZT00MDc7ZS5JdGlsZGU9Mjk2O2UuSXRpbGRlYmVsb3c9NzcyNDtlLkl6aGl0c2FjeXJpbGxpYz0xMTQwO2UuSXpoaXRzYWRibGdyYXZlY3lyaWxsaWM9MTE0MjtlLko9NzQ7ZS5KYWFybWVuaWFuPTEzNDU7ZS5KY2lyY2xlPTk0MDc7ZS5KY2lyY3VtZmxleD0zMDg7ZS5KZWN5cmlsbGljPTEwMzI7ZS5KaGVoYXJtZW5pYW49MTM1NTtlLkptb25vc3BhY2U9NjUzMjI7ZS5Kc21hbGw9NjMzMzg7ZS5LPTc1O2UuS0JzcXVhcmU9MTMxODk7ZS5LS3NxdWFyZT0xMzI2MTtlLkthYmFzaGtpcmN5cmlsbGljPTExODQ7ZS5LYWN1dGU9NzcyODtlLkthY3lyaWxsaWM9MTA1MDtlLkthZGVzY2VuZGVyY3lyaWxsaWM9MTE3ODtlLkthaG9va2N5cmlsbGljPTEyMTk7ZS5LYXBwYT05MjI7ZS5LYXN0cm9rZWN5cmlsbGljPTExODI7ZS5LYXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTE4MDtlLktjYXJvbj00ODg7ZS5LY2VkaWxsYT0zMTA7ZS5LY2lyY2xlPTk0MDg7ZS5LY29tbWFhY2NlbnQ9MzEwO2UuS2RvdGJlbG93PTc3MzA7ZS5LZWhhcm1lbmlhbj0xMzY0O2UuS2VuYXJtZW5pYW49MTM0MztlLktoYWN5cmlsbGljPTEwNjE7ZS5LaGVpY29wdGljPTk5ODtlLktob29rPTQwODtlLktqZWN5cmlsbGljPTEwMzY7ZS5LbGluZWJlbG93PTc3MzI7ZS5LbW9ub3NwYWNlPTY1MzIzO2UuS29wcGFjeXJpbGxpYz0xMTUyO2UuS29wcGFncmVlaz05OTA7ZS5Lc2ljeXJpbGxpYz0xMTM0O2UuS3NtYWxsPTYzMzM5O2UuTD03NjtlLkxKPTQ1NTtlLkxMPTYzMTY3O2UuTGFjdXRlPTMxMztlLkxhbWJkYT05MjM7ZS5MY2Fyb249MzE3O2UuTGNlZGlsbGE9MzE1O2UuTGNpcmNsZT05NDA5O2UuTGNpcmN1bWZsZXhiZWxvdz03NzQwO2UuTGNvbW1hYWNjZW50PTMxNTtlLkxkb3Q9MzE5O2UuTGRvdGFjY2VudD0zMTk7ZS5MZG90YmVsb3c9NzczNDtlLkxkb3RiZWxvd21hY3Jvbj03NzM2O2UuTGl3bmFybWVuaWFuPTEzNDA7ZS5Maj00NTY7ZS5MamVjeXJpbGxpYz0xMDMzO2UuTGxpbmViZWxvdz03NzM4O2UuTG1vbm9zcGFjZT02NTMyNDtlLkxzbGFzaD0zMjE7ZS5Mc2xhc2hzbWFsbD02MzIyNTtlLkxzbWFsbD02MzM0MDtlLk09Nzc7ZS5NQnNxdWFyZT0xMzE5MDtlLk1hY3Jvbj02MzE4NDtlLk1hY3JvbnNtYWxsPTYzNDA3O2UuTWFjdXRlPTc3NDI7ZS5NY2lyY2xlPTk0MTA7ZS5NZG90YWNjZW50PTc3NDQ7ZS5NZG90YmVsb3c9Nzc0NjtlLk1lbmFybWVuaWFuPTEzNDg7ZS5NbW9ub3NwYWNlPTY1MzI1O2UuTXNtYWxsPTYzMzQxO2UuTXR1cm5lZD00MTI7ZS5NdT05MjQ7ZS5OPTc4O2UuTko9NDU4O2UuTmFjdXRlPTMyMztlLk5jYXJvbj0zMjc7ZS5OY2VkaWxsYT0zMjU7ZS5OY2lyY2xlPTk0MTE7ZS5OY2lyY3VtZmxleGJlbG93PTc3NTQ7ZS5OY29tbWFhY2NlbnQ9MzI1O2UuTmRvdGFjY2VudD03NzQ4O2UuTmRvdGJlbG93PTc3NTA7ZS5OaG9va2xlZnQ9NDEzO2UuTmluZXJvbWFuPTg1NTI7ZS5Oaj00NTk7ZS5OamVjeXJpbGxpYz0xMDM0O2UuTmxpbmViZWxvdz03NzUyO2UuTm1vbm9zcGFjZT02NTMyNjtlLk5vd2FybWVuaWFuPTEzNTA7ZS5Oc21hbGw9NjMzNDI7ZS5OdGlsZGU9MjA5O2UuTnRpbGRlc21hbGw9NjM0NzM7ZS5OdT05MjU7ZS5PPTc5O2UuT0U9MzM4O2UuT0VzbWFsbD02MzIyNjtlLk9hY3V0ZT0yMTE7ZS5PYWN1dGVzbWFsbD02MzQ3NTtlLk9iYXJyZWRjeXJpbGxpYz0xMjU2O2UuT2JhcnJlZGRpZXJlc2lzY3lyaWxsaWM9MTI1ODtlLk9icmV2ZT0zMzQ7ZS5PY2Fyb249NDY1O2UuT2NlbnRlcmVkdGlsZGU9NDE1O2UuT2NpcmNsZT05NDEyO2UuT2NpcmN1bWZsZXg9MjEyO2UuT2NpcmN1bWZsZXhhY3V0ZT03ODg4O2UuT2NpcmN1bWZsZXhkb3RiZWxvdz03ODk2O2UuT2NpcmN1bWZsZXhncmF2ZT03ODkwO2UuT2NpcmN1bWZsZXhob29rYWJvdmU9Nzg5MjtlLk9jaXJjdW1mbGV4c21hbGw9NjM0NzY7ZS5PY2lyY3VtZmxleHRpbGRlPTc4OTQ7ZS5PY3lyaWxsaWM9MTA1NDtlLk9kYmxhY3V0ZT0zMzY7ZS5PZGJsZ3JhdmU9NTI0O2UuT2RpZXJlc2lzPTIxNDtlLk9kaWVyZXNpc2N5cmlsbGljPTEyNTQ7ZS5PZGllcmVzaXNzbWFsbD02MzQ3ODtlLk9kb3RiZWxvdz03ODg0O2UuT2dvbmVrc21hbGw9NjMyMjc7ZS5PZ3JhdmU9MjEwO2UuT2dyYXZlc21hbGw9NjM0NzQ7ZS5PaGFybWVuaWFuPTEzNjU7ZS5PaG09ODQ4NjtlLk9ob29rYWJvdmU9Nzg4NjtlLk9ob3JuPTQxNjtlLk9ob3JuYWN1dGU9Nzg5ODtlLk9ob3JuZG90YmVsb3c9NzkwNjtlLk9ob3JuZ3JhdmU9NzkwMDtlLk9ob3JuaG9va2Fib3ZlPTc5MDI7ZS5PaG9ybnRpbGRlPTc5MDQ7ZS5PaHVuZ2FydW1sYXV0PTMzNjtlLk9pPTQxODtlLk9pbnZlcnRlZGJyZXZlPTUyNjtlLk9tYWNyb249MzMyO2UuT21hY3JvbmFjdXRlPTc3NjI7ZS5PbWFjcm9uZ3JhdmU9Nzc2MDtlLk9tZWdhPTg0ODY7ZS5PbWVnYWN5cmlsbGljPTExMjA7ZS5PbWVnYWdyZWVrPTkzNztlLk9tZWdhcm91bmRjeXJpbGxpYz0xMTQ2O2UuT21lZ2F0aXRsb2N5cmlsbGljPTExNDg7ZS5PbWVnYXRvbm9zPTkxMTtlLk9taWNyb249OTI3O2UuT21pY3JvbnRvbm9zPTkwODtlLk9tb25vc3BhY2U9NjUzMjc7ZS5PbmVyb21hbj04NTQ0O2UuT29nb25laz00OTA7ZS5Pb2dvbmVrbWFjcm9uPTQ5MjtlLk9vcGVuPTM5MDtlLk9zbGFzaD0yMTY7ZS5Pc2xhc2hhY3V0ZT01MTA7ZS5Pc2xhc2hzbWFsbD02MzQ4MDtlLk9zbWFsbD02MzM0MztlLk9zdHJva2VhY3V0ZT01MTA7ZS5PdGN5cmlsbGljPTExNTA7ZS5PdGlsZGU9MjEzO2UuT3RpbGRlYWN1dGU9Nzc1NjtlLk90aWxkZWRpZXJlc2lzPTc3NTg7ZS5PdGlsZGVzbWFsbD02MzQ3NztlLlA9ODA7ZS5QYWN1dGU9Nzc2NDtlLlBjaXJjbGU9OTQxMztlLlBkb3RhY2NlbnQ9Nzc2NjtlLlBlY3lyaWxsaWM9MTA1NTtlLlBlaGFybWVuaWFuPTEzNTQ7ZS5QZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTkwO2UuUGhpPTkzNDtlLlBob29rPTQyMDtlLlBpPTkyODtlLlBpd3Jhcm1lbmlhbj0xMzYzO2UuUG1vbm9zcGFjZT02NTMyODtlLlBzaT05MzY7ZS5Qc2ljeXJpbGxpYz0xMTM2O2UuUHNtYWxsPTYzMzQ0O2UuUT04MTtlLlFjaXJjbGU9OTQxNDtlLlFtb25vc3BhY2U9NjUzMjk7ZS5Rc21hbGw9NjMzNDU7ZS5SPTgyO2UuUmFhcm1lbmlhbj0xMzU2O2UuUmFjdXRlPTM0MDtlLlJjYXJvbj0zNDQ7ZS5SY2VkaWxsYT0zNDI7ZS5SY2lyY2xlPTk0MTU7ZS5SY29tbWFhY2NlbnQ9MzQyO2UuUmRibGdyYXZlPTUyODtlLlJkb3RhY2NlbnQ9Nzc2ODtlLlJkb3RiZWxvdz03NzcwO2UuUmRvdGJlbG93bWFjcm9uPTc3NzI7ZS5SZWhhcm1lbmlhbj0xMzYwO2UuUmZyYWt0dXI9ODQ3NjtlLlJobz05Mjk7ZS5SaW5nc21hbGw9NjMyMjg7ZS5SaW52ZXJ0ZWRicmV2ZT01MzA7ZS5SbGluZWJlbG93PTc3NzQ7ZS5SbW9ub3NwYWNlPTY1MzMwO2UuUnNtYWxsPTYzMzQ2O2UuUnNtYWxsaW52ZXJ0ZWQ9NjQxO2UuUnNtYWxsaW52ZXJ0ZWRzdXBlcmlvcj02OTQ7ZS5TPTgzO2UuU0YwMTAwMDA9OTQ4NDtlLlNGMDIwMDAwPTk0OTI7ZS5TRjAzMDAwMD05NDg4O2UuU0YwNDAwMDA9OTQ5NjtlLlNGMDUwMDAwPTk1MzI7ZS5TRjA2MDAwMD05NTE2O2UuU0YwNzAwMDA9OTUyNDtlLlNGMDgwMDAwPTk1MDA7ZS5TRjA5MDAwMD05NTA4O2UuU0YxMDAwMDA9OTQ3MjtlLlNGMTEwMDAwPTk0NzQ7ZS5TRjE5MDAwMD05NTY5O2UuU0YyMDAwMDA9OTU3MDtlLlNGMjEwMDAwPTk1NTg7ZS5TRjIyMDAwMD05NTU3O2UuU0YyMzAwMDA9OTU3MTtlLlNGMjQwMDAwPTk1NTM7ZS5TRjI1MDAwMD05NTU5O2UuU0YyNjAwMDA9OTU2NTtlLlNGMjcwMDAwPTk1NjQ7ZS5TRjI4MDAwMD05NTYzO2UuU0YzNjAwMDA9OTU2NjtlLlNGMzcwMDAwPTk1Njc7ZS5TRjM4MDAwMD05NTYyO2UuU0YzOTAwMDA9OTU1NjtlLlNGNDAwMDAwPTk1Nzc7ZS5TRjQxMDAwMD05NTc0O2UuU0Y0MjAwMDA9OTU2ODtlLlNGNDMwMDAwPTk1NTI7ZS5TRjQ0MDAwMD05NTgwO2UuU0Y0NTAwMDA9OTU3NTtlLlNGNDYwMDAwPTk1NzY7ZS5TRjQ3MDAwMD05NTcyO2UuU0Y0ODAwMDA9OTU3MztlLlNGNDkwMDAwPTk1NjE7ZS5TRjUwMDAwMD05NTYwO2UuU0Y1MTAwMDA9OTU1NDtlLlNGNTIwMDAwPTk1NTU7ZS5TRjUzMDAwMD05NTc5O2UuU0Y1NDAwMDA9OTU3ODtlLlNhY3V0ZT0zNDY7ZS5TYWN1dGVkb3RhY2NlbnQ9Nzc4MDtlLlNhbXBpZ3JlZWs9OTkyO2UuU2Nhcm9uPTM1MjtlLlNjYXJvbmRvdGFjY2VudD03NzgyO2UuU2Nhcm9uc21hbGw9NjMyMjk7ZS5TY2VkaWxsYT0zNTA7ZS5TY2h3YT0zOTk7ZS5TY2h3YWN5cmlsbGljPTEyNDA7ZS5TY2h3YWRpZXJlc2lzY3lyaWxsaWM9MTI0MjtlLlNjaXJjbGU9OTQxNjtlLlNjaXJjdW1mbGV4PTM0ODtlLlNjb21tYWFjY2VudD01MzY7ZS5TZG90YWNjZW50PTc3NzY7ZS5TZG90YmVsb3c9Nzc3ODtlLlNkb3RiZWxvd2RvdGFjY2VudD03Nzg0O2UuU2VoYXJtZW5pYW49MTM1NztlLlNldmVucm9tYW49ODU1MDtlLlNoYWFybWVuaWFuPTEzNTE7ZS5TaGFjeXJpbGxpYz0xMDY0O2UuU2hjaGFjeXJpbGxpYz0xMDY1O2UuU2hlaWNvcHRpYz05OTQ7ZS5TaGhhY3lyaWxsaWM9MTIxMDtlLlNoaW1hY29wdGljPTEwMDQ7ZS5TaWdtYT05MzE7ZS5TaXhyb21hbj04NTQ5O2UuU21vbm9zcGFjZT02NTMzMTtlLlNvZnRzaWduY3lyaWxsaWM9MTA2ODtlLlNzbWFsbD02MzM0NztlLlN0aWdtYWdyZWVrPTk4NjtlLlQ9ODQ7ZS5UYXU9OTMyO2UuVGJhcj0zNTg7ZS5UY2Fyb249MzU2O2UuVGNlZGlsbGE9MzU0O2UuVGNpcmNsZT05NDE3O2UuVGNpcmN1bWZsZXhiZWxvdz03NzkyO2UuVGNvbW1hYWNjZW50PTM1NDtlLlRkb3RhY2NlbnQ9Nzc4NjtlLlRkb3RiZWxvdz03Nzg4O2UuVGVjeXJpbGxpYz0xMDU4O2UuVGVkZXNjZW5kZXJjeXJpbGxpYz0xMTk2O2UuVGVucm9tYW49ODU1MztlLlRldHNlY3lyaWxsaWM9MTIwNDtlLlRoZXRhPTkyMDtlLlRob29rPTQyODtlLlRob3JuPTIyMjtlLlRob3Juc21hbGw9NjM0ODY7ZS5UaHJlZXJvbWFuPTg1NDY7ZS5UaWxkZXNtYWxsPTYzMjMwO2UuVGl3bmFybWVuaWFuPTEzNTk7ZS5UbGluZWJlbG93PTc3OTA7ZS5UbW9ub3NwYWNlPTY1MzMyO2UuVG9hcm1lbmlhbj0xMzM3O2UuVG9uZWZpdmU9NDQ0O2UuVG9uZXNpeD0zODg7ZS5Ub25ldHdvPTQyMztlLlRyZXRyb2ZsZXhob29rPTQzMDtlLlRzZWN5cmlsbGljPTEwNjI7ZS5Uc2hlY3lyaWxsaWM9MTAzNTtlLlRzbWFsbD02MzM0ODtlLlR3ZWx2ZXJvbWFuPTg1NTU7ZS5Ud29yb21hbj04NTQ1O2UuVT04NTtlLlVhY3V0ZT0yMTg7ZS5VYWN1dGVzbWFsbD02MzQ4MjtlLlVicmV2ZT0zNjQ7ZS5VY2Fyb249NDY3O2UuVWNpcmNsZT05NDE4O2UuVWNpcmN1bWZsZXg9MjE5O2UuVWNpcmN1bWZsZXhiZWxvdz03Nzk4O2UuVWNpcmN1bWZsZXhzbWFsbD02MzQ4MztlLlVjeXJpbGxpYz0xMDU5O2UuVWRibGFjdXRlPTM2ODtlLlVkYmxncmF2ZT01MzI7ZS5VZGllcmVzaXM9MjIwO2UuVWRpZXJlc2lzYWN1dGU9NDcxO2UuVWRpZXJlc2lzYmVsb3c9Nzc5NDtlLlVkaWVyZXNpc2Nhcm9uPTQ3MztlLlVkaWVyZXNpc2N5cmlsbGljPTEyNjQ7ZS5VZGllcmVzaXNncmF2ZT00NzU7ZS5VZGllcmVzaXNtYWNyb249NDY5O2UuVWRpZXJlc2lzc21hbGw9NjM0ODQ7ZS5VZG90YmVsb3c9NzkwODtlLlVncmF2ZT0yMTc7ZS5VZ3JhdmVzbWFsbD02MzQ4MTtlLlVob29rYWJvdmU9NzkxMDtlLlVob3JuPTQzMTtlLlVob3JuYWN1dGU9NzkxMjtlLlVob3JuZG90YmVsb3c9NzkyMDtlLlVob3JuZ3JhdmU9NzkxNDtlLlVob3JuaG9va2Fib3ZlPTc5MTY7ZS5VaG9ybnRpbGRlPTc5MTg7ZS5VaHVuZ2FydW1sYXV0PTM2ODtlLlVodW5nYXJ1bWxhdXRjeXJpbGxpYz0xMjY2O2UuVWludmVydGVkYnJldmU9NTM0O2UuVWtjeXJpbGxpYz0xMTQ0O2UuVW1hY3Jvbj0zNjI7ZS5VbWFjcm9uY3lyaWxsaWM9MTI2MjtlLlVtYWNyb25kaWVyZXNpcz03ODAyO2UuVW1vbm9zcGFjZT02NTMzMztlLlVvZ29uZWs9MzcwO2UuVXBzaWxvbj05MzM7ZS5VcHNpbG9uMT05Nzg7ZS5VcHNpbG9uYWN1dGVob29rc3ltYm9sZ3JlZWs9OTc5O2UuVXBzaWxvbmFmcmljYW49NDMzO2UuVXBzaWxvbmRpZXJlc2lzPTkzOTtlLlVwc2lsb25kaWVyZXNpc2hvb2tzeW1ib2xncmVlaz05ODA7ZS5VcHNpbG9uaG9va3N5bWJvbD05Nzg7ZS5VcHNpbG9udG9ub3M9OTEwO2UuVXJpbmc9MzY2O2UuVXNob3J0Y3lyaWxsaWM9MTAzODtlLlVzbWFsbD02MzM0OTtlLlVzdHJhaWdodGN5cmlsbGljPTExOTg7ZS5Vc3RyYWlnaHRzdHJva2VjeXJpbGxpYz0xMjAwO2UuVXRpbGRlPTM2MDtlLlV0aWxkZWFjdXRlPTc4MDA7ZS5VdGlsZGViZWxvdz03Nzk2O2UuVj04NjtlLlZjaXJjbGU9OTQxOTtlLlZkb3RiZWxvdz03ODA2O2UuVmVjeXJpbGxpYz0xMDQyO2UuVmV3YXJtZW5pYW49MTM1ODtlLlZob29rPTQzNDtlLlZtb25vc3BhY2U9NjUzMzQ7ZS5Wb2FybWVuaWFuPTEzNTI7ZS5Wc21hbGw9NjMzNTA7ZS5WdGlsZGU9NzgwNDtlLlc9ODc7ZS5XYWN1dGU9NzgxMDtlLldjaXJjbGU9OTQyMDtlLldjaXJjdW1mbGV4PTM3MjtlLldkaWVyZXNpcz03ODEyO2UuV2RvdGFjY2VudD03ODE0O2UuV2RvdGJlbG93PTc4MTY7ZS5XZ3JhdmU9NzgwODtlLldtb25vc3BhY2U9NjUzMzU7ZS5Xc21hbGw9NjMzNTE7ZS5YPTg4O2UuWGNpcmNsZT05NDIxO2UuWGRpZXJlc2lzPTc4MjA7ZS5YZG90YWNjZW50PTc4MTg7ZS5YZWhhcm1lbmlhbj0xMzQxO2UuWGk9OTI2O2UuWG1vbm9zcGFjZT02NTMzNjtlLlhzbWFsbD02MzM1MjtlLlk9ODk7ZS5ZYWN1dGU9MjIxO2UuWWFjdXRlc21hbGw9NjM0ODU7ZS5ZYXRjeXJpbGxpYz0xMTIyO2UuWWNpcmNsZT05NDIyO2UuWWNpcmN1bWZsZXg9Mzc0O2UuWWRpZXJlc2lzPTM3NjtlLllkaWVyZXNpc3NtYWxsPTYzNDg3O2UuWWRvdGFjY2VudD03ODIyO2UuWWRvdGJlbG93PTc5MjQ7ZS5ZZXJpY3lyaWxsaWM9MTA2NztlLlllcnVkaWVyZXNpc2N5cmlsbGljPTEyNzI7ZS5ZZ3JhdmU9NzkyMjtlLllob29rPTQzNTtlLllob29rYWJvdmU9NzkyNjtlLllpYXJtZW5pYW49MTM0OTtlLllpY3lyaWxsaWM9MTAzMTtlLllpd25hcm1lbmlhbj0xMzYyO2UuWW1vbm9zcGFjZT02NTMzNztlLllzbWFsbD02MzM1MztlLll0aWxkZT03OTI4O2UuWXVzYmlnY3lyaWxsaWM9MTEzMDtlLll1c2JpZ2lvdGlmaWVkY3lyaWxsaWM9MTEzMjtlLll1c2xpdHRsZWN5cmlsbGljPTExMjY7ZS5ZdXNsaXR0bGVpb3RpZmllZGN5cmlsbGljPTExMjg7ZS5aPTkwO2UuWmFhcm1lbmlhbj0xMzM0O2UuWmFjdXRlPTM3NztlLlpjYXJvbj0zODE7ZS5aY2Fyb25zbWFsbD02MzIzMTtlLlpjaXJjbGU9OTQyMztlLlpjaXJjdW1mbGV4PTc4MjQ7ZS5aZG90PTM3OTtlLlpkb3RhY2NlbnQ9Mzc5O2UuWmRvdGJlbG93PTc4MjY7ZS5aZWN5cmlsbGljPTEwNDc7ZS5aZWRlc2NlbmRlcmN5cmlsbGljPTExNzY7ZS5aZWRpZXJlc2lzY3lyaWxsaWM9MTI0NjtlLlpldGE9OTE4O2UuWmhlYXJtZW5pYW49MTMzODtlLlpoZWJyZXZlY3lyaWxsaWM9MTIxNztlLlpoZWN5cmlsbGljPTEwNDY7ZS5aaGVkZXNjZW5kZXJjeXJpbGxpYz0xMTc0O2UuWmhlZGllcmVzaXNjeXJpbGxpYz0xMjQ0O2UuWmxpbmViZWxvdz03ODI4O2UuWm1vbm9zcGFjZT02NTMzODtlLlpzbWFsbD02MzM1NDtlLlpzdHJva2U9NDM3O2UuYT05NztlLmFhYmVuZ2FsaT0yNDM4O2UuYWFjdXRlPTIyNTtlLmFhZGV2YT0yMzEwO2UuYWFndWphcmF0aT0yNjk0O2UuYWFndXJtdWtoaT0yNTY2O2UuYWFtYXRyYWd1cm11a2hpPTI2MjI7ZS5hYXJ1c3F1YXJlPTEzMDU5O2UuYWF2b3dlbHNpZ25iZW5nYWxpPTI0OTQ7ZS5hYXZvd2Vsc2lnbmRldmE9MjM2NjtlLmFhdm93ZWxzaWduZ3VqYXJhdGk9Mjc1MDtlLmFiYnJldmlhdGlvbm1hcmthcm1lbmlhbj0xMzc1O2UuYWJicmV2aWF0aW9uc2lnbmRldmE9MjQxNjtlLmFiZW5nYWxpPTI0Mzc7ZS5hYm9wb21vZm89MTI1NzA7ZS5hYnJldmU9MjU5O2UuYWJyZXZlYWN1dGU9Nzg1NTtlLmFicmV2ZWN5cmlsbGljPTEyMzM7ZS5hYnJldmVkb3RiZWxvdz03ODYzO2UuYWJyZXZlZ3JhdmU9Nzg1NztlLmFicmV2ZWhvb2thYm92ZT03ODU5O2UuYWJyZXZldGlsZGU9Nzg2MTtlLmFjYXJvbj00NjI7ZS5hY2lyY2xlPTk0MjQ7ZS5hY2lyY3VtZmxleD0yMjY7ZS5hY2lyY3VtZmxleGFjdXRlPTc4NDU7ZS5hY2lyY3VtZmxleGRvdGJlbG93PTc4NTM7ZS5hY2lyY3VtZmxleGdyYXZlPTc4NDc7ZS5hY2lyY3VtZmxleGhvb2thYm92ZT03ODQ5O2UuYWNpcmN1bWZsZXh0aWxkZT03ODUxO2UuYWN1dGU9MTgwO2UuYWN1dGViZWxvd2NtYj03OTE7ZS5hY3V0ZWNtYj03Njk7ZS5hY3V0ZWNvbWI9NzY5O2UuYWN1dGVkZXZhPTIzODg7ZS5hY3V0ZWxvd21vZD03MTk7ZS5hY3V0ZXRvbmVjbWI9ODMzO2UuYWN5cmlsbGljPTEwNzI7ZS5hZGJsZ3JhdmU9NTEzO2UuYWRkYWtndXJtdWtoaT0yNjczO2UuYWRldmE9MjMwOTtlLmFkaWVyZXNpcz0yMjg7ZS5hZGllcmVzaXNjeXJpbGxpYz0xMjM1O2UuYWRpZXJlc2lzbWFjcm9uPTQ3OTtlLmFkb3RiZWxvdz03ODQxO2UuYWRvdG1hY3Jvbj00ODE7ZS5hZT0yMzA7ZS5hZWFjdXRlPTUwOTtlLmFla29yZWFuPTEyNjI0O2UuYWVtYWNyb249NDgzO2UuYWZpaTAwMjA4PTgyMTM7ZS5hZmlpMDg5NDE9ODM1NjtlLmFmaWkxMDAxNz0xMDQwO2UuYWZpaTEwMDE4PTEwNDE7ZS5hZmlpMTAwMTk9MTA0MjtlLmFmaWkxMDAyMD0xMDQzO2UuYWZpaTEwMDIxPTEwNDQ7ZS5hZmlpMTAwMjI9MTA0NTtlLmFmaWkxMDAyMz0xMDI1O2UuYWZpaTEwMDI0PTEwNDY7ZS5hZmlpMTAwMjU9MTA0NztlLmFmaWkxMDAyNj0xMDQ4O2UuYWZpaTEwMDI3PTEwNDk7ZS5hZmlpMTAwMjg9MTA1MDtlLmFmaWkxMDAyOT0xMDUxO2UuYWZpaTEwMDMwPTEwNTI7ZS5hZmlpMTAwMzE9MTA1MztlLmFmaWkxMDAzMj0xMDU0O2UuYWZpaTEwMDMzPTEwNTU7ZS5hZmlpMTAwMzQ9MTA1NjtlLmFmaWkxMDAzNT0xMDU3O2UuYWZpaTEwMDM2PTEwNTg7ZS5hZmlpMTAwMzc9MTA1OTtlLmFmaWkxMDAzOD0xMDYwO2UuYWZpaTEwMDM5PTEwNjE7ZS5hZmlpMTAwNDA9MTA2MjtlLmFmaWkxMDA0MT0xMDYzO2UuYWZpaTEwMDQyPTEwNjQ7ZS5hZmlpMTAwNDM9MTA2NTtlLmFmaWkxMDA0ND0xMDY2O2UuYWZpaTEwMDQ1PTEwNjc7ZS5hZmlpMTAwNDY9MTA2ODtlLmFmaWkxMDA0Nz0xMDY5O2UuYWZpaTEwMDQ4PTEwNzA7ZS5hZmlpMTAwNDk9MTA3MTtlLmFmaWkxMDA1MD0xMTY4O2UuYWZpaTEwMDUxPTEwMjY7ZS5hZmlpMTAwNTI9MTAyNztlLmFmaWkxMDA1Mz0xMDI4O2UuYWZpaTEwMDU0PTEwMjk7ZS5hZmlpMTAwNTU9MTAzMDtlLmFmaWkxMDA1Nj0xMDMxO2UuYWZpaTEwMDU3PTEwMzI7ZS5hZmlpMTAwNTg9MTAzMztlLmFmaWkxMDA1OT0xMDM0O2UuYWZpaTEwMDYwPTEwMzU7ZS5hZmlpMTAwNjE9MTAzNjtlLmFmaWkxMDA2Mj0xMDM4O2UuYWZpaTEwMDYzPTYzMTcyO2UuYWZpaTEwMDY0PTYzMTczO2UuYWZpaTEwMDY1PTEwNzI7ZS5hZmlpMTAwNjY9MTA3MztlLmFmaWkxMDA2Nz0xMDc0O2UuYWZpaTEwMDY4PTEwNzU7ZS5hZmlpMTAwNjk9MTA3NjtlLmFmaWkxMDA3MD0xMDc3O2UuYWZpaTEwMDcxPTExMDU7ZS5hZmlpMTAwNzI9MTA3ODtlLmFmaWkxMDA3Mz0xMDc5O2UuYWZpaTEwMDc0PTEwODA7ZS5hZmlpMTAwNzU9MTA4MTtlLmFmaWkxMDA3Nj0xMDgyO2UuYWZpaTEwMDc3PTEwODM7ZS5hZmlpMTAwNzg9MTA4NDtlLmFmaWkxMDA3OT0xMDg1O2UuYWZpaTEwMDgwPTEwODY7ZS5hZmlpMTAwODE9MTA4NztlLmFmaWkxMDA4Mj0xMDg4O2UuYWZpaTEwMDgzPTEwODk7ZS5hZmlpMTAwODQ9MTA5MDtlLmFmaWkxMDA4NT0xMDkxO2UuYWZpaTEwMDg2PTEwOTI7ZS5hZmlpMTAwODc9MTA5MztlLmFmaWkxMDA4OD0xMDk0O2UuYWZpaTEwMDg5PTEwOTU7ZS5hZmlpMTAwOTA9MTA5NjtlLmFmaWkxMDA5MT0xMDk3O2UuYWZpaTEwMDkyPTEwOTg7ZS5hZmlpMTAwOTM9MTA5OTtlLmFmaWkxMDA5ND0xMTAwO2UuYWZpaTEwMDk1PTExMDE7ZS5hZmlpMTAwOTY9MTEwMjtlLmFmaWkxMDA5Nz0xMTAzO2UuYWZpaTEwMDk4PTExNjk7ZS5hZmlpMTAwOTk9MTEwNjtlLmFmaWkxMDEwMD0xMTA3O2UuYWZpaTEwMTAxPTExMDg7ZS5hZmlpMTAxMDI9MTEwOTtlLmFmaWkxMDEwMz0xMTEwO2UuYWZpaTEwMTA0PTExMTE7ZS5hZmlpMTAxMDU9MTExMjtlLmFmaWkxMDEwNj0xMTEzO2UuYWZpaTEwMTA3PTExMTQ7ZS5hZmlpMTAxMDg9MTExNTtlLmFmaWkxMDEwOT0xMTE2O2UuYWZpaTEwMTEwPTExMTg7ZS5hZmlpMTAxNDU9MTAzOTtlLmFmaWkxMDE0Nj0xMTIyO2UuYWZpaTEwMTQ3PTExMzg7ZS5hZmlpMTAxNDg9MTE0MDtlLmFmaWkxMDE5Mj02MzE3NDtlLmFmaWkxMDE5Mz0xMTE5O2UuYWZpaTEwMTk0PTExMjM7ZS5hZmlpMTAxOTU9MTEzOTtlLmFmaWkxMDE5Nj0xMTQxO2UuYWZpaTEwODMxPTYzMTc1O2UuYWZpaTEwODMyPTYzMTc2O2UuYWZpaTEwODQ2PTEyNDE7ZS5hZmlpMjk5PTgyMDY7ZS5hZmlpMzAwPTgyMDc7ZS5hZmlpMzAxPTgyMDU7ZS5hZmlpNTczODE9MTY0MjtlLmFmaWk1NzM4OD0xNTQ4O2UuYWZpaTU3MzkyPTE2MzI7ZS5hZmlpNTczOTM9MTYzMztlLmFmaWk1NzM5ND0xNjM0O2UuYWZpaTU3Mzk1PTE2MzU7ZS5hZmlpNTczOTY9MTYzNjtlLmFmaWk1NzM5Nz0xNjM3O2UuYWZpaTU3Mzk4PTE2Mzg7ZS5hZmlpNTczOTk9MTYzOTtlLmFmaWk1NzQwMD0xNjQwO2UuYWZpaTU3NDAxPTE2NDE7ZS5hZmlpNTc0MDM9MTU2MztlLmFmaWk1NzQwNz0xNTY3O2UuYWZpaTU3NDA5PTE1Njk7ZS5hZmlpNTc0MTA9MTU3MDtlLmFmaWk1NzQxMT0xNTcxO2UuYWZpaTU3NDEyPTE1NzI7ZS5hZmlpNTc0MTM9MTU3MztlLmFmaWk1NzQxND0xNTc0O2UuYWZpaTU3NDE1PTE1NzU7ZS5hZmlpNTc0MTY9MTU3NjtlLmFmaWk1NzQxNz0xNTc3O2UuYWZpaTU3NDE4PTE1Nzg7ZS5hZmlpNTc0MTk9MTU3OTtlLmFmaWk1NzQyMD0xNTgwO2UuYWZpaTU3NDIxPTE1ODE7ZS5hZmlpNTc0MjI9MTU4MjtlLmFmaWk1NzQyMz0xNTgzO2UuYWZpaTU3NDI0PTE1ODQ7ZS5hZmlpNTc0MjU9MTU4NTtlLmFmaWk1NzQyNj0xNTg2O2UuYWZpaTU3NDI3PTE1ODc7ZS5hZmlpNTc0Mjg9MTU4ODtlLmFmaWk1NzQyOT0xNTg5O2UuYWZpaTU3NDMwPTE1OTA7ZS5hZmlpNTc0MzE9MTU5MTtlLmFmaWk1NzQzMj0xNTkyO2UuYWZpaTU3NDMzPTE1OTM7ZS5hZmlpNTc0MzQ9MTU5NDtlLmFmaWk1NzQ0MD0xNjAwO2UuYWZpaTU3NDQxPTE2MDE7ZS5hZmlpNTc0NDI9MTYwMjtlLmFmaWk1NzQ0Mz0xNjAzO2UuYWZpaTU3NDQ0PTE2MDQ7ZS5hZmlpNTc0NDU9MTYwNTtlLmFmaWk1NzQ0Nj0xNjA2O2UuYWZpaTU3NDQ4PTE2MDg7ZS5hZmlpNTc0NDk9MTYwOTtlLmFmaWk1NzQ1MD0xNjEwO2UuYWZpaTU3NDUxPTE2MTE7ZS5hZmlpNTc0NTI9MTYxMjtlLmFmaWk1NzQ1Mz0xNjEzO2UuYWZpaTU3NDU0PTE2MTQ7ZS5hZmlpNTc0NTU9MTYxNTtlLmFmaWk1NzQ1Nj0xNjE2O2UuYWZpaTU3NDU3PTE2MTc7ZS5hZmlpNTc0NTg9MTYxODtlLmFmaWk1NzQ3MD0xNjA3O2UuYWZpaTU3NTA1PTE3MDA7ZS5hZmlpNTc1MDY9MTY2MjtlLmFmaWk1NzUwNz0xNjcwO2UuYWZpaTU3NTA4PTE2ODg7ZS5hZmlpNTc1MDk9MTcxMTtlLmFmaWk1NzUxMT0xNjU3O2UuYWZpaTU3NTEyPTE2NzI7ZS5hZmlpNTc1MTM9MTY4MTtlLmFmaWk1NzUxND0xNzIyO2UuYWZpaTU3NTE5PTE3NDY7ZS5hZmlpNTc1MzQ9MTc0OTtlLmFmaWk1NzYzNj04MzYyO2UuYWZpaTU3NjQ1PTE0NzA7ZS5hZmlpNTc2NTg9MTQ3NTtlLmFmaWk1NzY2ND0xNDg4O2UuYWZpaTU3NjY1PTE0ODk7ZS5hZmlpNTc2NjY9MTQ5MDtlLmFmaWk1NzY2Nz0xNDkxO2UuYWZpaTU3NjY4PTE0OTI7ZS5hZmlpNTc2Njk9MTQ5MztlLmFmaWk1NzY3MD0xNDk0O2UuYWZpaTU3NjcxPTE0OTU7ZS5hZmlpNTc2NzI9MTQ5NjtlLmFmaWk1NzY3Mz0xNDk3O2UuYWZpaTU3Njc0PTE0OTg7ZS5hZmlpNTc2NzU9MTQ5OTtlLmFmaWk1NzY3Nj0xNTAwO2UuYWZpaTU3Njc3PTE1MDE7ZS5hZmlpNTc2Nzg9MTUwMjtlLmFmaWk1NzY3OT0xNTAzO2UuYWZpaTU3NjgwPTE1MDQ7ZS5hZmlpNTc2ODE9MTUwNTtlLmFmaWk1NzY4Mj0xNTA2O2UuYWZpaTU3NjgzPTE1MDc7ZS5hZmlpNTc2ODQ9MTUwODtlLmFmaWk1NzY4NT0xNTA5O2UuYWZpaTU3Njg2PTE1MTA7ZS5hZmlpNTc2ODc9MTUxMTtlLmFmaWk1NzY4OD0xNTEyO2UuYWZpaTU3Njg5PTE1MTM7ZS5hZmlpNTc2OTA9MTUxNDtlLmFmaWk1NzY5ND02NDI5ODtlLmFmaWk1NzY5NT02NDI5OTtlLmFmaWk1NzcwMD02NDMzMTtlLmFmaWk1NzcwNT02NDI4NztlLmFmaWk1NzcxNj0xNTIwO2UuYWZpaTU3NzE3PTE1MjE7ZS5hZmlpNTc3MTg9MTUyMjtlLmFmaWk1NzcyMz02NDMwOTtlLmFmaWk1Nzc5Mz0xNDYwO2UuYWZpaTU3Nzk0PTE0NjE7ZS5hZmlpNTc3OTU9MTQ2MjtlLmFmaWk1Nzc5Nj0xNDY3O2UuYWZpaTU3Nzk3PTE0NjQ7ZS5hZmlpNTc3OTg9MTQ2MztlLmFmaWk1Nzc5OT0xNDU2O2UuYWZpaTU3ODAwPTE0NTg7ZS5hZmlpNTc4MDE9MTQ1NztlLmFmaWk1NzgwMj0xNDU5O2UuYWZpaTU3ODAzPTE0NzQ7ZS5hZmlpNTc4MDQ9MTQ3MztlLmFmaWk1NzgwNj0xNDY1O2UuYWZpaTU3ODA3PTE0Njg7ZS5hZmlpNTc4Mzk9MTQ2OTtlLmFmaWk1Nzg0MT0xNDcxO2UuYWZpaTU3ODQyPTE0NzI7ZS5hZmlpNTc5Mjk9NzAwO2UuYWZpaTYxMjQ4PTg0NTM7ZS5hZmlpNjEyODk9ODQ2NztlLmFmaWk2MTM1Mj04NDcwO2UuYWZpaTYxNTczPTgyMzY7ZS5hZmlpNjE1NzQ9ODIzNztlLmFmaWk2MTU3NT04MjM4O2UuYWZpaTYxNjY0PTgyMDQ7ZS5hZmlpNjMxNjc9MTY0NTtlLmFmaWk2NDkzNz03MDE7ZS5hZ3JhdmU9MjI0O2UuYWd1amFyYXRpPTI2OTM7ZS5hZ3VybXVraGk9MjU2NTtlLmFoaXJhZ2FuYT0xMjM1NDtlLmFob29rYWJvdmU9Nzg0MztlLmFpYmVuZ2FsaT0yNDQ4O2UuYWlib3BvbW9mbz0xMjU3NDtlLmFpZGV2YT0yMzIwO2UuYWllY3lyaWxsaWM9MTIzNztlLmFpZ3VqYXJhdGk9MjcwNDtlLmFpZ3VybXVraGk9MjU3NjtlLmFpbWF0cmFndXJtdWtoaT0yNjMyO2UuYWluYXJhYmljPTE1OTM7ZS5haW5maW5hbGFyYWJpYz02NTIyNjtlLmFpbmluaXRpYWxhcmFiaWM9NjUyMjc7ZS5haW5tZWRpYWxhcmFiaWM9NjUyMjg7ZS5haW52ZXJ0ZWRicmV2ZT01MTU7ZS5haXZvd2Vsc2lnbmJlbmdhbGk9MjUwNDtlLmFpdm93ZWxzaWduZGV2YT0yMzc2O2UuYWl2b3dlbHNpZ25ndWphcmF0aT0yNzYwO2UuYWthdGFrYW5hPTEyNDUwO2UuYWthdGFrYW5haGFsZndpZHRoPTY1MzkzO2UuYWtvcmVhbj0xMjYyMztlLmFsZWY9MTQ4ODtlLmFsZWZhcmFiaWM9MTU3NTtlLmFsZWZkYWdlc2hoZWJyZXc9NjQzMDQ7ZS5hbGVmZmluYWxhcmFiaWM9NjUxNjY7ZS5hbGVmaGFtemFhYm92ZWFyYWJpYz0xNTcxO2UuYWxlZmhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE1NjtlLmFsZWZoYW16YWJlbG93YXJhYmljPTE1NzM7ZS5hbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljPTY1MTYwO2UuYWxlZmhlYnJldz0xNDg4O2UuYWxlZmxhbWVkaGVicmV3PTY0MzM1O2UuYWxlZm1hZGRhYWJvdmVhcmFiaWM9MTU3MDtlLmFsZWZtYWRkYWFib3ZlZmluYWxhcmFiaWM9NjUxNTQ7ZS5hbGVmbWFrc3VyYWFyYWJpYz0xNjA5O2UuYWxlZm1ha3N1cmFmaW5hbGFyYWJpYz02NTI2NDtlLmFsZWZtYWtzdXJhaW5pdGlhbGFyYWJpYz02NTI2NztlLmFsZWZtYWtzdXJhbWVkaWFsYXJhYmljPTY1MjY4O2UuYWxlZnBhdGFoaGVicmV3PTY0MzAyO2UuYWxlZnFhbWF0c2hlYnJldz02NDMwMztlLmFsZXBoPTg1MDE7ZS5hbGxlcXVhbD04NzgwO2UuYWxwaGE9OTQ1O2UuYWxwaGF0b25vcz05NDA7ZS5hbWFjcm9uPTI1NztlLmFtb25vc3BhY2U9NjUzNDU7ZS5hbXBlcnNhbmQ9Mzg7ZS5hbXBlcnNhbmRtb25vc3BhY2U9NjUyODY7ZS5hbXBlcnNhbmRzbWFsbD02MzI3MDtlLmFtc3F1YXJlPTEzMjUwO2UuYW5ib3BvbW9mbz0xMjU3ODtlLmFuZ2JvcG9tb2ZvPTEyNTgwO2UuYW5nYnJhY2tldGxlZnQ9MTIyOTY7ZS5hbmdicmFja2V0cmlnaHQ9MTIyOTc7ZS5hbmdraGFua2h1dGhhaT0zNjc0O2UuYW5nbGU9ODczNjtlLmFuZ2xlYnJhY2tldGxlZnQ9MTIyOTY7ZS5hbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODc7ZS5hbmdsZWJyYWNrZXRyaWdodD0xMjI5NztlLmFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODg7ZS5hbmdsZWxlZnQ9OTAwMTtlLmFuZ2xlcmlnaHQ9OTAwMjtlLmFuZ3N0cm9tPTg0OTE7ZS5hbm90ZWxlaWE9OTAzO2UuYW51ZGF0dGFkZXZhPTIzODY7ZS5hbnVzdmFyYWJlbmdhbGk9MjQzNDtlLmFudXN2YXJhZGV2YT0yMzA2O2UuYW51c3ZhcmFndWphcmF0aT0yNjkwO2UuYW9nb25laz0yNjE7ZS5hcGFhdG9zcXVhcmU9MTMwNTY7ZS5hcGFyZW49OTM3MjtlLmFwb3N0cm9waGVhcm1lbmlhbj0xMzcwO2UuYXBvc3Ryb3BoZW1vZD03MDA7ZS5hcHBsZT02Mzc0MztlLmFwcHJvYWNoZXM9ODc4NDtlLmFwcHJveGVxdWFsPTg3NzY7ZS5hcHByb3hlcXVhbG9yaW1hZ2U9ODc4NjtlLmFwcHJveGltYXRlbHllcXVhbD04NzczO2UuYXJhZWFla29yZWFuPTEyNjg2O2UuYXJhZWFrb3JlYW49MTI2ODU7ZS5hcmM9ODk3ODtlLmFyaWdodGhhbGZyaW5nPTc4MzQ7ZS5hcmluZz0yMjk7ZS5hcmluZ2FjdXRlPTUwNztlLmFyaW5nYmVsb3c9NzY4MTtlLmFycm93Ym90aD04NTk2O2UuYXJyb3dkYXNoZG93bj04Njc1O2UuYXJyb3dkYXNobGVmdD04NjcyO2UuYXJyb3dkYXNocmlnaHQ9ODY3NDtlLmFycm93ZGFzaHVwPTg2NzM7ZS5hcnJvd2RibGJvdGg9ODY2MDtlLmFycm93ZGJsZG93bj04NjU5O2UuYXJyb3dkYmxsZWZ0PTg2NTY7ZS5hcnJvd2RibHJpZ2h0PTg2NTg7ZS5hcnJvd2RibHVwPTg2NTc7ZS5hcnJvd2Rvd249ODU5NTtlLmFycm93ZG93bmxlZnQ9ODYwMTtlLmFycm93ZG93bnJpZ2h0PTg2MDA7ZS5hcnJvd2Rvd253aGl0ZT04NjgxO2UuYXJyb3doZWFkZG93bm1vZD03MDk7ZS5hcnJvd2hlYWRsZWZ0bW9kPTcwNjtlLmFycm93aGVhZHJpZ2h0bW9kPTcwNztlLmFycm93aGVhZHVwbW9kPTcwODtlLmFycm93aG9yaXpleD02MzcxOTtlLmFycm93bGVmdD04NTkyO2UuYXJyb3dsZWZ0ZGJsPTg2NTY7ZS5hcnJvd2xlZnRkYmxzdHJva2U9ODY1MztlLmFycm93bGVmdG92ZXJyaWdodD04NjQ2O2UuYXJyb3dsZWZ0d2hpdGU9ODY3ODtlLmFycm93cmlnaHQ9ODU5NDtlLmFycm93cmlnaHRkYmxzdHJva2U9ODY1NTtlLmFycm93cmlnaHRoZWF2eT0xMDE0MjtlLmFycm93cmlnaHRvdmVybGVmdD04NjQ0O2UuYXJyb3dyaWdodHdoaXRlPTg2ODA7ZS5hcnJvd3RhYmxlZnQ9ODY3NjtlLmFycm93dGFicmlnaHQ9ODY3NztlLmFycm93dXA9ODU5MztlLmFycm93dXBkbj04NTk3O2UuYXJyb3d1cGRuYnNlPTg2MTY7ZS5hcnJvd3VwZG93bmJhc2U9ODYxNjtlLmFycm93dXBsZWZ0PTg1OTg7ZS5hcnJvd3VwbGVmdG9mZG93bj04NjQ1O2UuYXJyb3d1cHJpZ2h0PTg1OTk7ZS5hcnJvd3Vwd2hpdGU9ODY3OTtlLmFycm93dmVydGV4PTYzNzE4O2UuYXNjaWljaXJjdW09OTQ7ZS5hc2NpaWNpcmN1bW1vbm9zcGFjZT02NTM0MjtlLmFzY2lpdGlsZGU9MTI2O2UuYXNjaWl0aWxkZW1vbm9zcGFjZT02NTM3NDtlLmFzY3JpcHQ9NTkzO2UuYXNjcmlwdHR1cm5lZD01OTQ7ZS5hc21hbGxoaXJhZ2FuYT0xMjM1MztlLmFzbWFsbGthdGFrYW5hPTEyNDQ5O2UuYXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODM7ZS5hc3Rlcmlzaz00MjtlLmFzdGVyaXNrYWx0b25lYXJhYmljPTE2NDU7ZS5hc3Rlcmlza2FyYWJpYz0xNjQ1O2UuYXN0ZXJpc2ttYXRoPTg3Mjc7ZS5hc3Rlcmlza21vbm9zcGFjZT02NTI5MDtlLmFzdGVyaXNrc21hbGw9NjUxMjE7ZS5hc3RlcmlzbT04MjU4O2UuYXN1cGVyaW9yPTYzMjA5O2UuYXN5bXB0b3RpY2FsbHllcXVhbD04NzcxO2UuYXQ9NjQ7ZS5hdGlsZGU9MjI3O2UuYXRtb25vc3BhY2U9NjUzMTI7ZS5hdHNtYWxsPTY1MTMxO2UuYXR1cm5lZD01OTI7ZS5hdWJlbmdhbGk9MjQ1MjtlLmF1Ym9wb21vZm89MTI1NzY7ZS5hdWRldmE9MjMyNDtlLmF1Z3VqYXJhdGk9MjcwODtlLmF1Z3VybXVraGk9MjU4MDtlLmF1bGVuZ3RobWFya2JlbmdhbGk9MjUxOTtlLmF1bWF0cmFndXJtdWtoaT0yNjM2O2UuYXV2b3dlbHNpZ25iZW5nYWxpPTI1MDg7ZS5hdXZvd2Vsc2lnbmRldmE9MjM4MDtlLmF1dm93ZWxzaWduZ3VqYXJhdGk9Mjc2NDtlLmF2YWdyYWhhZGV2YT0yMzY1O2UuYXliYXJtZW5pYW49MTM3NztlLmF5aW49MTUwNjtlLmF5aW5hbHRvbmVoZWJyZXc9NjQyODg7ZS5heWluaGVicmV3PTE1MDY7ZS5iPTk4O2UuYmFiZW5nYWxpPTI0NzY7ZS5iYWNrc2xhc2g9OTI7ZS5iYWNrc2xhc2htb25vc3BhY2U9NjUzNDA7ZS5iYWRldmE9MjM0ODtlLmJhZ3VqYXJhdGk9MjczMjtlLmJhZ3VybXVraGk9MjYwNDtlLmJhaGlyYWdhbmE9MTI0MDA7ZS5iYWh0dGhhaT0zNjQ3O2UuYmFrYXRha2FuYT0xMjQ5NjtlLmJhcj0xMjQ7ZS5iYXJtb25vc3BhY2U9NjUzNzI7ZS5iYm9wb21vZm89MTI1NDk7ZS5iY2lyY2xlPTk0MjU7ZS5iZG90YWNjZW50PTc2ODM7ZS5iZG90YmVsb3c9NzY4NTtlLmJlYW1lZHNpeHRlZW50aG5vdGVzPTk4MzY7ZS5iZWNhdXNlPTg3NTc7ZS5iZWN5cmlsbGljPTEwNzM7ZS5iZWhhcmFiaWM9MTU3NjtlLmJlaGZpbmFsYXJhYmljPTY1MTY4O2UuYmVoaW5pdGlhbGFyYWJpYz02NTE2OTtlLmJlaGlyYWdhbmE9MTI0MDk7ZS5iZWhtZWRpYWxhcmFiaWM9NjUxNzA7ZS5iZWhtZWVtaW5pdGlhbGFyYWJpYz02NDY3MTtlLmJlaG1lZW1pc29sYXRlZGFyYWJpYz02NDUyMDtlLmJlaG5vb25maW5hbGFyYWJpYz02NDYyMTtlLmJla2F0YWthbmE9MTI1MDU7ZS5iZW5hcm1lbmlhbj0xMzc4O2UuYmV0PTE0ODk7ZS5iZXRhPTk0NjtlLmJldGFzeW1ib2xncmVlaz05NzY7ZS5iZXRkYWdlc2g9NjQzMDU7ZS5iZXRkYWdlc2hoZWJyZXc9NjQzMDU7ZS5iZXRoZWJyZXc9MTQ4OTtlLmJldHJhZmVoZWJyZXc9NjQzMzI7ZS5iaGFiZW5nYWxpPTI0Nzc7ZS5iaGFkZXZhPTIzNDk7ZS5iaGFndWphcmF0aT0yNzMzO2UuYmhhZ3VybXVraGk9MjYwNTtlLmJob29rPTU5NTtlLmJpaGlyYWdhbmE9MTI0MDM7ZS5iaWthdGFrYW5hPTEyNDk5O2UuYmlsYWJpYWxjbGljaz02NjQ7ZS5iaW5kaWd1cm11a2hpPTI1NjI7ZS5iaXJ1c3F1YXJlPTEzMTA1O2UuYmxhY2tjaXJjbGU9OTY3OTtlLmJsYWNrZGlhbW9uZD05NjcwO2UuYmxhY2tkb3ducG9pbnRpbmd0cmlhbmdsZT05NjYwO2UuYmxhY2tsZWZ0cG9pbnRpbmdwb2ludGVyPTk2Njg7ZS5ibGFja2xlZnRwb2ludGluZ3RyaWFuZ2xlPTk2NjQ7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdD0xMjMwNDtlLmJsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODM7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQ9MTIzMDU7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA4NDtlLmJsYWNrbG93ZXJsZWZ0dHJpYW5nbGU9OTY5OTtlLmJsYWNrbG93ZXJyaWdodHRyaWFuZ2xlPTk2OTg7ZS5ibGFja3JlY3RhbmdsZT05NjQ0O2UuYmxhY2tyaWdodHBvaW50aW5ncG9pbnRlcj05NjU4O2UuYmxhY2tyaWdodHBvaW50aW5ndHJpYW5nbGU9OTY1NDtlLmJsYWNrc21hbGxzcXVhcmU9OTY0MjtlLmJsYWNrc21pbGluZ2ZhY2U9OTc4NztlLmJsYWNrc3F1YXJlPTk2MzI7ZS5ibGFja3N0YXI9OTczMztlLmJsYWNrdXBwZXJsZWZ0dHJpYW5nbGU9OTcwMDtlLmJsYWNrdXBwZXJyaWdodHRyaWFuZ2xlPTk3MDE7ZS5ibGFja3VwcG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NTI7ZS5ibGFja3VwcG9pbnRpbmd0cmlhbmdsZT05NjUwO2UuYmxhbms9OTI1MTtlLmJsaW5lYmVsb3c9NzY4NztlLmJsb2NrPTk2MDg7ZS5ibW9ub3NwYWNlPTY1MzQ2O2UuYm9iYWltYWl0aGFpPTM2MTA7ZS5ib2hpcmFnYW5hPTEyNDEyO2UuYm9rYXRha2FuYT0xMjUwODtlLmJwYXJlbj05MzczO2UuYnFzcXVhcmU9MTMyNTE7ZS5icmFjZWV4PTYzNzMyO2UuYnJhY2VsZWZ0PTEyMztlLmJyYWNlbGVmdGJ0PTYzNzMxO2UuYnJhY2VsZWZ0bWlkPTYzNzMwO2UuYnJhY2VsZWZ0bW9ub3NwYWNlPTY1MzcxO2UuYnJhY2VsZWZ0c21hbGw9NjUxMTU7ZS5icmFjZWxlZnR0cD02MzcyOTtlLmJyYWNlbGVmdHZlcnRpY2FsPTY1MDc5O2UuYnJhY2VyaWdodD0xMjU7ZS5icmFjZXJpZ2h0YnQ9NjM3NDI7ZS5icmFjZXJpZ2h0bWlkPTYzNzQxO2UuYnJhY2VyaWdodG1vbm9zcGFjZT02NTM3MztlLmJyYWNlcmlnaHRzbWFsbD02NTExNjtlLmJyYWNlcmlnaHR0cD02Mzc0MDtlLmJyYWNlcmlnaHR2ZXJ0aWNhbD02NTA4MDtlLmJyYWNrZXRsZWZ0PTkxO2UuYnJhY2tldGxlZnRidD02MzcyODtlLmJyYWNrZXRsZWZ0ZXg9NjM3Mjc7ZS5icmFja2V0bGVmdG1vbm9zcGFjZT02NTMzOTtlLmJyYWNrZXRsZWZ0dHA9NjM3MjY7ZS5icmFja2V0cmlnaHQ9OTM7ZS5icmFja2V0cmlnaHRidD02MzczOTtlLmJyYWNrZXRyaWdodGV4PTYzNzM4O2UuYnJhY2tldHJpZ2h0bW9ub3NwYWNlPTY1MzQxO2UuYnJhY2tldHJpZ2h0dHA9NjM3Mzc7ZS5icmV2ZT03Mjg7ZS5icmV2ZWJlbG93Y21iPTgxNDtlLmJyZXZlY21iPTc3NDtlLmJyZXZlaW52ZXJ0ZWRiZWxvd2NtYj04MTU7ZS5icmV2ZWludmVydGVkY21iPTc4NTtlLmJyZXZlaW52ZXJ0ZWRkb3VibGVjbWI9ODY1O2UuYnJpZGdlYmVsb3djbWI9ODEwO2UuYnJpZGdlaW52ZXJ0ZWRiZWxvd2NtYj04MjY7ZS5icm9rZW5iYXI9MTY2O2UuYnN0cm9rZT0zODQ7ZS5ic3VwZXJpb3I9NjMyMTA7ZS5idG9wYmFyPTM4NztlLmJ1aGlyYWdhbmE9MTI0MDY7ZS5idWthdGFrYW5hPTEyNTAyO2UuYnVsbGV0PTgyMjY7ZS5idWxsZXRpbnZlcnNlPTk2ODg7ZS5idWxsZXRvcGVyYXRvcj04NzI5O2UuYnVsbHNleWU9OTY3ODtlLmM9OTk7ZS5jYWFybWVuaWFuPTEzOTA7ZS5jYWJlbmdhbGk9MjQ1ODtlLmNhY3V0ZT0yNjM7ZS5jYWRldmE9MjMzMDtlLmNhZ3VqYXJhdGk9MjcxNDtlLmNhZ3VybXVraGk9MjU4NjtlLmNhbHNxdWFyZT0xMzE5MjtlLmNhbmRyYWJpbmR1YmVuZ2FsaT0yNDMzO2UuY2FuZHJhYmluZHVjbWI9Nzg0O2UuY2FuZHJhYmluZHVkZXZhPTIzMDU7ZS5jYW5kcmFiaW5kdWd1amFyYXRpPTI2ODk7ZS5jYXBzbG9jaz04NjgyO2UuY2FyZW9mPTg0NTM7ZS5jYXJvbj03MTE7ZS5jYXJvbmJlbG93Y21iPTgxMjtlLmNhcm9uY21iPTc4MDtlLmNhcnJpYWdlcmV0dXJuPTg2Mjk7ZS5jYm9wb21vZm89MTI1Njg7ZS5jY2Fyb249MjY5O2UuY2NlZGlsbGE9MjMxO2UuY2NlZGlsbGFhY3V0ZT03Njg5O2UuY2NpcmNsZT05NDI2O2UuY2NpcmN1bWZsZXg9MjY1O2UuY2N1cmw9NTk3O2UuY2RvdD0yNjc7ZS5jZG90YWNjZW50PTI2NztlLmNkc3F1YXJlPTEzMjUzO2UuY2VkaWxsYT0xODQ7ZS5jZWRpbGxhY21iPTgwNztlLmNlbnQ9MTYyO2UuY2VudGlncmFkZT04NDUxO2UuY2VudGluZmVyaW9yPTYzMTk5O2UuY2VudG1vbm9zcGFjZT02NTUwNDtlLmNlbnRvbGRzdHlsZT02MzM5NDtlLmNlbnRzdXBlcmlvcj02MzIwMDtlLmNoYWFybWVuaWFuPTE0MDE7ZS5jaGFiZW5nYWxpPTI0NTk7ZS5jaGFkZXZhPTIzMzE7ZS5jaGFndWphcmF0aT0yNzE1O2UuY2hhZ3VybXVraGk9MjU4NztlLmNoYm9wb21vZm89MTI1NjQ7ZS5jaGVhYmtoYXNpYW5jeXJpbGxpYz0xMjEzO2UuY2hlY2ttYXJrPTEwMDAzO2UuY2hlY3lyaWxsaWM9MTA5NTtlLmNoZWRlc2NlbmRlcmFia2hhc2lhbmN5cmlsbGljPTEyMTU7ZS5jaGVkZXNjZW5kZXJjeXJpbGxpYz0xMjA3O2UuY2hlZGllcmVzaXNjeXJpbGxpYz0xMjY5O2UuY2hlaGFybWVuaWFuPTEzOTU7ZS5jaGVraGFrYXNzaWFuY3lyaWxsaWM9MTIyODtlLmNoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTIwOTtlLmNoaT05Njc7ZS5jaGlldWNoYWNpcmNsZWtvcmVhbj0xMjkxOTtlLmNoaWV1Y2hhcGFyZW5rb3JlYW49MTI4MjM7ZS5jaGlldWNoY2lyY2xla29yZWFuPTEyOTA1O2UuY2hpZXVjaGtvcmVhbj0xMjYxODtlLmNoaWV1Y2hwYXJlbmtvcmVhbj0xMjgwOTtlLmNob2NoYW5ndGhhaT0zNTk0O2UuY2hvY2hhbnRoYWk9MzU5MjtlLmNob2NoaW5ndGhhaT0zNTkzO2UuY2hvY2hvZXRoYWk9MzU5NjtlLmNob29rPTM5MjtlLmNpZXVjYWNpcmNsZWtvcmVhbj0xMjkxODtlLmNpZXVjYXBhcmVua29yZWFuPTEyODIyO2UuY2lldWNjaXJjbGVrb3JlYW49MTI5MDQ7ZS5jaWV1Y2tvcmVhbj0xMjYxNjtlLmNpZXVjcGFyZW5rb3JlYW49MTI4MDg7ZS5jaWV1Y3VwYXJlbmtvcmVhbj0xMjgyODtlLmNpcmNsZT05Njc1O2UuY2lyY2xlY29weXJ0PTE2OTtlLmNpcmNsZW11bHRpcGx5PTg4NTU7ZS5jaXJjbGVvdD04ODU3O2UuY2lyY2xlcGx1cz04ODUzO2UuY2lyY2xlcG9zdGFsbWFyaz0xMjM0MjtlLmNpcmNsZXdpdGhsZWZ0aGFsZmJsYWNrPTk2ODA7ZS5jaXJjbGV3aXRocmlnaHRoYWxmYmxhY2s9OTY4MTtlLmNpcmN1bWZsZXg9NzEwO2UuY2lyY3VtZmxleGJlbG93Y21iPTgxMztlLmNpcmN1bWZsZXhjbWI9NzcwO2UuY2xlYXI9ODk5OTtlLmNsaWNrYWx2ZW9sYXI9NDUwO2UuY2xpY2tkZW50YWw9NDQ4O2UuY2xpY2tsYXRlcmFsPTQ0OTtlLmNsaWNrcmV0cm9mbGV4PTQ1MTtlLmNsdWI9OTgyNztlLmNsdWJzdWl0YmxhY2s9OTgyNztlLmNsdWJzdWl0d2hpdGU9OTgzMTtlLmNtY3ViZWRzcXVhcmU9MTMyMjA7ZS5jbW9ub3NwYWNlPTY1MzQ3O2UuY21zcXVhcmVkc3F1YXJlPTEzMjE2O2UuY29hcm1lbmlhbj0xNDA5O2UuY29sb249NTg7ZS5jb2xvbm1vbmV0YXJ5PTgzNTM7ZS5jb2xvbm1vbm9zcGFjZT02NTMwNjtlLmNvbG9uc2lnbj04MzUzO2UuY29sb25zbWFsbD02NTEwOTtlLmNvbG9udHJpYW5ndWxhcmhhbGZtb2Q9NzIxO2UuY29sb250cmlhbmd1bGFybW9kPTcyMDtlLmNvbW1hPTQ0O2UuY29tbWFhYm92ZWNtYj03ODc7ZS5jb21tYWFib3ZlcmlnaHRjbWI9Nzg5O2UuY29tbWFhY2NlbnQ9NjMxNzE7ZS5jb21tYWFyYWJpYz0xNTQ4O2UuY29tbWFhcm1lbmlhbj0xMzczO2UuY29tbWFpbmZlcmlvcj02MzIwMTtlLmNvbW1hbW9ub3NwYWNlPTY1MjkyO2UuY29tbWFyZXZlcnNlZGFib3ZlY21iPTc4ODtlLmNvbW1hcmV2ZXJzZWRtb2Q9NzAxO2UuY29tbWFzbWFsbD02NTEwNDtlLmNvbW1hc3VwZXJpb3I9NjMyMDI7ZS5jb21tYXR1cm5lZGFib3ZlY21iPTc4NjtlLmNvbW1hdHVybmVkbW9kPTY5OTtlLmNvbXBhc3M9OTc4ODtlLmNvbmdydWVudD04NzczO2UuY29udG91cmludGVncmFsPTg3NTA7ZS5jb250cm9sPTg5NjM7ZS5jb250cm9sQUNLPTY7ZS5jb250cm9sQkVMPTc7ZS5jb250cm9sQlM9ODtlLmNvbnRyb2xDQU49MjQ7ZS5jb250cm9sQ1I9MTM7ZS5jb250cm9sREMxPTE3O2UuY29udHJvbERDMj0xODtlLmNvbnRyb2xEQzM9MTk7ZS5jb250cm9sREM0PTIwO2UuY29udHJvbERFTD0xMjc7ZS5jb250cm9sRExFPTE2O2UuY29udHJvbEVNPTI1O2UuY29udHJvbEVOUT01O2UuY29udHJvbEVPVD00O2UuY29udHJvbEVTQz0yNztlLmNvbnRyb2xFVEI9MjM7ZS5jb250cm9sRVRYPTM7ZS5jb250cm9sRkY9MTI7ZS5jb250cm9sRlM9Mjg7ZS5jb250cm9sR1M9Mjk7ZS5jb250cm9sSFQ9OTtlLmNvbnRyb2xMRj0xMDtlLmNvbnRyb2xOQUs9MjE7ZS5jb250cm9sTlVMTD0wO2UuY29udHJvbFJTPTMwO2UuY29udHJvbFNJPTE1O2UuY29udHJvbFNPPTE0O2UuY29udHJvbFNPVD0yO2UuY29udHJvbFNUWD0xO2UuY29udHJvbFNVQj0yNjtlLmNvbnRyb2xTWU49MjI7ZS5jb250cm9sVVM9MzE7ZS5jb250cm9sVlQ9MTE7ZS5jb3B5cmlnaHQ9MTY5O2UuY29weXJpZ2h0c2Fucz02MzcyMTtlLmNvcHlyaWdodHNlcmlmPTYzMTkzO2UuY29ybmVyYnJhY2tldGxlZnQ9MTIzMDA7ZS5jb3JuZXJicmFja2V0bGVmdGhhbGZ3aWR0aD02NTM3ODtlLmNvcm5lcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODk7ZS5jb3JuZXJicmFja2V0cmlnaHQ9MTIzMDE7ZS5jb3JuZXJicmFja2V0cmlnaHRoYWxmd2lkdGg9NjUzNzk7ZS5jb3JuZXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA5MDtlLmNvcnBvcmF0aW9uc3F1YXJlPTEzMTgzO2UuY29zcXVhcmU9MTMyNTU7ZS5jb3Zlcmtnc3F1YXJlPTEzMjU0O2UuY3BhcmVuPTkzNzQ7ZS5jcnV6ZWlybz04MzU0O2UuY3N0cmV0Y2hlZD02NjM7ZS5jdXJseWFuZD04OTExO2UuY3VybHlvcj04OTEwO2UuY3VycmVuY3k9MTY0O2UuY3lyQnJldmU9NjMxODU7ZS5jeXJGbGV4PTYzMTg2O2UuY3lyYnJldmU9NjMxODg7ZS5jeXJmbGV4PTYzMTg5O2UuZD0xMDA7ZS5kYWFybWVuaWFuPTEzODA7ZS5kYWJlbmdhbGk9MjQ3MDtlLmRhZGFyYWJpYz0xNTkwO2UuZGFkZXZhPTIzNDI7ZS5kYWRmaW5hbGFyYWJpYz02NTIxNDtlLmRhZGluaXRpYWxhcmFiaWM9NjUyMTU7ZS5kYWRtZWRpYWxhcmFiaWM9NjUyMTY7ZS5kYWdlc2g9MTQ2ODtlLmRhZ2VzaGhlYnJldz0xNDY4O2UuZGFnZ2VyPTgyMjQ7ZS5kYWdnZXJkYmw9ODIyNTtlLmRhZ3VqYXJhdGk9MjcyNjtlLmRhZ3VybXVraGk9MjU5ODtlLmRhaGlyYWdhbmE9MTIzODQ7ZS5kYWthdGFrYW5hPTEyNDgwO2UuZGFsYXJhYmljPTE1ODM7ZS5kYWxldD0xNDkxO2UuZGFsZXRkYWdlc2g9NjQzMDc7ZS5kYWxldGRhZ2VzaGhlYnJldz02NDMwNztlLmRhbGV0aGVicmV3PTE0OTE7ZS5kYWxmaW5hbGFyYWJpYz02NTE5NDtlLmRhbW1hYXJhYmljPTE2MTU7ZS5kYW1tYWxvd2FyYWJpYz0xNjE1O2UuZGFtbWF0YW5hbHRvbmVhcmFiaWM9MTYxMjtlLmRhbW1hdGFuYXJhYmljPTE2MTI7ZS5kYW5kYT0yNDA0O2UuZGFyZ2FoZWJyZXc9MTQ0NztlLmRhcmdhbGVmdGhlYnJldz0xNDQ3O2UuZGFzaWFwbmV1bWF0YWN5cmlsbGljY21iPTExNTc7ZS5kYmxHcmF2ZT02MzE4NztlLmRibGFuZ2xlYnJhY2tldGxlZnQ9MTIyOTg7ZS5kYmxhbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODU7ZS5kYmxhbmdsZWJyYWNrZXRyaWdodD0xMjI5OTtlLmRibGFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODY7ZS5kYmxhcmNoaW52ZXJ0ZWRiZWxvd2NtYj04MTE7ZS5kYmxhcnJvd2xlZnQ9ODY2MDtlLmRibGFycm93cmlnaHQ9ODY1ODtlLmRibGRhbmRhPTI0MDU7ZS5kYmxncmF2ZT02MzE5MDtlLmRibGdyYXZlY21iPTc4MztlLmRibGludGVncmFsPTg3NDg7ZS5kYmxsb3dsaW5lPTgyMTU7ZS5kYmxsb3dsaW5lY21iPTgxOTtlLmRibG92ZXJsaW5lY21iPTgzMTtlLmRibHByaW1lbW9kPTY5ODtlLmRibHZlcnRpY2FsYmFyPTgyMTQ7ZS5kYmx2ZXJ0aWNhbGxpbmVhYm92ZWNtYj03ODI7ZS5kYm9wb21vZm89MTI1NTM7ZS5kYnNxdWFyZT0xMzI1NjtlLmRjYXJvbj0yNzE7ZS5kY2VkaWxsYT03Njk3O2UuZGNpcmNsZT05NDI3O2UuZGNpcmN1bWZsZXhiZWxvdz03Njk5O2UuZGNyb2F0PTI3MztlLmRkYWJlbmdhbGk9MjQ2NTtlLmRkYWRldmE9MjMzNztlLmRkYWd1amFyYXRpPTI3MjE7ZS5kZGFndXJtdWtoaT0yNTkzO2UuZGRhbGFyYWJpYz0xNjcyO2UuZGRhbGZpbmFsYXJhYmljPTY0MzkzO2UuZGRkaGFkZXZhPTIzOTY7ZS5kZGhhYmVuZ2FsaT0yNDY2O2UuZGRoYWRldmE9MjMzODtlLmRkaGFndWphcmF0aT0yNzIyO2UuZGRoYWd1cm11a2hpPTI1OTQ7ZS5kZG90YWNjZW50PTc2OTE7ZS5kZG90YmVsb3c9NzY5MztlLmRlY2ltYWxzZXBhcmF0b3JhcmFiaWM9MTY0MztlLmRlY2ltYWxzZXBhcmF0b3JwZXJzaWFuPTE2NDM7ZS5kZWN5cmlsbGljPTEwNzY7ZS5kZWdyZWU9MTc2O2UuZGVoaWhlYnJldz0xNDUzO2UuZGVoaXJhZ2FuYT0xMjM5MTtlLmRlaWNvcHRpYz0xMDA3O2UuZGVrYXRha2FuYT0xMjQ4NztlLmRlbGV0ZWxlZnQ9OTAwMztlLmRlbGV0ZXJpZ2h0PTg5OTg7ZS5kZWx0YT05NDg7ZS5kZWx0YXR1cm5lZD0zOTc7ZS5kZW5vbWluYXRvcm1pbnVzb25lbnVtZXJhdG9yYmVuZ2FsaT0yNTUyO2UuZGV6aD02NzY7ZS5kaGFiZW5nYWxpPTI0NzE7ZS5kaGFkZXZhPTIzNDM7ZS5kaGFndWphcmF0aT0yNzI3O2UuZGhhZ3VybXVraGk9MjU5OTtlLmRob29rPTU5OTtlLmRpYWx5dGlrYXRvbm9zPTkwMTtlLmRpYWx5dGlrYXRvbm9zY21iPTgzNjtlLmRpYW1vbmQ9OTgzMDtlLmRpYW1vbmRzdWl0d2hpdGU9OTgyNjtlLmRpZXJlc2lzPTE2ODtlLmRpZXJlc2lzYWN1dGU9NjMxOTE7ZS5kaWVyZXNpc2JlbG93Y21iPTgwNDtlLmRpZXJlc2lzY21iPTc3NjtlLmRpZXJlc2lzZ3JhdmU9NjMxOTI7ZS5kaWVyZXNpc3Rvbm9zPTkwMTtlLmRpaGlyYWdhbmE9MTIzODY7ZS5kaWthdGFrYW5hPTEyNDgyO2UuZGl0dG9tYXJrPTEyMjkxO2UuZGl2aWRlPTI0NztlLmRpdmlkZXM9ODczOTtlLmRpdmlzaW9uc2xhc2g9ODcyNTtlLmRqZWN5cmlsbGljPTExMDY7ZS5ka3NoYWRlPTk2MTk7ZS5kbGluZWJlbG93PTc2OTU7ZS5kbHNxdWFyZT0xMzIwNztlLmRtYWNyb249MjczO2UuZG1vbm9zcGFjZT02NTM0ODtlLmRuYmxvY2s9OTYwNDtlLmRvY2hhZGF0aGFpPTM1OTg7ZS5kb2Rla3RoYWk9MzYwNDtlLmRvaGlyYWdhbmE9MTIzOTM7ZS5kb2thdGFrYW5hPTEyNDg5O2UuZG9sbGFyPTM2O2UuZG9sbGFyaW5mZXJpb3I9NjMyMDM7ZS5kb2xsYXJtb25vc3BhY2U9NjUyODQ7ZS5kb2xsYXJvbGRzdHlsZT02MzI2ODtlLmRvbGxhcnNtYWxsPTY1MTI5O2UuZG9sbGFyc3VwZXJpb3I9NjMyMDQ7ZS5kb25nPTgzNjM7ZS5kb3J1c3F1YXJlPTEzMDk0O2UuZG90YWNjZW50PTcyOTtlLmRvdGFjY2VudGNtYj03NzU7ZS5kb3RiZWxvd2NtYj04MDM7ZS5kb3RiZWxvd2NvbWI9ODAzO2UuZG90a2F0YWthbmE9MTI1Mzk7ZS5kb3RsZXNzaT0zMDU7ZS5kb3RsZXNzaj02MzE2NjtlLmRvdGxlc3Nqc3Ryb2tlaG9vaz02NDQ7ZS5kb3RtYXRoPTg5MDE7ZS5kb3R0ZWRjaXJjbGU9OTY3NjtlLmRvdWJsZXlvZHBhdGFoPTY0Mjg3O2UuZG91YmxleW9kcGF0YWhoZWJyZXc9NjQyODc7ZS5kb3dudGFja2JlbG93Y21iPTc5ODtlLmRvd250YWNrbW9kPTcyNTtlLmRwYXJlbj05Mzc1O2UuZHN1cGVyaW9yPTYzMjExO2UuZHRhaWw9NTk4O2UuZHRvcGJhcj0zOTY7ZS5kdWhpcmFnYW5hPTEyMzg5O2UuZHVrYXRha2FuYT0xMjQ4NTtlLmR6PTQ5OTtlLmR6YWx0b25lPTY3NTtlLmR6Y2Fyb249NDU0O2UuZHpjdXJsPTY3NztlLmR6ZWFia2hhc2lhbmN5cmlsbGljPTEyNDk7ZS5kemVjeXJpbGxpYz0xMTA5O2UuZHpoZWN5cmlsbGljPTExMTk7ZS5lPTEwMTtlLmVhY3V0ZT0yMzM7ZS5lYXJ0aD05NzkzO2UuZWJlbmdhbGk9MjQ0NztlLmVib3BvbW9mbz0xMjU3MjtlLmVicmV2ZT0yNzc7ZS5lY2FuZHJhZGV2YT0yMzE3O2UuZWNhbmRyYWd1amFyYXRpPTI3MDE7ZS5lY2FuZHJhdm93ZWxzaWduZGV2YT0yMzczO2UuZWNhbmRyYXZvd2Vsc2lnbmd1amFyYXRpPTI3NTc7ZS5lY2Fyb249MjgzO2UuZWNlZGlsbGFicmV2ZT03NzA5O2UuZWNoYXJtZW5pYW49MTM4MTtlLmVjaHlpd25hcm1lbmlhbj0xNDE1O2UuZWNpcmNsZT05NDI4O2UuZWNpcmN1bWZsZXg9MjM0O2UuZWNpcmN1bWZsZXhhY3V0ZT03ODcxO2UuZWNpcmN1bWZsZXhiZWxvdz03NzA1O2UuZWNpcmN1bWZsZXhkb3RiZWxvdz03ODc5O2UuZWNpcmN1bWZsZXhncmF2ZT03ODczO2UuZWNpcmN1bWZsZXhob29rYWJvdmU9Nzg3NTtlLmVjaXJjdW1mbGV4dGlsZGU9Nzg3NztlLmVjeXJpbGxpYz0xMTA4O2UuZWRibGdyYXZlPTUxNztlLmVkZXZhPTIzMTk7ZS5lZGllcmVzaXM9MjM1O2UuZWRvdD0yNzk7ZS5lZG90YWNjZW50PTI3OTtlLmVkb3RiZWxvdz03ODY1O2UuZWVndXJtdWtoaT0yNTc1O2UuZWVtYXRyYWd1cm11a2hpPTI2MzE7ZS5lZmN5cmlsbGljPTEwOTI7ZS5lZ3JhdmU9MjMyO2UuZWd1amFyYXRpPTI3MDM7ZS5laGFybWVuaWFuPTEzODM7ZS5laGJvcG9tb2ZvPTEyNTczO2UuZWhpcmFnYW5hPTEyMzYwO2UuZWhvb2thYm92ZT03ODY3O2UuZWlib3BvbW9mbz0xMjU3NTtlLmVpZ2h0PTU2O2UuZWlnaHRhcmFiaWM9MTY0MDtlLmVpZ2h0YmVuZ2FsaT0yNTQyO2UuZWlnaHRjaXJjbGU9OTMxOTtlLmVpZ2h0Y2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyOTtlLmVpZ2h0ZGV2YT0yNDE0O2UuZWlnaHRlZW5jaXJjbGU9OTMyOTtlLmVpZ2h0ZWVucGFyZW49OTM0OTtlLmVpZ2h0ZWVucGVyaW9kPTkzNjk7ZS5laWdodGd1amFyYXRpPTI3OTg7ZS5laWdodGd1cm11a2hpPTI2NzA7ZS5laWdodGhhY2thcmFiaWM9MTY0MDtlLmVpZ2h0aGFuZ3pob3U9MTIzMjg7ZS5laWdodGhub3RlYmVhbWVkPTk4MzU7ZS5laWdodGlkZW9ncmFwaGljcGFyZW49MTI4Mzk7ZS5laWdodGluZmVyaW9yPTgzMjg7ZS5laWdodG1vbm9zcGFjZT02NTMwNDtlLmVpZ2h0b2xkc3R5bGU9NjMyODg7ZS5laWdodHBhcmVuPTkzMzk7ZS5laWdodHBlcmlvZD05MzU5O2UuZWlnaHRwZXJzaWFuPTE3ODQ7ZS5laWdodHJvbWFuPTg1Njc7ZS5laWdodHN1cGVyaW9yPTgzMTI7ZS5laWdodHRoYWk9MzY3MjtlLmVpbnZlcnRlZGJyZXZlPTUxOTtlLmVpb3RpZmllZGN5cmlsbGljPTExMjU7ZS5la2F0YWthbmE9MTI0NTY7ZS5la2F0YWthbmFoYWxmd2lkdGg9NjUzOTY7ZS5la29ua2FyZ3VybXVraGk9MjY3NjtlLmVrb3JlYW49MTI2Mjg7ZS5lbGN5cmlsbGljPTEwODM7ZS5lbGVtZW50PTg3MTI7ZS5lbGV2ZW5jaXJjbGU9OTMyMjtlLmVsZXZlbnBhcmVuPTkzNDI7ZS5lbGV2ZW5wZXJpb2Q9OTM2MjtlLmVsZXZlbnJvbWFuPTg1NzA7ZS5lbGxpcHNpcz04MjMwO2UuZWxsaXBzaXN2ZXJ0aWNhbD04OTQyO2UuZW1hY3Jvbj0yNzU7ZS5lbWFjcm9uYWN1dGU9NzcwMztlLmVtYWNyb25ncmF2ZT03NzAxO2UuZW1jeXJpbGxpYz0xMDg0O2UuZW1kYXNoPTgyMTI7ZS5lbWRhc2h2ZXJ0aWNhbD02NTA3MztlLmVtb25vc3BhY2U9NjUzNDk7ZS5lbXBoYXNpc21hcmthcm1lbmlhbj0xMzcxO2UuZW1wdHlzZXQ9ODcwOTtlLmVuYm9wb21vZm89MTI1Nzk7ZS5lbmN5cmlsbGljPTEwODU7ZS5lbmRhc2g9ODIxMTtlLmVuZGFzaHZlcnRpY2FsPTY1MDc0O2UuZW5kZXNjZW5kZXJjeXJpbGxpYz0xMTg3O2UuZW5nPTMzMTtlLmVuZ2JvcG9tb2ZvPTEyNTgxO2UuZW5naGVjeXJpbGxpYz0xMTg5O2UuZW5ob29rY3lyaWxsaWM9MTIyNDtlLmVuc3BhY2U9ODE5NDtlLmVvZ29uZWs9MjgxO2UuZW9rb3JlYW49MTI2Mjc7ZS5lb3Blbj02MDM7ZS5lb3BlbmNsb3NlZD02NjY7ZS5lb3BlbnJldmVyc2VkPTYwNDtlLmVvcGVucmV2ZXJzZWRjbG9zZWQ9NjA2O2UuZW9wZW5yZXZlcnNlZGhvb2s9NjA1O2UuZXBhcmVuPTkzNzY7ZS5lcHNpbG9uPTk0OTtlLmVwc2lsb250b25vcz05NDE7ZS5lcXVhbD02MTtlLmVxdWFsbW9ub3NwYWNlPTY1MzA5O2UuZXF1YWxzbWFsbD02NTEyNjtlLmVxdWFsc3VwZXJpb3I9ODMxNjtlLmVxdWl2YWxlbmNlPTg4MDE7ZS5lcmJvcG9tb2ZvPTEyNTgyO2UuZXJjeXJpbGxpYz0xMDg4O2UuZXJldmVyc2VkPTYwMDtlLmVyZXZlcnNlZGN5cmlsbGljPTExMDE7ZS5lc2N5cmlsbGljPTEwODk7ZS5lc2Rlc2NlbmRlcmN5cmlsbGljPTExOTU7ZS5lc2g9NjQzO2UuZXNoY3VybD02NDY7ZS5lc2hvcnRkZXZhPTIzMTg7ZS5lc2hvcnR2b3dlbHNpZ25kZXZhPTIzNzQ7ZS5lc2hyZXZlcnNlZGxvb3A9NDI2O2UuZXNoc3F1YXRyZXZlcnNlZD02NDU7ZS5lc21hbGxoaXJhZ2FuYT0xMjM1OTtlLmVzbWFsbGthdGFrYW5hPTEyNDU1O2UuZXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODY7ZS5lc3RpbWF0ZWQ9ODQ5NDtlLmVzdXBlcmlvcj02MzIxMjtlLmV0YT05NTE7ZS5ldGFybWVuaWFuPTEzODQ7ZS5ldGF0b25vcz05NDI7ZS5ldGg9MjQwO2UuZXRpbGRlPTc4Njk7ZS5ldGlsZGViZWxvdz03NzA3O2UuZXRuYWh0YWZvdWtoaGVicmV3PTE0MjU7ZS5ldG5haHRhZm91a2hsZWZ0aGVicmV3PTE0MjU7ZS5ldG5haHRhaGVicmV3PTE0MjU7ZS5ldG5haHRhbGVmdGhlYnJldz0xNDI1O2UuZXR1cm5lZD00Nzc7ZS5ldWtvcmVhbj0xMjY0MTtlLmV1cm89ODM2NDtlLmV2b3dlbHNpZ25iZW5nYWxpPTI1MDM7ZS5ldm93ZWxzaWduZGV2YT0yMzc1O2UuZXZvd2Vsc2lnbmd1amFyYXRpPTI3NTk7ZS5leGNsYW09MzM7ZS5leGNsYW1hcm1lbmlhbj0xMzcyO2UuZXhjbGFtZGJsPTgyNTI7ZS5leGNsYW1kb3duPTE2MTtlLmV4Y2xhbWRvd25zbWFsbD02MzM5MztlLmV4Y2xhbW1vbm9zcGFjZT02NTI4MTtlLmV4Y2xhbXNtYWxsPTYzMjY1O2UuZXhpc3RlbnRpYWw9ODcwNztlLmV6aD02NTg7ZS5lemhjYXJvbj00OTU7ZS5lemhjdXJsPTY1OTtlLmV6aHJldmVyc2VkPTQ0MTtlLmV6aHRhaWw9NDQyO2UuZj0xMDI7ZS5mYWRldmE9MjM5ODtlLmZhZ3VybXVraGk9MjY1NDtlLmZhaHJlbmhlaXQ9ODQ1NztlLmZhdGhhYXJhYmljPTE2MTQ7ZS5mYXRoYWxvd2FyYWJpYz0xNjE0O2UuZmF0aGF0YW5hcmFiaWM9MTYxMTtlLmZib3BvbW9mbz0xMjU1MjtlLmZjaXJjbGU9OTQyOTtlLmZkb3RhY2NlbnQ9NzcxMTtlLmZlaGFyYWJpYz0xNjAxO2UuZmVoYXJtZW5pYW49MTQxNDtlLmZlaGZpbmFsYXJhYmljPTY1MjM0O2UuZmVoaW5pdGlhbGFyYWJpYz02NTIzNTtlLmZlaG1lZGlhbGFyYWJpYz02NTIzNjtlLmZlaWNvcHRpYz05OTc7ZS5mZW1hbGU9OTc5MjtlLmZmPTY0MjU2O2UuZl9mPTY0MjU2O2UuZmZpPTY0MjU5O2UuZl9mX2k9NjQyNTk7ZS5mZmw9NjQyNjA7ZS5mX2ZfbD02NDI2MDtlLmZpPTY0MjU3O2UuZl9pPTY0MjU3O2UuZmlmdGVlbmNpcmNsZT05MzI2O2UuZmlmdGVlbnBhcmVuPTkzNDY7ZS5maWZ0ZWVucGVyaW9kPTkzNjY7ZS5maWd1cmVkYXNoPTgyMTA7ZS5maWxsZWRib3g9OTYzMjtlLmZpbGxlZHJlY3Q9OTY0NDtlLmZpbmFsa2FmPTE0OTg7ZS5maW5hbGthZmRhZ2VzaD02NDMxNDtlLmZpbmFsa2FmZGFnZXNoaGVicmV3PTY0MzE0O2UuZmluYWxrYWZoZWJyZXc9MTQ5ODtlLmZpbmFsbWVtPTE1MDE7ZS5maW5hbG1lbWhlYnJldz0xNTAxO2UuZmluYWxudW49MTUwMztlLmZpbmFsbnVuaGVicmV3PTE1MDM7ZS5maW5hbHBlPTE1MDc7ZS5maW5hbHBlaGVicmV3PTE1MDc7ZS5maW5hbHRzYWRpPTE1MDk7ZS5maW5hbHRzYWRpaGVicmV3PTE1MDk7ZS5maXJzdHRvbmVjaGluZXNlPTcxMztlLmZpc2hleWU9OTY3MztlLmZpdGFjeXJpbGxpYz0xMTM5O2UuZml2ZT01MztlLmZpdmVhcmFiaWM9MTYzNztlLmZpdmViZW5nYWxpPTI1Mzk7ZS5maXZlY2lyY2xlPTkzMTY7ZS5maXZlY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNjtlLmZpdmVkZXZhPTI0MTE7ZS5maXZlZWlnaHRocz04NTQxO2UuZml2ZWd1amFyYXRpPTI3OTU7ZS5maXZlZ3VybXVraGk9MjY2NztlLmZpdmVoYWNrYXJhYmljPTE2Mzc7ZS5maXZlaGFuZ3pob3U9MTIzMjU7ZS5maXZlaWRlb2dyYXBoaWNwYXJlbj0xMjgzNjtlLmZpdmVpbmZlcmlvcj04MzI1O2UuZml2ZW1vbm9zcGFjZT02NTMwMTtlLmZpdmVvbGRzdHlsZT02MzI4NTtlLmZpdmVwYXJlbj05MzM2O2UuZml2ZXBlcmlvZD05MzU2O2UuZml2ZXBlcnNpYW49MTc4MTtlLmZpdmVyb21hbj04NTY0O2UuZml2ZXN1cGVyaW9yPTgzMDk7ZS5maXZldGhhaT0zNjY5O2UuZmw9NjQyNTg7ZS5mX2w9NjQyNTg7ZS5mbG9yaW49NDAyO2UuZm1vbm9zcGFjZT02NTM1MDtlLmZtc3F1YXJlPTEzMjA5O2UuZm9mYW50aGFpPTM2MTU7ZS5mb2ZhdGhhaT0zNjEzO2UuZm9uZ21hbnRoYWk9MzY2MztlLmZvcmFsbD04NzA0O2UuZm91cj01MjtlLmZvdXJhcmFiaWM9MTYzNjtlLmZvdXJiZW5nYWxpPTI1Mzg7ZS5mb3VyY2lyY2xlPTkzMTU7ZS5mb3VyY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNTtlLmZvdXJkZXZhPTI0MTA7ZS5mb3VyZ3VqYXJhdGk9Mjc5NDtlLmZvdXJndXJtdWtoaT0yNjY2O2UuZm91cmhhY2thcmFiaWM9MTYzNjtlLmZvdXJoYW5nemhvdT0xMjMyNDtlLmZvdXJpZGVvZ3JhcGhpY3BhcmVuPTEyODM1O2UuZm91cmluZmVyaW9yPTgzMjQ7ZS5mb3VybW9ub3NwYWNlPTY1MzAwO2UuZm91cm51bWVyYXRvcmJlbmdhbGk9MjU1MTtlLmZvdXJvbGRzdHlsZT02MzI4NDtlLmZvdXJwYXJlbj05MzM1O2UuZm91cnBlcmlvZD05MzU1O2UuZm91cnBlcnNpYW49MTc4MDtlLmZvdXJyb21hbj04NTYzO2UuZm91cnN1cGVyaW9yPTgzMDg7ZS5mb3VydGVlbmNpcmNsZT05MzI1O2UuZm91cnRlZW5wYXJlbj05MzQ1O2UuZm91cnRlZW5wZXJpb2Q9OTM2NTtlLmZvdXJ0aGFpPTM2Njg7ZS5mb3VydGh0b25lY2hpbmVzZT03MTU7ZS5mcGFyZW49OTM3NztlLmZyYWN0aW9uPTgyNjA7ZS5mcmFuYz04MzU1O2UuZz0xMDM7ZS5nYWJlbmdhbGk9MjQ1NTtlLmdhY3V0ZT01MDE7ZS5nYWRldmE9MjMyNztlLmdhZmFyYWJpYz0xNzExO2UuZ2FmZmluYWxhcmFiaWM9NjQ0MDM7ZS5nYWZpbml0aWFsYXJhYmljPTY0NDA0O2UuZ2FmbWVkaWFsYXJhYmljPTY0NDA1O2UuZ2FndWphcmF0aT0yNzExO2UuZ2FndXJtdWtoaT0yNTgzO2UuZ2FoaXJhZ2FuYT0xMjM2NDtlLmdha2F0YWthbmE9MTI0NjA7ZS5nYW1tYT05NDc7ZS5nYW1tYWxhdGluc21hbGw9NjExO2UuZ2FtbWFzdXBlcmlvcj03MzY7ZS5nYW5naWFjb3B0aWM9MTAwMztlLmdib3BvbW9mbz0xMjU1NztlLmdicmV2ZT0yODc7ZS5nY2Fyb249NDg3O2UuZ2NlZGlsbGE9MjkxO2UuZ2NpcmNsZT05NDMwO2UuZ2NpcmN1bWZsZXg9Mjg1O2UuZ2NvbW1hYWNjZW50PTI5MTtlLmdkb3Q9Mjg5O2UuZ2RvdGFjY2VudD0yODk7ZS5nZWN5cmlsbGljPTEwNzU7ZS5nZWhpcmFnYW5hPTEyMzcwO2UuZ2VrYXRha2FuYT0xMjQ2NjtlLmdlb21ldHJpY2FsbHllcXVhbD04Nzg1O2UuZ2VyZXNoYWNjZW50aGVicmV3PTE0MzY7ZS5nZXJlc2hoZWJyZXc9MTUyMztlLmdlcmVzaG11cWRhbWhlYnJldz0xNDM3O2UuZ2VybWFuZGJscz0yMjM7ZS5nZXJzaGF5aW1hY2NlbnRoZWJyZXc9MTQzODtlLmdlcnNoYXlpbWhlYnJldz0xNTI0O2UuZ2V0YW1hcms9MTIzMDc7ZS5naGFiZW5nYWxpPTI0NTY7ZS5naGFkYXJtZW5pYW49MTM5NDtlLmdoYWRldmE9MjMyODtlLmdoYWd1amFyYXRpPTI3MTI7ZS5naGFndXJtdWtoaT0yNTg0O2UuZ2hhaW5hcmFiaWM9MTU5NDtlLmdoYWluZmluYWxhcmFiaWM9NjUyMzA7ZS5naGFpbmluaXRpYWxhcmFiaWM9NjUyMzE7ZS5naGFpbm1lZGlhbGFyYWJpYz02NTIzMjtlLmdoZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTczO2UuZ2hlc3Ryb2tlY3lyaWxsaWM9MTE3MTtlLmdoZXVwdHVybmN5cmlsbGljPTExNjk7ZS5naGhhZGV2YT0yMzk0O2UuZ2hoYWd1cm11a2hpPTI2NTA7ZS5naG9vaz02MDg7ZS5naHpzcXVhcmU9MTMyMDM7ZS5naWhpcmFnYW5hPTEyMzY2O2UuZ2lrYXRha2FuYT0xMjQ2MjtlLmdpbWFybWVuaWFuPTEzNzk7ZS5naW1lbD0xNDkwO2UuZ2ltZWxkYWdlc2g9NjQzMDY7ZS5naW1lbGRhZ2VzaGhlYnJldz02NDMwNjtlLmdpbWVsaGVicmV3PTE0OTA7ZS5namVjeXJpbGxpYz0xMTA3O2UuZ2xvdHRhbGludmVydGVkc3Ryb2tlPTQ0NjtlLmdsb3R0YWxzdG9wPTY2MDtlLmdsb3R0YWxzdG9waW52ZXJ0ZWQ9NjYyO2UuZ2xvdHRhbHN0b3Btb2Q9NzA0O2UuZ2xvdHRhbHN0b3ByZXZlcnNlZD02NjE7ZS5nbG90dGFsc3RvcHJldmVyc2VkbW9kPTcwNTtlLmdsb3R0YWxzdG9wcmV2ZXJzZWRzdXBlcmlvcj03NDA7ZS5nbG90dGFsc3RvcHN0cm9rZT02NzM7ZS5nbG90dGFsc3RvcHN0cm9rZXJldmVyc2VkPTY3NDtlLmdtYWNyb249NzcxMztlLmdtb25vc3BhY2U9NjUzNTE7ZS5nb2hpcmFnYW5hPTEyMzcyO2UuZ29rYXRha2FuYT0xMjQ2ODtlLmdwYXJlbj05Mzc4O2UuZ3Bhc3F1YXJlPTEzMjI4O2UuZ3JhZGllbnQ9ODcxMTtlLmdyYXZlPTk2O2UuZ3JhdmViZWxvd2NtYj03OTA7ZS5ncmF2ZWNtYj03Njg7ZS5ncmF2ZWNvbWI9NzY4O2UuZ3JhdmVkZXZhPTIzODc7ZS5ncmF2ZWxvd21vZD03MTg7ZS5ncmF2ZW1vbm9zcGFjZT02NTM0NDtlLmdyYXZldG9uZWNtYj04MzI7ZS5ncmVhdGVyPTYyO2UuZ3JlYXRlcmVxdWFsPTg4MDU7ZS5ncmVhdGVyZXF1YWxvcmxlc3M9ODkyMztlLmdyZWF0ZXJtb25vc3BhY2U9NjUzMTA7ZS5ncmVhdGVyb3JlcXVpdmFsZW50PTg4MTk7ZS5ncmVhdGVyb3JsZXNzPTg4MjM7ZS5ncmVhdGVyb3ZlcmVxdWFsPTg4MDc7ZS5ncmVhdGVyc21hbGw9NjUxMjU7ZS5nc2NyaXB0PTYwOTtlLmdzdHJva2U9NDg1O2UuZ3VoaXJhZ2FuYT0xMjM2ODtlLmd1aWxsZW1vdGxlZnQ9MTcxO2UuZ3VpbGxlbW90cmlnaHQ9MTg3O2UuZ3VpbHNpbmdsbGVmdD04MjQ5O2UuZ3VpbHNpbmdscmlnaHQ9ODI1MDtlLmd1a2F0YWthbmE9MTI0NjQ7ZS5ndXJhbXVzcXVhcmU9MTMwODA7ZS5neXNxdWFyZT0xMzI1NztlLmg9MTA0O2UuaGFhYmtoYXNpYW5jeXJpbGxpYz0xMTkzO2UuaGFhbHRvbmVhcmFiaWM9MTcyOTtlLmhhYmVuZ2FsaT0yNDg5O2UuaGFkZXNjZW5kZXJjeXJpbGxpYz0xMjAzO2UuaGFkZXZhPTIzNjE7ZS5oYWd1amFyYXRpPTI3NDU7ZS5oYWd1cm11a2hpPTI2MTc7ZS5oYWhhcmFiaWM9MTU4MTtlLmhhaGZpbmFsYXJhYmljPTY1MTg2O2UuaGFoaW5pdGlhbGFyYWJpYz02NTE4NztlLmhhaGlyYWdhbmE9MTIzOTk7ZS5oYWhtZWRpYWxhcmFiaWM9NjUxODg7ZS5oYWl0dXNxdWFyZT0xMzA5ODtlLmhha2F0YWthbmE9MTI0OTU7ZS5oYWthdGFrYW5haGFsZndpZHRoPTY1NDE4O2UuaGFsYW50Z3VybXVraGk9MjYzNztlLmhhbXphYXJhYmljPTE1Njk7ZS5oYW16YWxvd2FyYWJpYz0xNTY5O2UuaGFuZ3VsZmlsbGVyPTEyNjQ0O2UuaGFyZHNpZ25jeXJpbGxpYz0xMDk4O2UuaGFycG9vbmxlZnRiYXJidXA9ODYzNjtlLmhhcnBvb25yaWdodGJhcmJ1cD04NjQwO2UuaGFzcXVhcmU9MTMyNTg7ZS5oYXRhZnBhdGFoPTE0NTg7ZS5oYXRhZnBhdGFoMTY9MTQ1ODtlLmhhdGFmcGF0YWgyMz0xNDU4O2UuaGF0YWZwYXRhaDJmPTE0NTg7ZS5oYXRhZnBhdGFoaGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFobmFycm93aGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFocXVhcnRlcmhlYnJldz0xNDU4O2UuaGF0YWZwYXRhaHdpZGVoZWJyZXc9MTQ1ODtlLmhhdGFmcWFtYXRzPTE0NTk7ZS5oYXRhZnFhbWF0czFiPTE0NTk7ZS5oYXRhZnFhbWF0czI4PTE0NTk7ZS5oYXRhZnFhbWF0czM0PTE0NTk7ZS5oYXRhZnFhbWF0c2hlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHNuYXJyb3doZWJyZXc9MTQ1OTtlLmhhdGFmcWFtYXRzcXVhcnRlcmhlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHN3aWRlaGVicmV3PTE0NTk7ZS5oYXRhZnNlZ29sPTE0NTc7ZS5oYXRhZnNlZ29sMTc9MTQ1NztlLmhhdGFmc2Vnb2wyND0xNDU3O2UuaGF0YWZzZWdvbDMwPTE0NTc7ZS5oYXRhZnNlZ29saGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29sbmFycm93aGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29scXVhcnRlcmhlYnJldz0xNDU3O2UuaGF0YWZzZWdvbHdpZGVoZWJyZXc9MTQ1NztlLmhiYXI9Mjk1O2UuaGJvcG9tb2ZvPTEyNTU5O2UuaGJyZXZlYmVsb3c9NzcyMztlLmhjZWRpbGxhPTc3MjE7ZS5oY2lyY2xlPTk0MzE7ZS5oY2lyY3VtZmxleD0yOTM7ZS5oZGllcmVzaXM9NzcxOTtlLmhkb3RhY2NlbnQ9NzcxNTtlLmhkb3RiZWxvdz03NzE3O2UuaGU9MTQ5MjtlLmhlYXJ0PTk4Mjk7ZS5oZWFydHN1aXRibGFjaz05ODI5O2UuaGVhcnRzdWl0d2hpdGU9OTgyNTtlLmhlZGFnZXNoPTY0MzA4O2UuaGVkYWdlc2hoZWJyZXc9NjQzMDg7ZS5oZWhhbHRvbmVhcmFiaWM9MTcyOTtlLmhlaGFyYWJpYz0xNjA3O2UuaGVoZWJyZXc9MTQ5MjtlLmhlaGZpbmFsYWx0b25lYXJhYmljPTY0NDIzO2UuaGVoZmluYWxhbHR0d29hcmFiaWM9NjUyNTg7ZS5oZWhmaW5hbGFyYWJpYz02NTI1ODtlLmhlaGhhbXphYWJvdmVmaW5hbGFyYWJpYz02NDQyMTtlLmhlaGhhbXphYWJvdmVpc29sYXRlZGFyYWJpYz02NDQyMDtlLmhlaGluaXRpYWxhbHRvbmVhcmFiaWM9NjQ0MjQ7ZS5oZWhpbml0aWFsYXJhYmljPTY1MjU5O2UuaGVoaXJhZ2FuYT0xMjQwODtlLmhlaG1lZGlhbGFsdG9uZWFyYWJpYz02NDQyNTtlLmhlaG1lZGlhbGFyYWJpYz02NTI2MDtlLmhlaXNlaWVyYXNxdWFyZT0xMzE3OTtlLmhla2F0YWthbmE9MTI1MDQ7ZS5oZWthdGFrYW5haGFsZndpZHRoPTY1NDIxO2UuaGVrdXRhYXJ1c3F1YXJlPTEzMTEwO2UuaGVuZ2hvb2s9NjE1O2UuaGVydXR1c3F1YXJlPTEzMTEzO2UuaGV0PTE0OTU7ZS5oZXRoZWJyZXc9MTQ5NTtlLmhob29rPTYxNDtlLmhob29rc3VwZXJpb3I9Njg5O2UuaGlldWhhY2lyY2xla29yZWFuPTEyOTIzO2UuaGlldWhhcGFyZW5rb3JlYW49MTI4Mjc7ZS5oaWV1aGNpcmNsZWtvcmVhbj0xMjkwOTtlLmhpZXVoa29yZWFuPTEyNjIyO2UuaGlldWhwYXJlbmtvcmVhbj0xMjgxMztlLmhpaGlyYWdhbmE9MTI0MDI7ZS5oaWthdGFrYW5hPTEyNDk4O2UuaGlrYXRha2FuYWhhbGZ3aWR0aD02NTQxOTtlLmhpcmlxPTE0NjA7ZS5oaXJpcTE0PTE0NjA7ZS5oaXJpcTIxPTE0NjA7ZS5oaXJpcTJkPTE0NjA7ZS5oaXJpcWhlYnJldz0xNDYwO2UuaGlyaXFuYXJyb3doZWJyZXc9MTQ2MDtlLmhpcmlxcXVhcnRlcmhlYnJldz0xNDYwO2UuaGlyaXF3aWRlaGVicmV3PTE0NjA7ZS5obGluZWJlbG93PTc4MzA7ZS5obW9ub3NwYWNlPTY1MzUyO2UuaG9hcm1lbmlhbj0xMzkyO2UuaG9oaXB0aGFpPTM2Mjc7ZS5ob2hpcmFnYW5hPTEyNDExO2UuaG9rYXRha2FuYT0xMjUwNztlLmhva2F0YWthbmFoYWxmd2lkdGg9NjU0MjI7ZS5ob2xhbT0xNDY1O2UuaG9sYW0xOT0xNDY1O2UuaG9sYW0yNj0xNDY1O2UuaG9sYW0zMj0xNDY1O2UuaG9sYW1oZWJyZXc9MTQ2NTtlLmhvbGFtbmFycm93aGVicmV3PTE0NjU7ZS5ob2xhbXF1YXJ0ZXJoZWJyZXc9MTQ2NTtlLmhvbGFtd2lkZWhlYnJldz0xNDY1O2UuaG9ub2todWt0aGFpPTM2MzA7ZS5ob29rYWJvdmVjb21iPTc3NztlLmhvb2tjbWI9Nzc3O2UuaG9va3BhbGF0YWxpemVkYmVsb3djbWI9ODAxO2UuaG9va3JldHJvZmxleGJlbG93Y21iPTgwMjtlLmhvb25zcXVhcmU9MTMxMjI7ZS5ob3JpY29wdGljPTEwMDE7ZS5ob3Jpem9udGFsYmFyPTgyMTM7ZS5ob3JuY21iPTc5NTtlLmhvdHNwcmluZ3M9OTgzMjtlLmhvdXNlPTg5NjI7ZS5ocGFyZW49OTM3OTtlLmhzdXBlcmlvcj02ODg7ZS5odHVybmVkPTYxMztlLmh1aGlyYWdhbmE9MTI0MDU7ZS5odWlpdG9zcXVhcmU9MTMxMDc7ZS5odWthdGFrYW5hPTEyNTAxO2UuaHVrYXRha2FuYWhhbGZ3aWR0aD02NTQyMDtlLmh1bmdhcnVtbGF1dD03MzM7ZS5odW5nYXJ1bWxhdXRjbWI9Nzc5O2UuaHY9NDA1O2UuaHlwaGVuPTQ1O2UuaHlwaGVuaW5mZXJpb3I9NjMyMDU7ZS5oeXBoZW5tb25vc3BhY2U9NjUyOTM7ZS5oeXBoZW5zbWFsbD02NTEyMztlLmh5cGhlbnN1cGVyaW9yPTYzMjA2O2UuaHlwaGVudHdvPTgyMDg7ZS5pPTEwNTtlLmlhY3V0ZT0yMzc7ZS5pYWN5cmlsbGljPTExMDM7ZS5pYmVuZ2FsaT0yNDM5O2UuaWJvcG9tb2ZvPTEyNTgzO2UuaWJyZXZlPTMwMTtlLmljYXJvbj00NjQ7ZS5pY2lyY2xlPTk0MzI7ZS5pY2lyY3VtZmxleD0yMzg7ZS5pY3lyaWxsaWM9MTExMDtlLmlkYmxncmF2ZT01MjE7ZS5pZGVvZ3JhcGhlYXJ0aGNpcmNsZT0xMjk0MztlLmlkZW9ncmFwaGZpcmVjaXJjbGU9MTI5Mzk7ZS5pZGVvZ3JhcGhpY2FsbGlhbmNlcGFyZW49MTI4NjM7ZS5pZGVvZ3JhcGhpY2NhbGxwYXJlbj0xMjg1ODtlLmlkZW9ncmFwaGljY2VudHJlY2lyY2xlPTEyOTY1O2UuaWRlb2dyYXBoaWNjbG9zZT0xMjI5NDtlLmlkZW9ncmFwaGljY29tbWE9MTIyODk7ZS5pZGVvZ3JhcGhpY2NvbW1hbGVmdD02NTM4MDtlLmlkZW9ncmFwaGljY29uZ3JhdHVsYXRpb25wYXJlbj0xMjg1NTtlLmlkZW9ncmFwaGljY29ycmVjdGNpcmNsZT0xMjk2MztlLmlkZW9ncmFwaGljZWFydGhwYXJlbj0xMjg0NztlLmlkZW9ncmFwaGljZW50ZXJwcmlzZXBhcmVuPTEyODYxO2UuaWRlb2dyYXBoaWNleGNlbGxlbnRjaXJjbGU9MTI5NTc7ZS5pZGVvZ3JhcGhpY2Zlc3RpdmFscGFyZW49MTI4NjQ7ZS5pZGVvZ3JhcGhpY2ZpbmFuY2lhbGNpcmNsZT0xMjk1MDtlLmlkZW9ncmFwaGljZmluYW5jaWFscGFyZW49MTI4NTQ7ZS5pZGVvZ3JhcGhpY2ZpcmVwYXJlbj0xMjg0MztlLmlkZW9ncmFwaGljaGF2ZXBhcmVuPTEyODUwO2UuaWRlb2dyYXBoaWNoaWdoY2lyY2xlPTEyOTY0O2UuaWRlb2dyYXBoaWNpdGVyYXRpb25tYXJrPTEyMjkzO2UuaWRlb2dyYXBoaWNsYWJvcmNpcmNsZT0xMjk1MjtlLmlkZW9ncmFwaGljbGFib3JwYXJlbj0xMjg1NjtlLmlkZW9ncmFwaGljbGVmdGNpcmNsZT0xMjk2NztlLmlkZW9ncmFwaGljbG93Y2lyY2xlPTEyOTY2O2UuaWRlb2dyYXBoaWNtZWRpY2luZWNpcmNsZT0xMjk2OTtlLmlkZW9ncmFwaGljbWV0YWxwYXJlbj0xMjg0NjtlLmlkZW9ncmFwaGljbW9vbnBhcmVuPTEyODQyO2UuaWRlb2dyYXBoaWNuYW1lcGFyZW49MTI4NTI7ZS5pZGVvZ3JhcGhpY3BlcmlvZD0xMjI5MDtlLmlkZW9ncmFwaGljcHJpbnRjaXJjbGU9MTI5NTg7ZS5pZGVvZ3JhcGhpY3JlYWNocGFyZW49MTI4Njc7ZS5pZGVvZ3JhcGhpY3JlcHJlc2VudHBhcmVuPTEyODU3O2UuaWRlb2dyYXBoaWNyZXNvdXJjZXBhcmVuPTEyODYyO2UuaWRlb2dyYXBoaWNyaWdodGNpcmNsZT0xMjk2ODtlLmlkZW9ncmFwaGljc2VjcmV0Y2lyY2xlPTEyOTUzO2UuaWRlb2dyYXBoaWNzZWxmcGFyZW49MTI4NjY7ZS5pZGVvZ3JhcGhpY3NvY2lldHlwYXJlbj0xMjg1MTtlLmlkZW9ncmFwaGljc3BhY2U9MTIyODg7ZS5pZGVvZ3JhcGhpY3NwZWNpYWxwYXJlbj0xMjg1MztlLmlkZW9ncmFwaGljc3RvY2twYXJlbj0xMjg0OTtlLmlkZW9ncmFwaGljc3R1ZHlwYXJlbj0xMjg1OTtlLmlkZW9ncmFwaGljc3VucGFyZW49MTI4NDg7ZS5pZGVvZ3JhcGhpY3N1cGVydmlzZXBhcmVuPTEyODYwO2UuaWRlb2dyYXBoaWN3YXRlcnBhcmVuPTEyODQ0O2UuaWRlb2dyYXBoaWN3b29kcGFyZW49MTI4NDU7ZS5pZGVvZ3JhcGhpY3plcm89MTIyOTU7ZS5pZGVvZ3JhcGhtZXRhbGNpcmNsZT0xMjk0MjtlLmlkZW9ncmFwaG1vb25jaXJjbGU9MTI5Mzg7ZS5pZGVvZ3JhcGhuYW1lY2lyY2xlPTEyOTQ4O2UuaWRlb2dyYXBoc3VuY2lyY2xlPTEyOTQ0O2UuaWRlb2dyYXBod2F0ZXJjaXJjbGU9MTI5NDA7ZS5pZGVvZ3JhcGh3b29kY2lyY2xlPTEyOTQxO2UuaWRldmE9MjMxMTtlLmlkaWVyZXNpcz0yMzk7ZS5pZGllcmVzaXNhY3V0ZT03NzI3O2UuaWRpZXJlc2lzY3lyaWxsaWM9MTI1MztlLmlkb3RiZWxvdz03ODgzO2UuaWVicmV2ZWN5cmlsbGljPTEyMzk7ZS5pZWN5cmlsbGljPTEwNzc7ZS5pZXVuZ2FjaXJjbGVrb3JlYW49MTI5MTc7ZS5pZXVuZ2FwYXJlbmtvcmVhbj0xMjgyMTtlLmlldW5nY2lyY2xla29yZWFuPTEyOTAzO2UuaWV1bmdrb3JlYW49MTI2MTU7ZS5pZXVuZ3BhcmVua29yZWFuPTEyODA3O2UuaWdyYXZlPTIzNjtlLmlndWphcmF0aT0yNjk1O2UuaWd1cm11a2hpPTI1Njc7ZS5paGlyYWdhbmE9MTIzNTY7ZS5paG9va2Fib3ZlPTc4ODE7ZS5paWJlbmdhbGk9MjQ0MDtlLmlpY3lyaWxsaWM9MTA4MDtlLmlpZGV2YT0yMzEyO2UuaWlndWphcmF0aT0yNjk2O2UuaWlndXJtdWtoaT0yNTY4O2UuaWltYXRyYWd1cm11a2hpPTI2MjQ7ZS5paW52ZXJ0ZWRicmV2ZT01MjM7ZS5paXNob3J0Y3lyaWxsaWM9MTA4MTtlLmlpdm93ZWxzaWduYmVuZ2FsaT0yNDk2O2UuaWl2b3dlbHNpZ25kZXZhPTIzNjg7ZS5paXZvd2Vsc2lnbmd1amFyYXRpPTI3NTI7ZS5paj0zMDc7ZS5pa2F0YWthbmE9MTI0NTI7ZS5pa2F0YWthbmFoYWxmd2lkdGg9NjUzOTQ7ZS5pa29yZWFuPTEyNjQzO2UuaWxkZT03MzI7ZS5pbHV5aGVicmV3PTE0NTI7ZS5pbWFjcm9uPTI5OTtlLmltYWNyb25jeXJpbGxpYz0xMjUxO2UuaW1hZ2VvcmFwcHJveGltYXRlbHllcXVhbD04Nzg3O2UuaW1hdHJhZ3VybXVraGk9MjYyMztlLmltb25vc3BhY2U9NjUzNTM7ZS5pbmNyZW1lbnQ9ODcxMDtlLmluZmluaXR5PTg3MzQ7ZS5pbmlhcm1lbmlhbj0xMzg3O2UuaW50ZWdyYWw9ODc0NztlLmludGVncmFsYm90dG9tPTg5OTM7ZS5pbnRlZ3JhbGJ0PTg5OTM7ZS5pbnRlZ3JhbGV4PTYzNzMzO2UuaW50ZWdyYWx0b3A9ODk5MjtlLmludGVncmFsdHA9ODk5MjtlLmludGVyc2VjdGlvbj04NzQ1O2UuaW50aXNxdWFyZT0xMzA2MTtlLmludmJ1bGxldD05Njg4O2UuaW52Y2lyY2xlPTk2ODk7ZS5pbnZzbWlsZWZhY2U9OTc4NztlLmlvY3lyaWxsaWM9MTEwNTtlLmlvZ29uZWs9MzAzO2UuaW90YT05NTM7ZS5pb3RhZGllcmVzaXM9OTcwO2UuaW90YWRpZXJlc2lzdG9ub3M9OTEyO2UuaW90YWxhdGluPTYxNztlLmlvdGF0b25vcz05NDM7ZS5pcGFyZW49OTM4MDtlLmlyaWd1cm11a2hpPTI2NzQ7ZS5pc21hbGxoaXJhZ2FuYT0xMjM1NTtlLmlzbWFsbGthdGFrYW5hPTEyNDUxO2UuaXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODQ7ZS5pc3NoYXJiZW5nYWxpPTI1NTQ7ZS5pc3Ryb2tlPTYxNjtlLmlzdXBlcmlvcj02MzIxMztlLml0ZXJhdGlvbmhpcmFnYW5hPTEyNDQ1O2UuaXRlcmF0aW9ua2F0YWthbmE9MTI1NDE7ZS5pdGlsZGU9Mjk3O2UuaXRpbGRlYmVsb3c9NzcyNTtlLml1Ym9wb21vZm89MTI1ODU7ZS5pdWN5cmlsbGljPTExMDI7ZS5pdm93ZWxzaWduYmVuZ2FsaT0yNDk1O2UuaXZvd2Vsc2lnbmRldmE9MjM2NztlLml2b3dlbHNpZ25ndWphcmF0aT0yNzUxO2UuaXpoaXRzYWN5cmlsbGljPTExNDE7ZS5pemhpdHNhZGJsZ3JhdmVjeXJpbGxpYz0xMTQzO2Uuaj0xMDY7ZS5qYWFybWVuaWFuPTEzOTM7ZS5qYWJlbmdhbGk9MjQ2MDtlLmphZGV2YT0yMzMyO2UuamFndWphcmF0aT0yNzE2O2UuamFndXJtdWtoaT0yNTg4O2UuamJvcG9tb2ZvPTEyNTYwO2UuamNhcm9uPTQ5NjtlLmpjaXJjbGU9OTQzMztlLmpjaXJjdW1mbGV4PTMwOTtlLmpjcm9zc2VkdGFpbD02Njk7ZS5qZG90bGVzc3N0cm9rZT02MDc7ZS5qZWN5cmlsbGljPTExMTI7ZS5qZWVtYXJhYmljPTE1ODA7ZS5qZWVtZmluYWxhcmFiaWM9NjUxODI7ZS5qZWVtaW5pdGlhbGFyYWJpYz02NTE4MztlLmplZW1tZWRpYWxhcmFiaWM9NjUxODQ7ZS5qZWhhcmFiaWM9MTY4ODtlLmplaGZpbmFsYXJhYmljPTY0Mzk1O2UuamhhYmVuZ2FsaT0yNDYxO2UuamhhZGV2YT0yMzMzO2UuamhhZ3VqYXJhdGk9MjcxNztlLmpoYWd1cm11a2hpPTI1ODk7ZS5qaGVoYXJtZW5pYW49MTQwMztlLmppcz0xMjI5MjtlLmptb25vc3BhY2U9NjUzNTQ7ZS5qcGFyZW49OTM4MTtlLmpzdXBlcmlvcj02OTA7ZS5rPTEwNztlLmthYmFzaGtpcmN5cmlsbGljPTExODU7ZS5rYWJlbmdhbGk9MjQ1MztlLmthY3V0ZT03NzI5O2Uua2FjeXJpbGxpYz0xMDgyO2Uua2FkZXNjZW5kZXJjeXJpbGxpYz0xMTc5O2Uua2FkZXZhPTIzMjU7ZS5rYWY9MTQ5OTtlLmthZmFyYWJpYz0xNjAzO2Uua2FmZGFnZXNoPTY0MzE1O2Uua2FmZGFnZXNoaGVicmV3PTY0MzE1O2Uua2FmZmluYWxhcmFiaWM9NjUyNDI7ZS5rYWZoZWJyZXc9MTQ5OTtlLmthZmluaXRpYWxhcmFiaWM9NjUyNDM7ZS5rYWZtZWRpYWxhcmFiaWM9NjUyNDQ7ZS5rYWZyYWZlaGVicmV3PTY0MzMzO2Uua2FndWphcmF0aT0yNzA5O2Uua2FndXJtdWtoaT0yNTgxO2Uua2FoaXJhZ2FuYT0xMjM2MztlLmthaG9va2N5cmlsbGljPTEyMjA7ZS5rYWthdGFrYW5hPTEyNDU5O2Uua2FrYXRha2FuYWhhbGZ3aWR0aD02NTM5ODtlLmthcHBhPTk1NDtlLmthcHBhc3ltYm9sZ3JlZWs9MTAwODtlLmthcHllb3VubWlldW1rb3JlYW49MTI2NTc7ZS5rYXB5ZW91bnBoaWV1cGhrb3JlYW49MTI2NzY7ZS5rYXB5ZW91bnBpZXVwa29yZWFuPTEyNjY0O2Uua2FweWVvdW5zc2FuZ3BpZXVwa29yZWFuPTEyNjY1O2Uua2Fyb3JpaXNxdWFyZT0xMzA2OTtlLmthc2hpZGFhdXRvYXJhYmljPTE2MDA7ZS5rYXNoaWRhYXV0b25vc2lkZWJlYXJpbmdhcmFiaWM9MTYwMDtlLmthc21hbGxrYXRha2FuYT0xMjUzMztlLmthc3F1YXJlPTEzMTg4O2Uua2FzcmFhcmFiaWM9MTYxNjtlLmthc3JhdGFuYXJhYmljPTE2MTM7ZS5rYXN0cm9rZWN5cmlsbGljPTExODM7ZS5rYXRhaGlyYXByb2xvbmdtYXJraGFsZndpZHRoPTY1MzkyO2Uua2F2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljPTExODE7ZS5rYm9wb21vZm89MTI1NTg7ZS5rY2Fsc3F1YXJlPTEzMTkzO2Uua2Nhcm9uPTQ4OTtlLmtjZWRpbGxhPTMxMTtlLmtjaXJjbGU9OTQzNDtlLmtjb21tYWFjY2VudD0zMTE7ZS5rZG90YmVsb3c9NzczMTtlLmtlaGFybWVuaWFuPTE0MTI7ZS5rZWhpcmFnYW5hPTEyMzY5O2Uua2VrYXRha2FuYT0xMjQ2NTtlLmtla2F0YWthbmFoYWxmd2lkdGg9NjU0MDE7ZS5rZW5hcm1lbmlhbj0xMzkxO2Uua2VzbWFsbGthdGFrYW5hPTEyNTM0O2Uua2dyZWVubGFuZGljPTMxMjtlLmtoYWJlbmdhbGk9MjQ1NDtlLmtoYWN5cmlsbGljPTEwOTM7ZS5raGFkZXZhPTIzMjY7ZS5raGFndWphcmF0aT0yNzEwO2Uua2hhZ3VybXVraGk9MjU4MjtlLmtoYWhhcmFiaWM9MTU4MjtlLmtoYWhmaW5hbGFyYWJpYz02NTE5MDtlLmtoYWhpbml0aWFsYXJhYmljPTY1MTkxO2Uua2hhaG1lZGlhbGFyYWJpYz02NTE5MjtlLmtoZWljb3B0aWM9OTk5O2Uua2hoYWRldmE9MjM5MztlLmtoaGFndXJtdWtoaT0yNjQ5O2Uua2hpZXVraGFjaXJjbGVrb3JlYW49MTI5MjA7ZS5raGlldWtoYXBhcmVua29yZWFuPTEyODI0O2Uua2hpZXVraGNpcmNsZWtvcmVhbj0xMjkwNjtlLmtoaWV1a2hrb3JlYW49MTI2MTk7ZS5raGlldWtocGFyZW5rb3JlYW49MTI4MTA7ZS5raG9raGFpdGhhaT0zNTg2O2Uua2hva2hvbnRoYWk9MzU4OTtlLmtob2todWF0dGhhaT0zNTg3O2Uua2hva2h3YWl0aGFpPTM1ODg7ZS5raG9tdXR0aGFpPTM2NzU7ZS5raG9vaz00MDk7ZS5raG9yYWtoYW5ndGhhaT0zNTkwO2Uua2h6c3F1YXJlPTEzMjAxO2Uua2loaXJhZ2FuYT0xMjM2NTtlLmtpa2F0YWthbmE9MTI0NjE7ZS5raWthdGFrYW5haGFsZndpZHRoPTY1Mzk5O2Uua2lyb2d1cmFtdXNxdWFyZT0xMzA3NztlLmtpcm9tZWV0b3J1c3F1YXJlPTEzMDc4O2Uua2lyb3NxdWFyZT0xMzA3NjtlLmtpeWVva2FjaXJjbGVrb3JlYW49MTI5MTA7ZS5raXllb2thcGFyZW5rb3JlYW49MTI4MTQ7ZS5raXllb2tjaXJjbGVrb3JlYW49MTI4OTY7ZS5raXllb2trb3JlYW49MTI1OTM7ZS5raXllb2twYXJlbmtvcmVhbj0xMjgwMDtlLmtpeWVva3Npb3Nrb3JlYW49MTI1OTU7ZS5ramVjeXJpbGxpYz0xMTE2O2Uua2xpbmViZWxvdz03NzMzO2Uua2xzcXVhcmU9MTMyMDg7ZS5rbWN1YmVkc3F1YXJlPTEzMjIyO2Uua21vbm9zcGFjZT02NTM1NTtlLmttc3F1YXJlZHNxdWFyZT0xMzIxODtlLmtvaGlyYWdhbmE9MTIzNzE7ZS5rb2htc3F1YXJlPTEzMjQ4O2Uua29rYWl0aGFpPTM1ODU7ZS5rb2thdGFrYW5hPTEyNDY3O2Uua29rYXRha2FuYWhhbGZ3aWR0aD02NTQwMjtlLmtvb3Bvc3F1YXJlPTEzMDg2O2Uua29wcGFjeXJpbGxpYz0xMTUzO2Uua29yZWFuc3RhbmRhcmRzeW1ib2w9MTI5Mjc7ZS5rb3JvbmlzY21iPTgzNTtlLmtwYXJlbj05MzgyO2Uua3Bhc3F1YXJlPTEzMjI2O2Uua3NpY3lyaWxsaWM9MTEzNTtlLmt0c3F1YXJlPTEzMjYzO2Uua3R1cm5lZD02NzA7ZS5rdWhpcmFnYW5hPTEyMzY3O2Uua3VrYXRha2FuYT0xMjQ2MztlLmt1a2F0YWthbmFoYWxmd2lkdGg9NjU0MDA7ZS5rdnNxdWFyZT0xMzI0MDtlLmt3c3F1YXJlPTEzMjQ2O2UubD0xMDg7ZS5sYWJlbmdhbGk9MjQ4MjtlLmxhY3V0ZT0zMTQ7ZS5sYWRldmE9MjM1NDtlLmxhZ3VqYXJhdGk9MjczODtlLmxhZ3VybXVraGk9MjYxMDtlLmxha2toYW5neWFvdGhhaT0zNjUzO2UubGFtYWxlZmZpbmFsYXJhYmljPTY1Mjc2O2UubGFtYWxlZmhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTI3MjtlLmxhbWFsZWZoYW16YWFib3ZlaXNvbGF0ZWRhcmFiaWM9NjUyNzE7ZS5sYW1hbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljPTY1Mjc0O2UubGFtYWxlZmhhbXphYmVsb3dpc29sYXRlZGFyYWJpYz02NTI3MztlLmxhbWFsZWZpc29sYXRlZGFyYWJpYz02NTI3NTtlLmxhbWFsZWZtYWRkYWFib3ZlZmluYWxhcmFiaWM9NjUyNzA7ZS5sYW1hbGVmbWFkZGFhYm92ZWlzb2xhdGVkYXJhYmljPTY1MjY5O2UubGFtYXJhYmljPTE2MDQ7ZS5sYW1iZGE9OTU1O2UubGFtYmRhc3Ryb2tlPTQxMTtlLmxhbWVkPTE1MDA7ZS5sYW1lZGRhZ2VzaD02NDMxNjtlLmxhbWVkZGFnZXNoaGVicmV3PTY0MzE2O2UubGFtZWRoZWJyZXc9MTUwMDtlLmxhbWZpbmFsYXJhYmljPTY1MjQ2O2UubGFtaGFoaW5pdGlhbGFyYWJpYz02NDcxNDtlLmxhbWluaXRpYWxhcmFiaWM9NjUyNDc7ZS5sYW1qZWVtaW5pdGlhbGFyYWJpYz02NDcxMztlLmxhbWtoYWhpbml0aWFsYXJhYmljPTY0NzE1O2UubGFtbGFtaGVoaXNvbGF0ZWRhcmFiaWM9NjUwMTA7ZS5sYW1tZWRpYWxhcmFiaWM9NjUyNDg7ZS5sYW1tZWVtaGFoaW5pdGlhbGFyYWJpYz02NDkwNDtlLmxhbW1lZW1pbml0aWFsYXJhYmljPTY0NzE2O2UubGFyZ2VjaXJjbGU9OTcxMTtlLmxiYXI9NDEwO2UubGJlbHQ9NjIwO2UubGJvcG9tb2ZvPTEyNTU2O2UubGNhcm9uPTMxODtlLmxjZWRpbGxhPTMxNjtlLmxjaXJjbGU9OTQzNTtlLmxjaXJjdW1mbGV4YmVsb3c9Nzc0MTtlLmxjb21tYWFjY2VudD0zMTY7ZS5sZG90PTMyMDtlLmxkb3RhY2NlbnQ9MzIwO2UubGRvdGJlbG93PTc3MzU7ZS5sZG90YmVsb3dtYWNyb249NzczNztlLmxlZnRhbmdsZWFib3ZlY21iPTc5NDtlLmxlZnR0YWNrYmVsb3djbWI9NzkyO2UubGVzcz02MDtlLmxlc3NlcXVhbD04ODA0O2UubGVzc2VxdWFsb3JncmVhdGVyPTg5MjI7ZS5sZXNzbW9ub3NwYWNlPTY1MzA4O2UubGVzc29yZXF1aXZhbGVudD04ODE4O2UubGVzc29yZ3JlYXRlcj04ODIyO2UubGVzc292ZXJlcXVhbD04ODA2O2UubGVzc3NtYWxsPTY1MTI0O2UubGV6aD02MjI7ZS5sZmJsb2NrPTk2MTI7ZS5saG9va3JldHJvZmxleD02MjE7ZS5saXJhPTgzNTY7ZS5saXduYXJtZW5pYW49MTM4ODtlLmxqPTQ1NztlLmxqZWN5cmlsbGljPTExMTM7ZS5sbD02MzE2ODtlLmxsYWRldmE9MjM1NTtlLmxsYWd1amFyYXRpPTI3Mzk7ZS5sbGluZWJlbG93PTc3Mzk7ZS5sbGxhZGV2YT0yMzU2O2UubGx2b2NhbGljYmVuZ2FsaT0yNTI5O2UubGx2b2NhbGljZGV2YT0yNDAxO2UubGx2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTMxO2UubGx2b2NhbGljdm93ZWxzaWduZGV2YT0yNDAzO2UubG1pZGRsZXRpbGRlPTYxOTtlLmxtb25vc3BhY2U9NjUzNTY7ZS5sbXNxdWFyZT0xMzI2NDtlLmxvY2h1bGF0aGFpPTM2Mjg7ZS5sb2dpY2FsYW5kPTg3NDM7ZS5sb2dpY2Fsbm90PTE3MjtlLmxvZ2ljYWxub3RyZXZlcnNlZD04OTc2O2UubG9naWNhbG9yPTg3NDQ7ZS5sb2xpbmd0aGFpPTM2MjE7ZS5sb25ncz0zODM7ZS5sb3dsaW5lY2VudGVybGluZT02NTEwMjtlLmxvd2xpbmVjbWI9ODE4O2UubG93bGluZWRhc2hlZD02NTEwMTtlLmxvemVuZ2U9OTY3NDtlLmxwYXJlbj05MzgzO2UubHNsYXNoPTMyMjtlLmxzcXVhcmU9ODQ2NztlLmxzdXBlcmlvcj02MzIxNDtlLmx0c2hhZGU9OTYxNztlLmx1dGhhaT0zNjIyO2UubHZvY2FsaWNiZW5nYWxpPTI0NDQ7ZS5sdm9jYWxpY2RldmE9MjMxNjtlLmx2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTMwO2UubHZvY2FsaWN2b3dlbHNpZ25kZXZhPTI0MDI7ZS5seHNxdWFyZT0xMzI2NztlLm09MTA5O2UubWFiZW5nYWxpPTI0Nzg7ZS5tYWNyb249MTc1O2UubWFjcm9uYmVsb3djbWI9ODE3O2UubWFjcm9uY21iPTc3MjtlLm1hY3Jvbmxvd21vZD03MTc7ZS5tYWNyb25tb25vc3BhY2U9NjU1MDc7ZS5tYWN1dGU9Nzc0MztlLm1hZGV2YT0yMzUwO2UubWFndWphcmF0aT0yNzM0O2UubWFndXJtdWtoaT0yNjA2O2UubWFoYXBha2hoZWJyZXc9MTQ0NDtlLm1haGFwYWtobGVmdGhlYnJldz0xNDQ0O2UubWFoaXJhZ2FuYT0xMjQxNDtlLm1haWNoYXR0YXdhbG93bGVmdHRoYWk9NjM2Mzc7ZS5tYWljaGF0dGF3YWxvd3JpZ2h0dGhhaT02MzYzNjtlLm1haWNoYXR0YXdhdGhhaT0zNjU5O2UubWFpY2hhdHRhd2F1cHBlcmxlZnR0aGFpPTYzNjM1O2UubWFpZWtsb3dsZWZ0dGhhaT02MzYyODtlLm1haWVrbG93cmlnaHR0aGFpPTYzNjI3O2UubWFpZWt0aGFpPTM2NTY7ZS5tYWlla3VwcGVybGVmdHRoYWk9NjM2MjY7ZS5tYWloYW5ha2F0bGVmdHRoYWk9NjM2MjA7ZS5tYWloYW5ha2F0dGhhaT0zNjMzO2UubWFpdGFpa2h1bGVmdHRoYWk9NjM2MjU7ZS5tYWl0YWlraHV0aGFpPTM2NTU7ZS5tYWl0aG9sb3dsZWZ0dGhhaT02MzYzMTtlLm1haXRob2xvd3JpZ2h0dGhhaT02MzYzMDtlLm1haXRob3RoYWk9MzY1NztlLm1haXRob3VwcGVybGVmdHRoYWk9NjM2Mjk7ZS5tYWl0cmlsb3dsZWZ0dGhhaT02MzYzNDtlLm1haXRyaWxvd3JpZ2h0dGhhaT02MzYzMztlLm1haXRyaXRoYWk9MzY1ODtlLm1haXRyaXVwcGVybGVmdHRoYWk9NjM2MzI7ZS5tYWl5YW1va3RoYWk9MzY1NDtlLm1ha2F0YWthbmE9MTI1MTA7ZS5tYWthdGFrYW5haGFsZndpZHRoPTY1NDIzO2UubWFsZT05Nzk0O2UubWFuc3lvbnNxdWFyZT0xMzEyNztlLm1hcWFmaGVicmV3PTE0NzA7ZS5tYXJzPTk3OTQ7ZS5tYXNvcmFjaXJjbGVoZWJyZXc9MTQ1NTtlLm1hc3F1YXJlPTEzMTg3O2UubWJvcG9tb2ZvPTEyNTUxO2UubWJzcXVhcmU9MTMyNjg7ZS5tY2lyY2xlPTk0MzY7ZS5tY3ViZWRzcXVhcmU9MTMyMjE7ZS5tZG90YWNjZW50PTc3NDU7ZS5tZG90YmVsb3c9Nzc0NztlLm1lZW1hcmFiaWM9MTYwNTtlLm1lZW1maW5hbGFyYWJpYz02NTI1MDtlLm1lZW1pbml0aWFsYXJhYmljPTY1MjUxO2UubWVlbW1lZGlhbGFyYWJpYz02NTI1MjtlLm1lZW1tZWVtaW5pdGlhbGFyYWJpYz02NDcyMTtlLm1lZW1tZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1ODQ7ZS5tZWV0b3J1c3F1YXJlPTEzMTMzO2UubWVoaXJhZ2FuYT0xMjQxNztlLm1laXppZXJhc3F1YXJlPTEzMTgyO2UubWVrYXRha2FuYT0xMjUxMztlLm1la2F0YWthbmFoYWxmd2lkdGg9NjU0MjY7ZS5tZW09MTUwMjtlLm1lbWRhZ2VzaD02NDMxODtlLm1lbWRhZ2VzaGhlYnJldz02NDMxODtlLm1lbWhlYnJldz0xNTAyO2UubWVuYXJtZW5pYW49MTM5NjtlLm1lcmtoYWhlYnJldz0xNDQ1O2UubWVya2hha2VmdWxhaGVicmV3PTE0NDY7ZS5tZXJraGFrZWZ1bGFsZWZ0aGVicmV3PTE0NDY7ZS5tZXJraGFsZWZ0aGVicmV3PTE0NDU7ZS5taG9vaz02MjU7ZS5taHpzcXVhcmU9MTMyMDI7ZS5taWRkbGVkb3RrYXRha2FuYWhhbGZ3aWR0aD02NTM4MTtlLm1pZGRvdD0xODM7ZS5taWV1bWFjaXJjbGVrb3JlYW49MTI5MTQ7ZS5taWV1bWFwYXJlbmtvcmVhbj0xMjgxODtlLm1pZXVtY2lyY2xla29yZWFuPTEyOTAwO2UubWlldW1rb3JlYW49MTI2MDk7ZS5taWV1bXBhbnNpb3Nrb3JlYW49MTI2NTY7ZS5taWV1bXBhcmVua29yZWFuPTEyODA0O2UubWlldW1waWV1cGtvcmVhbj0xMjY1NDtlLm1pZXVtc2lvc2tvcmVhbj0xMjY1NTtlLm1paGlyYWdhbmE9MTI0MTU7ZS5taWthdGFrYW5hPTEyNTExO2UubWlrYXRha2FuYWhhbGZ3aWR0aD02NTQyNDtlLm1pbnVzPTg3MjI7ZS5taW51c2JlbG93Y21iPTgwMDtlLm1pbnVzY2lyY2xlPTg4NTQ7ZS5taW51c21vZD03Mjc7ZS5taW51c3BsdXM9ODcyMztlLm1pbnV0ZT04MjQyO2UubWlyaWJhYXJ1c3F1YXJlPTEzMTMwO2UubWlyaXNxdWFyZT0xMzEyOTtlLm1sb25nbGVndHVybmVkPTYyNDtlLm1sc3F1YXJlPTEzMjA2O2UubW1jdWJlZHNxdWFyZT0xMzIxOTtlLm1tb25vc3BhY2U9NjUzNTc7ZS5tbXNxdWFyZWRzcXVhcmU9MTMyMTU7ZS5tb2hpcmFnYW5hPTEyNDE4O2UubW9obXNxdWFyZT0xMzI0OTtlLm1va2F0YWthbmE9MTI1MTQ7ZS5tb2thdGFrYW5haGFsZndpZHRoPTY1NDI3O2UubW9sc3F1YXJlPTEzMjcwO2UubW9tYXRoYWk9MzYxNztlLm1vdmVyc3NxdWFyZT0xMzIyMztlLm1vdmVyc3NxdWFyZWRzcXVhcmU9MTMyMjQ7ZS5tcGFyZW49OTM4NDtlLm1wYXNxdWFyZT0xMzIyNztlLm1zc3F1YXJlPTEzMjM1O2UubXN1cGVyaW9yPTYzMjE1O2UubXR1cm5lZD02MjM7ZS5tdT0xODE7ZS5tdTE9MTgxO2UubXVhc3F1YXJlPTEzMTg2O2UubXVjaGdyZWF0ZXI9ODgxMTtlLm11Y2hsZXNzPTg4MTA7ZS5tdWZzcXVhcmU9MTMxOTY7ZS5tdWdyZWVrPTk1NjtlLm11Z3NxdWFyZT0xMzE5NztlLm11aGlyYWdhbmE9MTI0MTY7ZS5tdWthdGFrYW5hPTEyNTEyO2UubXVrYXRha2FuYWhhbGZ3aWR0aD02NTQyNTtlLm11bHNxdWFyZT0xMzIwNTtlLm11bHRpcGx5PTIxNTtlLm11bXNxdWFyZT0xMzIxMTtlLm11bmFoaGVicmV3PTE0NDM7ZS5tdW5haGxlZnRoZWJyZXc9MTQ0MztlLm11c2ljYWxub3RlPTk4MzQ7ZS5tdXNpY2Fsbm90ZWRibD05ODM1O2UubXVzaWNmbGF0c2lnbj05ODM3O2UubXVzaWNzaGFycHNpZ249OTgzOTtlLm11c3NxdWFyZT0xMzIzNDtlLm11dnNxdWFyZT0xMzIzODtlLm11d3NxdWFyZT0xMzI0NDtlLm12bWVnYXNxdWFyZT0xMzI0MTtlLm12c3F1YXJlPTEzMjM5O2UubXdtZWdhc3F1YXJlPTEzMjQ3O2UubXdzcXVhcmU9MTMyNDU7ZS5uPTExMDtlLm5hYmVuZ2FsaT0yNDcyO2UubmFibGE9ODcxMTtlLm5hY3V0ZT0zMjQ7ZS5uYWRldmE9MjM0NDtlLm5hZ3VqYXJhdGk9MjcyODtlLm5hZ3VybXVraGk9MjYwMDtlLm5haGlyYWdhbmE9MTIzOTQ7ZS5uYWthdGFrYW5hPTEyNDkwO2UubmFrYXRha2FuYWhhbGZ3aWR0aD02NTQxMztlLm5hcG9zdHJvcGhlPTMyOTtlLm5hc3F1YXJlPTEzMTg1O2UubmJvcG9tb2ZvPTEyNTU1O2UubmJzcGFjZT0xNjA7ZS5uY2Fyb249MzI4O2UubmNlZGlsbGE9MzI2O2UubmNpcmNsZT05NDM3O2UubmNpcmN1bWZsZXhiZWxvdz03NzU1O2UubmNvbW1hYWNjZW50PTMyNjtlLm5kb3RhY2NlbnQ9Nzc0OTtlLm5kb3RiZWxvdz03NzUxO2UubmVoaXJhZ2FuYT0xMjM5NztlLm5la2F0YWthbmE9MTI0OTM7ZS5uZWthdGFrYW5haGFsZndpZHRoPTY1NDE2O2UubmV3c2hlcWVsc2lnbj04MzYyO2UubmZzcXVhcmU9MTMxOTU7ZS5uZ2FiZW5nYWxpPTI0NTc7ZS5uZ2FkZXZhPTIzMjk7ZS5uZ2FndWphcmF0aT0yNzEzO2UubmdhZ3VybXVraGk9MjU4NTtlLm5nb25ndXRoYWk9MzU5MTtlLm5oaXJhZ2FuYT0xMjQzNTtlLm5ob29rbGVmdD02MjY7ZS5uaG9va3JldHJvZmxleD02Mjc7ZS5uaWV1bmFjaXJjbGVrb3JlYW49MTI5MTE7ZS5uaWV1bmFwYXJlbmtvcmVhbj0xMjgxNTtlLm5pZXVuY2lldWNrb3JlYW49MTI1OTc7ZS5uaWV1bmNpcmNsZWtvcmVhbj0xMjg5NztlLm5pZXVuaGlldWhrb3JlYW49MTI1OTg7ZS5uaWV1bmtvcmVhbj0xMjU5NjtlLm5pZXVucGFuc2lvc2tvcmVhbj0xMjY0ODtlLm5pZXVucGFyZW5rb3JlYW49MTI4MDE7ZS5uaWV1bnNpb3Nrb3JlYW49MTI2NDc7ZS5uaWV1bnRpa2V1dGtvcmVhbj0xMjY0NjtlLm5paGlyYWdhbmE9MTIzOTU7ZS5uaWthdGFrYW5hPTEyNDkxO2UubmlrYXRha2FuYWhhbGZ3aWR0aD02NTQxNDtlLm5pa2hhaGl0bGVmdHRoYWk9NjM2NDE7ZS5uaWtoYWhpdHRoYWk9MzY2MTtlLm5pbmU9NTc7ZS5uaW5lYXJhYmljPTE2NDE7ZS5uaW5lYmVuZ2FsaT0yNTQzO2UubmluZWNpcmNsZT05MzIwO2UubmluZWNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMzA7ZS5uaW5lZGV2YT0yNDE1O2UubmluZWd1amFyYXRpPTI3OTk7ZS5uaW5lZ3VybXVraGk9MjY3MTtlLm5pbmVoYWNrYXJhYmljPTE2NDE7ZS5uaW5laGFuZ3pob3U9MTIzMjk7ZS5uaW5laWRlb2dyYXBoaWNwYXJlbj0xMjg0MDtlLm5pbmVpbmZlcmlvcj04MzI5O2UubmluZW1vbm9zcGFjZT02NTMwNTtlLm5pbmVvbGRzdHlsZT02MzI4OTtlLm5pbmVwYXJlbj05MzQwO2UubmluZXBlcmlvZD05MzYwO2UubmluZXBlcnNpYW49MTc4NTtlLm5pbmVyb21hbj04NTY4O2UubmluZXN1cGVyaW9yPTgzMTM7ZS5uaW5ldGVlbmNpcmNsZT05MzMwO2UubmluZXRlZW5wYXJlbj05MzUwO2UubmluZXRlZW5wZXJpb2Q9OTM3MDtlLm5pbmV0aGFpPTM2NzM7ZS5uaj00NjA7ZS5uamVjeXJpbGxpYz0xMTE0O2UubmthdGFrYW5hPTEyNTMxO2UubmthdGFrYW5haGFsZndpZHRoPTY1NDM3O2UubmxlZ3JpZ2h0bG9uZz00MTQ7ZS5ubGluZWJlbG93PTc3NTM7ZS5ubW9ub3NwYWNlPTY1MzU4O2Uubm1zcXVhcmU9MTMyMTA7ZS5ubmFiZW5nYWxpPTI0Njc7ZS5ubmFkZXZhPTIzMzk7ZS5ubmFndWphcmF0aT0yNzIzO2Uubm5hZ3VybXVraGk9MjU5NTtlLm5ubmFkZXZhPTIzNDU7ZS5ub2hpcmFnYW5hPTEyMzk4O2Uubm9rYXRha2FuYT0xMjQ5NDtlLm5va2F0YWthbmFoYWxmd2lkdGg9NjU0MTc7ZS5ub25icmVha2luZ3NwYWNlPTE2MDtlLm5vbmVudGhhaT0zNjAzO2Uubm9udXRoYWk9MzYwOTtlLm5vb25hcmFiaWM9MTYwNjtlLm5vb25maW5hbGFyYWJpYz02NTI1NDtlLm5vb25naHVubmFhcmFiaWM9MTcyMjtlLm5vb25naHVubmFmaW5hbGFyYWJpYz02NDQxNTtlLm5vb25pbml0aWFsYXJhYmljPTY1MjU1O2Uubm9vbmplZW1pbml0aWFsYXJhYmljPTY0NzIyO2Uubm9vbmplZW1pc29sYXRlZGFyYWJpYz02NDU4NztlLm5vb25tZWRpYWxhcmFiaWM9NjUyNTY7ZS5ub29ubWVlbWluaXRpYWxhcmFiaWM9NjQ3MjU7ZS5ub29ubWVlbWlzb2xhdGVkYXJhYmljPTY0NTkwO2Uubm9vbm5vb25maW5hbGFyYWJpYz02NDY1MztlLm5vdGNvbnRhaW5zPTg3MTY7ZS5ub3RlbGVtZW50PTg3MTM7ZS5ub3RlbGVtZW50b2Y9ODcxMztlLm5vdGVxdWFsPTg4MDA7ZS5ub3RncmVhdGVyPTg4MTU7ZS5ub3RncmVhdGVybm9yZXF1YWw9ODgxNztlLm5vdGdyZWF0ZXJub3JsZXNzPTg4MjU7ZS5ub3RpZGVudGljYWw9ODgwMjtlLm5vdGxlc3M9ODgxNDtlLm5vdGxlc3Nub3JlcXVhbD04ODE2O2Uubm90cGFyYWxsZWw9ODc0MjtlLm5vdHByZWNlZGVzPTg4MzI7ZS5ub3RzdWJzZXQ9ODgzNjtlLm5vdHN1Y2NlZWRzPTg4MzM7ZS5ub3RzdXBlcnNldD04ODM3O2Uubm93YXJtZW5pYW49MTM5ODtlLm5wYXJlbj05Mzg1O2UubnNzcXVhcmU9MTMyMzM7ZS5uc3VwZXJpb3I9ODMxOTtlLm50aWxkZT0yNDE7ZS5udT05NTc7ZS5udWhpcmFnYW5hPTEyMzk2O2UubnVrYXRha2FuYT0xMjQ5MjtlLm51a2F0YWthbmFoYWxmd2lkdGg9NjU0MTU7ZS5udWt0YWJlbmdhbGk9MjQ5MjtlLm51a3RhZGV2YT0yMzY0O2UubnVrdGFndWphcmF0aT0yNzQ4O2UubnVrdGFndXJtdWtoaT0yNjIwO2UubnVtYmVyc2lnbj0zNTtlLm51bWJlcnNpZ25tb25vc3BhY2U9NjUyODM7ZS5udW1iZXJzaWduc21hbGw9NjUxMTk7ZS5udW1lcmFsc2lnbmdyZWVrPTg4NDtlLm51bWVyYWxzaWdubG93ZXJncmVlaz04ODU7ZS5udW1lcm89ODQ3MDtlLm51bj0xNTA0O2UubnVuZGFnZXNoPTY0MzIwO2UubnVuZGFnZXNoaGVicmV3PTY0MzIwO2UubnVuaGVicmV3PTE1MDQ7ZS5udnNxdWFyZT0xMzIzNztlLm53c3F1YXJlPTEzMjQzO2UubnlhYmVuZ2FsaT0yNDYyO2UubnlhZGV2YT0yMzM0O2UubnlhZ3VqYXJhdGk9MjcxODtlLm55YWd1cm11a2hpPTI1OTA7ZS5vPTExMTtlLm9hY3V0ZT0yNDM7ZS5vYW5ndGhhaT0zNjI5O2Uub2JhcnJlZD02Mjk7ZS5vYmFycmVkY3lyaWxsaWM9MTI1NztlLm9iYXJyZWRkaWVyZXNpc2N5cmlsbGljPTEyNTk7ZS5vYmVuZ2FsaT0yNDUxO2Uub2JvcG9tb2ZvPTEyNTcxO2Uub2JyZXZlPTMzNTtlLm9jYW5kcmFkZXZhPTIzMjE7ZS5vY2FuZHJhZ3VqYXJhdGk9MjcwNTtlLm9jYW5kcmF2b3dlbHNpZ25kZXZhPTIzNzc7ZS5vY2FuZHJhdm93ZWxzaWduZ3VqYXJhdGk9Mjc2MTtlLm9jYXJvbj00NjY7ZS5vY2lyY2xlPTk0Mzg7ZS5vY2lyY3VtZmxleD0yNDQ7ZS5vY2lyY3VtZmxleGFjdXRlPTc4ODk7ZS5vY2lyY3VtZmxleGRvdGJlbG93PTc4OTc7ZS5vY2lyY3VtZmxleGdyYXZlPTc4OTE7ZS5vY2lyY3VtZmxleGhvb2thYm92ZT03ODkzO2Uub2NpcmN1bWZsZXh0aWxkZT03ODk1O2Uub2N5cmlsbGljPTEwODY7ZS5vZGJsYWN1dGU9MzM3O2Uub2RibGdyYXZlPTUyNTtlLm9kZXZhPTIzMjM7ZS5vZGllcmVzaXM9MjQ2O2Uub2RpZXJlc2lzY3lyaWxsaWM9MTI1NTtlLm9kb3RiZWxvdz03ODg1O2Uub2U9MzM5O2Uub2Vrb3JlYW49MTI2MzQ7ZS5vZ29uZWs9NzMxO2Uub2dvbmVrY21iPTgwODtlLm9ncmF2ZT0yNDI7ZS5vZ3VqYXJhdGk9MjcwNztlLm9oYXJtZW5pYW49MTQxMztlLm9oaXJhZ2FuYT0xMjM2MjtlLm9ob29rYWJvdmU9Nzg4NztlLm9ob3JuPTQxNztlLm9ob3JuYWN1dGU9Nzg5OTtlLm9ob3JuZG90YmVsb3c9NzkwNztlLm9ob3JuZ3JhdmU9NzkwMTtlLm9ob3JuaG9va2Fib3ZlPTc5MDM7ZS5vaG9ybnRpbGRlPTc5MDU7ZS5vaHVuZ2FydW1sYXV0PTMzNztlLm9pPTQxOTtlLm9pbnZlcnRlZGJyZXZlPTUyNztlLm9rYXRha2FuYT0xMjQ1ODtlLm9rYXRha2FuYWhhbGZ3aWR0aD02NTM5NztlLm9rb3JlYW49MTI2MzE7ZS5vbGVoZWJyZXc9MTQ1MTtlLm9tYWNyb249MzMzO2Uub21hY3JvbmFjdXRlPTc3NjM7ZS5vbWFjcm9uZ3JhdmU9Nzc2MTtlLm9tZGV2YT0yMzg0O2Uub21lZ2E9OTY5O2Uub21lZ2ExPTk4MjtlLm9tZWdhY3lyaWxsaWM9MTEyMTtlLm9tZWdhbGF0aW5jbG9zZWQ9NjMxO2Uub21lZ2Fyb3VuZGN5cmlsbGljPTExNDc7ZS5vbWVnYXRpdGxvY3lyaWxsaWM9MTE0OTtlLm9tZWdhdG9ub3M9OTc0O2Uub21ndWphcmF0aT0yNzY4O2Uub21pY3Jvbj05NTk7ZS5vbWljcm9udG9ub3M9OTcyO2Uub21vbm9zcGFjZT02NTM1OTtlLm9uZT00OTtlLm9uZWFyYWJpYz0xNjMzO2Uub25lYmVuZ2FsaT0yNTM1O2Uub25lY2lyY2xlPTkzMTI7ZS5vbmVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTIyO2Uub25lZGV2YT0yNDA3O2Uub25lZG90ZW5sZWFkZXI9ODIyODtlLm9uZWVpZ2h0aD04NTM5O2Uub25lZml0dGVkPTYzMTk2O2Uub25lZ3VqYXJhdGk9Mjc5MTtlLm9uZWd1cm11a2hpPTI2NjM7ZS5vbmVoYWNrYXJhYmljPTE2MzM7ZS5vbmVoYWxmPTE4OTtlLm9uZWhhbmd6aG91PTEyMzIxO2Uub25laWRlb2dyYXBoaWNwYXJlbj0xMjgzMjtlLm9uZWluZmVyaW9yPTgzMjE7ZS5vbmVtb25vc3BhY2U9NjUyOTc7ZS5vbmVudW1lcmF0b3JiZW5nYWxpPTI1NDg7ZS5vbmVvbGRzdHlsZT02MzI4MTtlLm9uZXBhcmVuPTkzMzI7ZS5vbmVwZXJpb2Q9OTM1MjtlLm9uZXBlcnNpYW49MTc3NztlLm9uZXF1YXJ0ZXI9MTg4O2Uub25lcm9tYW49ODU2MDtlLm9uZXN1cGVyaW9yPTE4NTtlLm9uZXRoYWk9MzY2NTtlLm9uZXRoaXJkPTg1MzE7ZS5vb2dvbmVrPTQ5MTtlLm9vZ29uZWttYWNyb249NDkzO2Uub29ndXJtdWtoaT0yNTc5O2Uub29tYXRyYWd1cm11a2hpPTI2MzU7ZS5vb3Blbj01OTY7ZS5vcGFyZW49OTM4NjtlLm9wZW5idWxsZXQ9OTcwMjtlLm9wdGlvbj04OTk3O2Uub3JkZmVtaW5pbmU9MTcwO2Uub3JkbWFzY3VsaW5lPTE4NjtlLm9ydGhvZ29uYWw9ODczNTtlLm9zaG9ydGRldmE9MjMyMjtlLm9zaG9ydHZvd2Vsc2lnbmRldmE9MjM3ODtlLm9zbGFzaD0yNDg7ZS5vc2xhc2hhY3V0ZT01MTE7ZS5vc21hbGxoaXJhZ2FuYT0xMjM2MTtlLm9zbWFsbGthdGFrYW5hPTEyNDU3O2Uub3NtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODc7ZS5vc3Ryb2tlYWN1dGU9NTExO2Uub3N1cGVyaW9yPTYzMjE2O2Uub3RjeXJpbGxpYz0xMTUxO2Uub3RpbGRlPTI0NTtlLm90aWxkZWFjdXRlPTc3NTc7ZS5vdGlsZGVkaWVyZXNpcz03NzU5O2Uub3Vib3BvbW9mbz0xMjU3NztlLm92ZXJsaW5lPTgyNTQ7ZS5vdmVybGluZWNlbnRlcmxpbmU9NjUwOTg7ZS5vdmVybGluZWNtYj03NzM7ZS5vdmVybGluZWRhc2hlZD02NTA5NztlLm92ZXJsaW5lZGJsd2F2eT02NTEwMDtlLm92ZXJsaW5ld2F2eT02NTA5OTtlLm92ZXJzY29yZT0xNzU7ZS5vdm93ZWxzaWduYmVuZ2FsaT0yNTA3O2Uub3Zvd2Vsc2lnbmRldmE9MjM3OTtlLm92b3dlbHNpZ25ndWphcmF0aT0yNzYzO2UucD0xMTI7ZS5wYWFtcHNzcXVhcmU9MTMxODQ7ZS5wYWFzZW50b3NxdWFyZT0xMzA5OTtlLnBhYmVuZ2FsaT0yNDc0O2UucGFjdXRlPTc3NjU7ZS5wYWRldmE9MjM0NjtlLnBhZ2Vkb3duPTg2NzE7ZS5wYWdldXA9ODY3MDtlLnBhZ3VqYXJhdGk9MjczMDtlLnBhZ3VybXVraGk9MjYwMjtlLnBhaGlyYWdhbmE9MTI0MDE7ZS5wYWl5YW5ub2l0aGFpPTM2MzE7ZS5wYWthdGFrYW5hPTEyNDk3O2UucGFsYXRhbGl6YXRpb25jeXJpbGxpY2NtYj0xMTU2O2UucGFsb2Noa2FjeXJpbGxpYz0xMjE2O2UucGFuc2lvc2tvcmVhbj0xMjY3MTtlLnBhcmFncmFwaD0xODI7ZS5wYXJhbGxlbD04NzQxO2UucGFyZW5sZWZ0PTQwO2UucGFyZW5sZWZ0YWx0b25lYXJhYmljPTY0ODMwO2UucGFyZW5sZWZ0YnQ9NjM3MjU7ZS5wYXJlbmxlZnRleD02MzcyNDtlLnBhcmVubGVmdGluZmVyaW9yPTgzMzM7ZS5wYXJlbmxlZnRtb25vc3BhY2U9NjUyODg7ZS5wYXJlbmxlZnRzbWFsbD02NTExMztlLnBhcmVubGVmdHN1cGVyaW9yPTgzMTc7ZS5wYXJlbmxlZnR0cD02MzcyMztlLnBhcmVubGVmdHZlcnRpY2FsPTY1MDc3O2UucGFyZW5yaWdodD00MTtlLnBhcmVucmlnaHRhbHRvbmVhcmFiaWM9NjQ4MzE7ZS5wYXJlbnJpZ2h0YnQ9NjM3MzY7ZS5wYXJlbnJpZ2h0ZXg9NjM3MzU7ZS5wYXJlbnJpZ2h0aW5mZXJpb3I9ODMzNDtlLnBhcmVucmlnaHRtb25vc3BhY2U9NjUyODk7ZS5wYXJlbnJpZ2h0c21hbGw9NjUxMTQ7ZS5wYXJlbnJpZ2h0c3VwZXJpb3I9ODMxODtlLnBhcmVucmlnaHR0cD02MzczNDtlLnBhcmVucmlnaHR2ZXJ0aWNhbD02NTA3ODtlLnBhcnRpYWxkaWZmPTg3MDY7ZS5wYXNlcWhlYnJldz0xNDcyO2UucGFzaHRhaGVicmV3PTE0MzM7ZS5wYXNxdWFyZT0xMzIyNTtlLnBhdGFoPTE0NjM7ZS5wYXRhaDExPTE0NjM7ZS5wYXRhaDFkPTE0NjM7ZS5wYXRhaDJhPTE0NjM7ZS5wYXRhaGhlYnJldz0xNDYzO2UucGF0YWhuYXJyb3doZWJyZXc9MTQ2MztlLnBhdGFocXVhcnRlcmhlYnJldz0xNDYzO2UucGF0YWh3aWRlaGVicmV3PTE0NjM7ZS5wYXplcmhlYnJldz0xNDQxO2UucGJvcG9tb2ZvPTEyNTUwO2UucGNpcmNsZT05NDM5O2UucGRvdGFjY2VudD03NzY3O2UucGU9MTUwODtlLnBlY3lyaWxsaWM9MTA4NztlLnBlZGFnZXNoPTY0MzI0O2UucGVkYWdlc2hoZWJyZXc9NjQzMjQ7ZS5wZWV6aXNxdWFyZT0xMzExNTtlLnBlZmluYWxkYWdlc2hoZWJyZXc9NjQzMjM7ZS5wZWhhcmFiaWM9MTY2MjtlLnBlaGFybWVuaWFuPTE0MDI7ZS5wZWhlYnJldz0xNTA4O2UucGVoZmluYWxhcmFiaWM9NjQzNDM7ZS5wZWhpbml0aWFsYXJhYmljPTY0MzQ0O2UucGVoaXJhZ2FuYT0xMjQxMDtlLnBlaG1lZGlhbGFyYWJpYz02NDM0NTtlLnBla2F0YWthbmE9MTI1MDY7ZS5wZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTkxO2UucGVyYWZlaGVicmV3PTY0MzM0O2UucGVyY2VudD0zNztlLnBlcmNlbnRhcmFiaWM9MTY0MjtlLnBlcmNlbnRtb25vc3BhY2U9NjUyODU7ZS5wZXJjZW50c21hbGw9NjUxMzA7ZS5wZXJpb2Q9NDY7ZS5wZXJpb2Rhcm1lbmlhbj0xNDE3O2UucGVyaW9kY2VudGVyZWQ9MTgzO2UucGVyaW9kaGFsZndpZHRoPTY1Mzc3O2UucGVyaW9kaW5mZXJpb3I9NjMyMDc7ZS5wZXJpb2Rtb25vc3BhY2U9NjUyOTQ7ZS5wZXJpb2RzbWFsbD02NTEwNjtlLnBlcmlvZHN1cGVyaW9yPTYzMjA4O2UucGVyaXNwb21lbmlncmVla2NtYj04MzQ7ZS5wZXJwZW5kaWN1bGFyPTg4Njk7ZS5wZXJ0aG91c2FuZD04MjQwO2UucGVzZXRhPTgzNTk7ZS5wZnNxdWFyZT0xMzE5NDtlLnBoYWJlbmdhbGk9MjQ3NTtlLnBoYWRldmE9MjM0NztlLnBoYWd1amFyYXRpPTI3MzE7ZS5waGFndXJtdWtoaT0yNjAzO2UucGhpPTk2NjtlLnBoaTE9OTgxO2UucGhpZXVwaGFjaXJjbGVrb3JlYW49MTI5MjI7ZS5waGlldXBoYXBhcmVua29yZWFuPTEyODI2O2UucGhpZXVwaGNpcmNsZWtvcmVhbj0xMjkwODtlLnBoaWV1cGhrb3JlYW49MTI2MjE7ZS5waGlldXBocGFyZW5rb3JlYW49MTI4MTI7ZS5waGlsYXRpbj02MzI7ZS5waGludGh1dGhhaT0zNjQyO2UucGhpc3ltYm9sZ3JlZWs9OTgxO2UucGhvb2s9NDIxO2UucGhvcGhhbnRoYWk9MzYxNDtlLnBob3BodW5ndGhhaT0zNjEyO2UucGhvc2FtcGhhb3RoYWk9MzYxNjtlLnBpPTk2MDtlLnBpZXVwYWNpcmNsZWtvcmVhbj0xMjkxNTtlLnBpZXVwYXBhcmVua29yZWFuPTEyODE5O2UucGlldXBjaWV1Y2tvcmVhbj0xMjY2MjtlLnBpZXVwY2lyY2xla29yZWFuPTEyOTAxO2UucGlldXBraXllb2trb3JlYW49MTI2NTg7ZS5waWV1cGtvcmVhbj0xMjYxMDtlLnBpZXVwcGFyZW5rb3JlYW49MTI4MDU7ZS5waWV1cHNpb3NraXllb2trb3JlYW49MTI2NjA7ZS5waWV1cHNpb3Nrb3JlYW49MTI2MTI7ZS5waWV1cHNpb3N0aWtldXRrb3JlYW49MTI2NjE7ZS5waWV1cHRoaWV1dGhrb3JlYW49MTI2NjM7ZS5waWV1cHRpa2V1dGtvcmVhbj0xMjY1OTtlLnBpaGlyYWdhbmE9MTI0MDQ7ZS5waWthdGFrYW5hPTEyNTAwO2UucGlzeW1ib2xncmVlaz05ODI7ZS5waXdyYXJtZW5pYW49MTQxMTtlLnBsYW5ja292ZXIycGk9ODQ2MztlLnBsYW5ja292ZXIycGkxPTg0NjM7ZS5wbHVzPTQzO2UucGx1c2JlbG93Y21iPTc5OTtlLnBsdXNjaXJjbGU9ODg1MztlLnBsdXNtaW51cz0xNzc7ZS5wbHVzbW9kPTcyNjtlLnBsdXNtb25vc3BhY2U9NjUyOTE7ZS5wbHVzc21hbGw9NjUxMjI7ZS5wbHVzc3VwZXJpb3I9ODMxNDtlLnBtb25vc3BhY2U9NjUzNjA7ZS5wbXNxdWFyZT0xMzI3MjtlLnBvaGlyYWdhbmE9MTI0MTM7ZS5wb2ludGluZ2luZGV4ZG93bndoaXRlPTk3NTk7ZS5wb2ludGluZ2luZGV4bGVmdHdoaXRlPTk3NTY7ZS5wb2ludGluZ2luZGV4cmlnaHR3aGl0ZT05NzU4O2UucG9pbnRpbmdpbmRleHVwd2hpdGU9OTc1NztlLnBva2F0YWthbmE9MTI1MDk7ZS5wb3BsYXRoYWk9MzYxMTtlLnBvc3RhbG1hcms9MTIzMDY7ZS5wb3N0YWxtYXJrZmFjZT0xMjMyMDtlLnBwYXJlbj05Mzg3O2UucHJlY2VkZXM9ODgyNjtlLnByZXNjcmlwdGlvbj04NDc4O2UucHJpbWVtb2Q9Njk3O2UucHJpbWVyZXZlcnNlZD04MjQ1O2UucHJvZHVjdD04NzE5O2UucHJvamVjdGl2ZT04OTY1O2UucHJvbG9uZ2Vka2FuYT0xMjU0MDtlLnByb3BlbGxvcj04OTg0O2UucHJvcGVyc3Vic2V0PTg4MzQ7ZS5wcm9wZXJzdXBlcnNldD04ODM1O2UucHJvcG9ydGlvbj04NzU5O2UucHJvcG9ydGlvbmFsPTg3MzM7ZS5wc2k9OTY4O2UucHNpY3lyaWxsaWM9MTEzNztlLnBzaWxpcG5ldW1hdGFjeXJpbGxpY2NtYj0xMTU4O2UucHNzcXVhcmU9MTMyMzI7ZS5wdWhpcmFnYW5hPTEyNDA3O2UucHVrYXRha2FuYT0xMjUwMztlLnB2c3F1YXJlPTEzMjM2O2UucHdzcXVhcmU9MTMyNDI7ZS5xPTExMztlLnFhZGV2YT0yMzkyO2UucWFkbWFoZWJyZXc9MTQ0ODtlLnFhZmFyYWJpYz0xNjAyO2UucWFmZmluYWxhcmFiaWM9NjUyMzg7ZS5xYWZpbml0aWFsYXJhYmljPTY1MjM5O2UucWFmbWVkaWFsYXJhYmljPTY1MjQwO2UucWFtYXRzPTE0NjQ7ZS5xYW1hdHMxMD0xNDY0O2UucWFtYXRzMWE9MTQ2NDtlLnFhbWF0czFjPTE0NjQ7ZS5xYW1hdHMyNz0xNDY0O2UucWFtYXRzMjk9MTQ2NDtlLnFhbWF0czMzPTE0NjQ7ZS5xYW1hdHNkZT0xNDY0O2UucWFtYXRzaGVicmV3PTE0NjQ7ZS5xYW1hdHNuYXJyb3doZWJyZXc9MTQ2NDtlLnFhbWF0c3FhdGFuaGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbm5hcnJvd2hlYnJldz0xNDY0O2UucWFtYXRzcWF0YW5xdWFydGVyaGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbndpZGVoZWJyZXc9MTQ2NDtlLnFhbWF0c3F1YXJ0ZXJoZWJyZXc9MTQ2NDtlLnFhbWF0c3dpZGVoZWJyZXc9MTQ2NDtlLnFhcm5leXBhcmFoZWJyZXc9MTQzOTtlLnFib3BvbW9mbz0xMjU2MTtlLnFjaXJjbGU9OTQ0MDtlLnFob29rPTY3MjtlLnFtb25vc3BhY2U9NjUzNjE7ZS5xb2Y9MTUxMTtlLnFvZmRhZ2VzaD02NDMyNztlLnFvZmRhZ2VzaGhlYnJldz02NDMyNztlLnFvZmhlYnJldz0xNTExO2UucXBhcmVuPTkzODg7ZS5xdWFydGVybm90ZT05ODMzO2UucXVidXRzPTE0Njc7ZS5xdWJ1dHMxOD0xNDY3O2UucXVidXRzMjU9MTQ2NztlLnF1YnV0czMxPTE0Njc7ZS5xdWJ1dHNoZWJyZXc9MTQ2NztlLnF1YnV0c25hcnJvd2hlYnJldz0xNDY3O2UucXVidXRzcXVhcnRlcmhlYnJldz0xNDY3O2UucXVidXRzd2lkZWhlYnJldz0xNDY3O2UucXVlc3Rpb249NjM7ZS5xdWVzdGlvbmFyYWJpYz0xNTY3O2UucXVlc3Rpb25hcm1lbmlhbj0xMzc0O2UucXVlc3Rpb25kb3duPTE5MTtlLnF1ZXN0aW9uZG93bnNtYWxsPTYzNDIzO2UucXVlc3Rpb25ncmVlaz04OTQ7ZS5xdWVzdGlvbm1vbm9zcGFjZT02NTMxMTtlLnF1ZXN0aW9uc21hbGw9NjMyOTU7ZS5xdW90ZWRibD0zNDtlLnF1b3RlZGJsYmFzZT04MjIyO2UucXVvdGVkYmxsZWZ0PTgyMjA7ZS5xdW90ZWRibG1vbm9zcGFjZT02NTI4MjtlLnF1b3RlZGJscHJpbWU9MTIzMTg7ZS5xdW90ZWRibHByaW1lcmV2ZXJzZWQ9MTIzMTc7ZS5xdW90ZWRibHJpZ2h0PTgyMjE7ZS5xdW90ZWxlZnQ9ODIxNjtlLnF1b3RlbGVmdHJldmVyc2VkPTgyMTk7ZS5xdW90ZXJldmVyc2VkPTgyMTk7ZS5xdW90ZXJpZ2h0PTgyMTc7ZS5xdW90ZXJpZ2h0bj0zMjk7ZS5xdW90ZXNpbmdsYmFzZT04MjE4O2UucXVvdGVzaW5nbGU9Mzk7ZS5xdW90ZXNpbmdsZW1vbm9zcGFjZT02NTI4NztlLnI9MTE0O2UucmFhcm1lbmlhbj0xNDA0O2UucmFiZW5nYWxpPTI0ODA7ZS5yYWN1dGU9MzQxO2UucmFkZXZhPTIzNTI7ZS5yYWRpY2FsPTg3MzA7ZS5yYWRpY2FsZXg9NjM3MTc7ZS5yYWRvdmVyc3NxdWFyZT0xMzIzMDtlLnJhZG92ZXJzc3F1YXJlZHNxdWFyZT0xMzIzMTtlLnJhZHNxdWFyZT0xMzIyOTtlLnJhZmU9MTQ3MTtlLnJhZmVoZWJyZXc9MTQ3MTtlLnJhZ3VqYXJhdGk9MjczNjtlLnJhZ3VybXVraGk9MjYwODtlLnJhaGlyYWdhbmE9MTI0MjU7ZS5yYWthdGFrYW5hPTEyNTIxO2UucmFrYXRha2FuYWhhbGZ3aWR0aD02NTQzMTtlLnJhbG93ZXJkaWFnb25hbGJlbmdhbGk9MjU0NTtlLnJhbWlkZGxlZGlhZ29uYWxiZW5nYWxpPTI1NDQ7ZS5yYW1zaG9ybj02MTI7ZS5yYXRpbz04NzU4O2UucmJvcG9tb2ZvPTEyNTY2O2UucmNhcm9uPTM0NTtlLnJjZWRpbGxhPTM0MztlLnJjaXJjbGU9OTQ0MTtlLnJjb21tYWFjY2VudD0zNDM7ZS5yZGJsZ3JhdmU9NTI5O2UucmRvdGFjY2VudD03NzY5O2UucmRvdGJlbG93PTc3NzE7ZS5yZG90YmVsb3dtYWNyb249Nzc3MztlLnJlZmVyZW5jZW1hcms9ODI1MTtlLnJlZmxleHN1YnNldD04ODM4O2UucmVmbGV4c3VwZXJzZXQ9ODgzOTtlLnJlZ2lzdGVyZWQ9MTc0O2UucmVnaXN0ZXJzYW5zPTYzNzIwO2UucmVnaXN0ZXJzZXJpZj02MzE5NDtlLnJlaGFyYWJpYz0xNTg1O2UucmVoYXJtZW5pYW49MTQwODtlLnJlaGZpbmFsYXJhYmljPTY1MTk4O2UucmVoaXJhZ2FuYT0xMjQyODtlLnJla2F0YWthbmE9MTI1MjQ7ZS5yZWthdGFrYW5haGFsZndpZHRoPTY1NDM0O2UucmVzaD0xNTEyO2UucmVzaGRhZ2VzaGhlYnJldz02NDMyODtlLnJlc2hoZWJyZXc9MTUxMjtlLnJldmVyc2VkdGlsZGU9ODc2NTtlLnJldmlhaGVicmV3PTE0MzE7ZS5yZXZpYW11Z3Jhc2hoZWJyZXc9MTQzMTtlLnJldmxvZ2ljYWxub3Q9ODk3NjtlLnJmaXNoaG9vaz02Mzg7ZS5yZmlzaGhvb2tyZXZlcnNlZD02Mzk7ZS5yaGFiZW5nYWxpPTI1MjU7ZS5yaGFkZXZhPTIzOTc7ZS5yaG89OTYxO2Uucmhvb2s9NjM3O2Uucmhvb2t0dXJuZWQ9NjM1O2Uucmhvb2t0dXJuZWRzdXBlcmlvcj02OTM7ZS5yaG9zeW1ib2xncmVlaz0xMDA5O2UucmhvdGljaG9va21vZD03MzQ7ZS5yaWV1bGFjaXJjbGVrb3JlYW49MTI5MTM7ZS5yaWV1bGFwYXJlbmtvcmVhbj0xMjgxNztlLnJpZXVsY2lyY2xla29yZWFuPTEyODk5O2UucmlldWxoaWV1aGtvcmVhbj0xMjYwODtlLnJpZXVsa2l5ZW9ra29yZWFuPTEyNjAyO2UucmlldWxraXllb2tzaW9za29yZWFuPTEyNjQ5O2UucmlldWxrb3JlYW49MTI2MDE7ZS5yaWV1bG1pZXVta29yZWFuPTEyNjAzO2UucmlldWxwYW5zaW9za29yZWFuPTEyNjUyO2UucmlldWxwYXJlbmtvcmVhbj0xMjgwMztlLnJpZXVscGhpZXVwaGtvcmVhbj0xMjYwNztlLnJpZXVscGlldXBrb3JlYW49MTI2MDQ7ZS5yaWV1bHBpZXVwc2lvc2tvcmVhbj0xMjY1MTtlLnJpZXVsc2lvc2tvcmVhbj0xMjYwNTtlLnJpZXVsdGhpZXV0aGtvcmVhbj0xMjYwNjtlLnJpZXVsdGlrZXV0a29yZWFuPTEyNjUwO2UucmlldWx5ZW9yaW5oaWV1aGtvcmVhbj0xMjY1MztlLnJpZ2h0YW5nbGU9ODczNTtlLnJpZ2h0dGFja2JlbG93Y21iPTc5MztlLnJpZ2h0dHJpYW5nbGU9ODg5NTtlLnJpaGlyYWdhbmE9MTI0MjY7ZS5yaWthdGFrYW5hPTEyNTIyO2UucmlrYXRha2FuYWhhbGZ3aWR0aD02NTQzMjtlLnJpbmc9NzMwO2UucmluZ2JlbG93Y21iPTgwNTtlLnJpbmdjbWI9Nzc4O2UucmluZ2hhbGZsZWZ0PTcwMztlLnJpbmdoYWxmbGVmdGFybWVuaWFuPTEzNjk7ZS5yaW5naGFsZmxlZnRiZWxvd2NtYj03OTY7ZS5yaW5naGFsZmxlZnRjZW50ZXJlZD03MjM7ZS5yaW5naGFsZnJpZ2h0PTcwMjtlLnJpbmdoYWxmcmlnaHRiZWxvd2NtYj04MjU7ZS5yaW5naGFsZnJpZ2h0Y2VudGVyZWQ9NzIyO2UucmludmVydGVkYnJldmU9NTMxO2Uucml0dG9ydXNxdWFyZT0xMzEzNztlLnJsaW5lYmVsb3c9Nzc3NTtlLnJsb25nbGVnPTYzNjtlLnJsb25nbGVndHVybmVkPTYzNDtlLnJtb25vc3BhY2U9NjUzNjI7ZS5yb2hpcmFnYW5hPTEyNDI5O2Uucm9rYXRha2FuYT0xMjUyNTtlLnJva2F0YWthbmFoYWxmd2lkdGg9NjU0MzU7ZS5yb3J1YXRoYWk9MzYxOTtlLnJwYXJlbj05Mzg5O2UucnJhYmVuZ2FsaT0yNTI0O2UucnJhZGV2YT0yMzUzO2UucnJhZ3VybXVraGk9MjY1MjtlLnJyZWhhcmFiaWM9MTY4MTtlLnJyZWhmaW5hbGFyYWJpYz02NDM5NztlLnJydm9jYWxpY2JlbmdhbGk9MjUyODtlLnJydm9jYWxpY2RldmE9MjQwMDtlLnJydm9jYWxpY2d1amFyYXRpPTI3ODQ7ZS5ycnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI1MDA7ZS5ycnZvY2FsaWN2b3dlbHNpZ25kZXZhPTIzNzI7ZS5ycnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aT0yNzU2O2UucnN1cGVyaW9yPTYzMjE3O2UucnRibG9jaz05NjE2O2UucnR1cm5lZD02MzM7ZS5ydHVybmVkc3VwZXJpb3I9NjkyO2UucnVoaXJhZ2FuYT0xMjQyNztlLnJ1a2F0YWthbmE9MTI1MjM7ZS5ydWthdGFrYW5haGFsZndpZHRoPTY1NDMzO2UucnVwZWVtYXJrYmVuZ2FsaT0yNTQ2O2UucnVwZWVzaWduYmVuZ2FsaT0yNTQ3O2UucnVwaWFoPTYzMTk3O2UucnV0aGFpPTM2MjA7ZS5ydm9jYWxpY2JlbmdhbGk9MjQ0MztlLnJ2b2NhbGljZGV2YT0yMzE1O2UucnZvY2FsaWNndWphcmF0aT0yNjk5O2UucnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI0OTk7ZS5ydm9jYWxpY3Zvd2Vsc2lnbmRldmE9MjM3MTtlLnJ2b2NhbGljdm93ZWxzaWduZ3VqYXJhdGk9Mjc1NTtlLnM9MTE1O2Uuc2FiZW5nYWxpPTI0ODg7ZS5zYWN1dGU9MzQ3O2Uuc2FjdXRlZG90YWNjZW50PTc3ODE7ZS5zYWRhcmFiaWM9MTU4OTtlLnNhZGV2YT0yMzYwO2Uuc2FkZmluYWxhcmFiaWM9NjUyMTA7ZS5zYWRpbml0aWFsYXJhYmljPTY1MjExO2Uuc2FkbWVkaWFsYXJhYmljPTY1MjEyO2Uuc2FndWphcmF0aT0yNzQ0O2Uuc2FndXJtdWtoaT0yNjE2O2Uuc2FoaXJhZ2FuYT0xMjM3MztlLnNha2F0YWthbmE9MTI0Njk7ZS5zYWthdGFrYW5haGFsZndpZHRoPTY1NDAzO2Uuc2FsbGFsbGFob3VhbGF5aGV3YXNhbGxhbWFyYWJpYz02NTAxODtlLnNhbWVraD0xNTA1O2Uuc2FtZWtoZGFnZXNoPTY0MzIxO2Uuc2FtZWtoZGFnZXNoaGVicmV3PTY0MzIxO2Uuc2FtZWtoaGVicmV3PTE1MDU7ZS5zYXJhYWF0aGFpPTM2MzQ7ZS5zYXJhYWV0aGFpPTM2NDk7ZS5zYXJhYWltYWltYWxhaXRoYWk9MzY1MjtlLnNhcmFhaW1haW11YW50aGFpPTM2NTE7ZS5zYXJhYW10aGFpPTM2MzU7ZS5zYXJhYXRoYWk9MzYzMjtlLnNhcmFldGhhaT0zNjQ4O2Uuc2FyYWlpbGVmdHRoYWk9NjM2MjI7ZS5zYXJhaWl0aGFpPTM2Mzc7ZS5zYXJhaWxlZnR0aGFpPTYzNjIxO2Uuc2FyYWl0aGFpPTM2MzY7ZS5zYXJhb3RoYWk9MzY1MDtlLnNhcmF1ZWVsZWZ0dGhhaT02MzYyNDtlLnNhcmF1ZWV0aGFpPTM2Mzk7ZS5zYXJhdWVsZWZ0dGhhaT02MzYyMztlLnNhcmF1ZXRoYWk9MzYzODtlLnNhcmF1dGhhaT0zNjQwO2Uuc2FyYXV1dGhhaT0zNjQxO2Uuc2JvcG9tb2ZvPTEyNTY5O2Uuc2Nhcm9uPTM1MztlLnNjYXJvbmRvdGFjY2VudD03NzgzO2Uuc2NlZGlsbGE9MzUxO2Uuc2Nod2E9NjAxO2Uuc2Nod2FjeXJpbGxpYz0xMjQxO2Uuc2Nod2FkaWVyZXNpc2N5cmlsbGljPTEyNDM7ZS5zY2h3YWhvb2s9NjAyO2Uuc2NpcmNsZT05NDQyO2Uuc2NpcmN1bWZsZXg9MzQ5O2Uuc2NvbW1hYWNjZW50PTUzNztlLnNkb3RhY2NlbnQ9Nzc3NztlLnNkb3RiZWxvdz03Nzc5O2Uuc2RvdGJlbG93ZG90YWNjZW50PTc3ODU7ZS5zZWFndWxsYmVsb3djbWI9ODI4O2Uuc2Vjb25kPTgyNDM7ZS5zZWNvbmR0b25lY2hpbmVzZT03MTQ7ZS5zZWN0aW9uPTE2NztlLnNlZW5hcmFiaWM9MTU4NztlLnNlZW5maW5hbGFyYWJpYz02NTIwMjtlLnNlZW5pbml0aWFsYXJhYmljPTY1MjAzO2Uuc2Vlbm1lZGlhbGFyYWJpYz02NTIwNDtlLnNlZ29sPTE0NjI7ZS5zZWdvbDEzPTE0NjI7ZS5zZWdvbDFmPTE0NjI7ZS5zZWdvbDJjPTE0NjI7ZS5zZWdvbGhlYnJldz0xNDYyO2Uuc2Vnb2xuYXJyb3doZWJyZXc9MTQ2MjtlLnNlZ29scXVhcnRlcmhlYnJldz0xNDYyO2Uuc2Vnb2x0YWhlYnJldz0xNDI2O2Uuc2Vnb2x3aWRlaGVicmV3PTE0NjI7ZS5zZWhhcm1lbmlhbj0xNDA1O2Uuc2VoaXJhZ2FuYT0xMjM3OTtlLnNla2F0YWthbmE9MTI0NzU7ZS5zZWthdGFrYW5haGFsZndpZHRoPTY1NDA2O2Uuc2VtaWNvbG9uPTU5O2Uuc2VtaWNvbG9uYXJhYmljPTE1NjM7ZS5zZW1pY29sb25tb25vc3BhY2U9NjUzMDc7ZS5zZW1pY29sb25zbWFsbD02NTEwODtlLnNlbWl2b2ljZWRtYXJra2FuYT0xMjQ0NDtlLnNlbWl2b2ljZWRtYXJra2FuYWhhbGZ3aWR0aD02NTQzOTtlLnNlbnRpc3F1YXJlPTEzMDkwO2Uuc2VudG9zcXVhcmU9MTMwOTE7ZS5zZXZlbj01NTtlLnNldmVuYXJhYmljPTE2Mzk7ZS5zZXZlbmJlbmdhbGk9MjU0MTtlLnNldmVuY2lyY2xlPTkzMTg7ZS5zZXZlbmNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjg7ZS5zZXZlbmRldmE9MjQxMztlLnNldmVuZWlnaHRocz04NTQyO2Uuc2V2ZW5ndWphcmF0aT0yNzk3O2Uuc2V2ZW5ndXJtdWtoaT0yNjY5O2Uuc2V2ZW5oYWNrYXJhYmljPTE2Mzk7ZS5zZXZlbmhhbmd6aG91PTEyMzI3O2Uuc2V2ZW5pZGVvZ3JhcGhpY3BhcmVuPTEyODM4O2Uuc2V2ZW5pbmZlcmlvcj04MzI3O2Uuc2V2ZW5tb25vc3BhY2U9NjUzMDM7ZS5zZXZlbm9sZHN0eWxlPTYzMjg3O2Uuc2V2ZW5wYXJlbj05MzM4O2Uuc2V2ZW5wZXJpb2Q9OTM1ODtlLnNldmVucGVyc2lhbj0xNzgzO2Uuc2V2ZW5yb21hbj04NTY2O2Uuc2V2ZW5zdXBlcmlvcj04MzExO2Uuc2V2ZW50ZWVuY2lyY2xlPTkzMjg7ZS5zZXZlbnRlZW5wYXJlbj05MzQ4O2Uuc2V2ZW50ZWVucGVyaW9kPTkzNjg7ZS5zZXZlbnRoYWk9MzY3MTtlLnNmdGh5cGhlbj0xNzM7ZS5zaGFhcm1lbmlhbj0xMzk5O2Uuc2hhYmVuZ2FsaT0yNDg2O2Uuc2hhY3lyaWxsaWM9MTA5NjtlLnNoYWRkYWFyYWJpYz0xNjE3O2Uuc2hhZGRhZGFtbWFhcmFiaWM9NjQ2MDk7ZS5zaGFkZGFkYW1tYXRhbmFyYWJpYz02NDYwNjtlLnNoYWRkYWZhdGhhYXJhYmljPTY0NjA4O2Uuc2hhZGRha2FzcmFhcmFiaWM9NjQ2MTA7ZS5zaGFkZGFrYXNyYXRhbmFyYWJpYz02NDYwNztlLnNoYWRlPTk2MTg7ZS5zaGFkZWRhcms9OTYxOTtlLnNoYWRlbGlnaHQ9OTYxNztlLnNoYWRlbWVkaXVtPTk2MTg7ZS5zaGFkZXZhPTIzNTg7ZS5zaGFndWphcmF0aT0yNzQyO2Uuc2hhZ3VybXVraGk9MjYxNDtlLnNoYWxzaGVsZXRoZWJyZXc9MTQyNztlLnNoYm9wb21vZm89MTI1NjU7ZS5zaGNoYWN5cmlsbGljPTEwOTc7ZS5zaGVlbmFyYWJpYz0xNTg4O2Uuc2hlZW5maW5hbGFyYWJpYz02NTIwNjtlLnNoZWVuaW5pdGlhbGFyYWJpYz02NTIwNztlLnNoZWVubWVkaWFsYXJhYmljPTY1MjA4O2Uuc2hlaWNvcHRpYz05OTU7ZS5zaGVxZWw9ODM2MjtlLnNoZXFlbGhlYnJldz04MzYyO2Uuc2hldmE9MTQ1NjtlLnNoZXZhMTE1PTE0NTY7ZS5zaGV2YTE1PTE0NTY7ZS5zaGV2YTIyPTE0NTY7ZS5zaGV2YTJlPTE0NTY7ZS5zaGV2YWhlYnJldz0xNDU2O2Uuc2hldmFuYXJyb3doZWJyZXc9MTQ1NjtlLnNoZXZhcXVhcnRlcmhlYnJldz0xNDU2O2Uuc2hldmF3aWRlaGVicmV3PTE0NTY7ZS5zaGhhY3lyaWxsaWM9MTIxMTtlLnNoaW1hY29wdGljPTEwMDU7ZS5zaGluPTE1MTM7ZS5zaGluZGFnZXNoPTY0MzI5O2Uuc2hpbmRhZ2VzaGhlYnJldz02NDMyOTtlLnNoaW5kYWdlc2hzaGluZG90PTY0MzAwO2Uuc2hpbmRhZ2VzaHNoaW5kb3RoZWJyZXc9NjQzMDA7ZS5zaGluZGFnZXNoc2luZG90PTY0MzAxO2Uuc2hpbmRhZ2VzaHNpbmRvdGhlYnJldz02NDMwMTtlLnNoaW5kb3RoZWJyZXc9MTQ3MztlLnNoaW5oZWJyZXc9MTUxMztlLnNoaW5zaGluZG90PTY0Mjk4O2Uuc2hpbnNoaW5kb3RoZWJyZXc9NjQyOTg7ZS5zaGluc2luZG90PTY0Mjk5O2Uuc2hpbnNpbmRvdGhlYnJldz02NDI5OTtlLnNob29rPTY0MjtlLnNpZ21hPTk2MztlLnNpZ21hMT05NjI7ZS5zaWdtYWZpbmFsPTk2MjtlLnNpZ21hbHVuYXRlc3ltYm9sZ3JlZWs9MTAxMDtlLnNpaGlyYWdhbmE9MTIzNzU7ZS5zaWthdGFrYW5hPTEyNDcxO2Uuc2lrYXRha2FuYWhhbGZ3aWR0aD02NTQwNDtlLnNpbHVxaGVicmV3PTE0Njk7ZS5zaWx1cWxlZnRoZWJyZXc9MTQ2OTtlLnNpbWlsYXI9ODc2NDtlLnNpbmRvdGhlYnJldz0xNDc0O2Uuc2lvc2FjaXJjbGVrb3JlYW49MTI5MTY7ZS5zaW9zYXBhcmVua29yZWFuPTEyODIwO2Uuc2lvc2NpZXVja29yZWFuPTEyNjcwO2Uuc2lvc2NpcmNsZWtvcmVhbj0xMjkwMjtlLnNpb3NraXllb2trb3JlYW49MTI2NjY7ZS5zaW9za29yZWFuPTEyNjEzO2Uuc2lvc25pZXVua29yZWFuPTEyNjY3O2Uuc2lvc3BhcmVua29yZWFuPTEyODA2O2Uuc2lvc3BpZXVwa29yZWFuPTEyNjY5O2Uuc2lvc3Rpa2V1dGtvcmVhbj0xMjY2ODtlLnNpeD01NDtlLnNpeGFyYWJpYz0xNjM4O2Uuc2l4YmVuZ2FsaT0yNTQwO2Uuc2l4Y2lyY2xlPTkzMTc7ZS5zaXhjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI3O2Uuc2l4ZGV2YT0yNDEyO2Uuc2l4Z3VqYXJhdGk9Mjc5NjtlLnNpeGd1cm11a2hpPTI2Njg7ZS5zaXhoYWNrYXJhYmljPTE2Mzg7ZS5zaXhoYW5nemhvdT0xMjMyNjtlLnNpeGlkZW9ncmFwaGljcGFyZW49MTI4Mzc7ZS5zaXhpbmZlcmlvcj04MzI2O2Uuc2l4bW9ub3NwYWNlPTY1MzAyO2Uuc2l4b2xkc3R5bGU9NjMyODY7ZS5zaXhwYXJlbj05MzM3O2Uuc2l4cGVyaW9kPTkzNTc7ZS5zaXhwZXJzaWFuPTE3ODI7ZS5zaXhyb21hbj04NTY1O2Uuc2l4c3VwZXJpb3I9ODMxMDtlLnNpeHRlZW5jaXJjbGU9OTMyNztlLnNpeHRlZW5jdXJyZW5jeWRlbm9taW5hdG9yYmVuZ2FsaT0yNTUzO2Uuc2l4dGVlbnBhcmVuPTkzNDc7ZS5zaXh0ZWVucGVyaW9kPTkzNjc7ZS5zaXh0aGFpPTM2NzA7ZS5zbGFzaD00NztlLnNsYXNobW9ub3NwYWNlPTY1Mjk1O2Uuc2xvbmc9MzgzO2Uuc2xvbmdkb3RhY2NlbnQ9NzgzNTtlLnNtaWxlZmFjZT05Nzg2O2Uuc21vbm9zcGFjZT02NTM2MztlLnNvZnBhc3VxaGVicmV3PTE0NzU7ZS5zb2Z0aHlwaGVuPTE3MztlLnNvZnRzaWduY3lyaWxsaWM9MTEwMDtlLnNvaGlyYWdhbmE9MTIzODE7ZS5zb2thdGFrYW5hPTEyNDc3O2Uuc29rYXRha2FuYWhhbGZ3aWR0aD02NTQwNztlLnNvbGlkdXNsb25nb3ZlcmxheWNtYj04MjQ7ZS5zb2xpZHVzc2hvcnRvdmVybGF5Y21iPTgyMztlLnNvcnVzaXRoYWk9MzYyNTtlLnNvc2FsYXRoYWk9MzYyNDtlLnNvc290aGFpPTM1OTU7ZS5zb3N1YXRoYWk9MzYyNjtlLnNwYWNlPTMyO2Uuc3BhY2VoYWNrYXJhYmljPTMyO2Uuc3BhZGU9OTgyNDtlLnNwYWRlc3VpdGJsYWNrPTk4MjQ7ZS5zcGFkZXN1aXR3aGl0ZT05ODI4O2Uuc3BhcmVuPTkzOTA7ZS5zcXVhcmViZWxvd2NtYj04Mjc7ZS5zcXVhcmVjYz0xMzI1MjtlLnNxdWFyZWNtPTEzMjEzO2Uuc3F1YXJlZGlhZ29uYWxjcm9zc2hhdGNoZmlsbD05NjQxO2Uuc3F1YXJlaG9yaXpvbnRhbGZpbGw9OTYzNjtlLnNxdWFyZWtnPTEzMTk5O2Uuc3F1YXJla209MTMyMTQ7ZS5zcXVhcmVrbWNhcGl0YWw9MTMyNjI7ZS5zcXVhcmVsbj0xMzI2NTtlLnNxdWFyZWxvZz0xMzI2NjtlLnNxdWFyZW1nPTEzMTk4O2Uuc3F1YXJlbWlsPTEzMjY5O2Uuc3F1YXJlbW09MTMyMTI7ZS5zcXVhcmVtc3F1YXJlZD0xMzIxNztlLnNxdWFyZW9ydGhvZ29uYWxjcm9zc2hhdGNoZmlsbD05NjM4O2Uuc3F1YXJldXBwZXJsZWZ0dG9sb3dlcnJpZ2h0ZmlsbD05NjM5O2Uuc3F1YXJldXBwZXJyaWdodHRvbG93ZXJsZWZ0ZmlsbD05NjQwO2Uuc3F1YXJldmVydGljYWxmaWxsPTk2Mzc7ZS5zcXVhcmV3aGl0ZXdpdGhzbWFsbGJsYWNrPTk2MzU7ZS5zcnNxdWFyZT0xMzI3NTtlLnNzYWJlbmdhbGk9MjQ4NztlLnNzYWRldmE9MjM1OTtlLnNzYWd1amFyYXRpPTI3NDM7ZS5zc2FuZ2NpZXVja29yZWFuPTEyNjE3O2Uuc3NhbmdoaWV1aGtvcmVhbj0xMjY3NztlLnNzYW5naWV1bmdrb3JlYW49MTI2NzI7ZS5zc2FuZ2tpeWVva2tvcmVhbj0xMjU5NDtlLnNzYW5nbmlldW5rb3JlYW49MTI2NDU7ZS5zc2FuZ3BpZXVwa29yZWFuPTEyNjExO2Uuc3NhbmdzaW9za29yZWFuPTEyNjE0O2Uuc3Nhbmd0aWtldXRrb3JlYW49MTI2MDA7ZS5zc3VwZXJpb3I9NjMyMTg7ZS5zdGVybGluZz0xNjM7ZS5zdGVybGluZ21vbm9zcGFjZT02NTUwNTtlLnN0cm9rZWxvbmdvdmVybGF5Y21iPTgyMjtlLnN0cm9rZXNob3J0b3ZlcmxheWNtYj04MjE7ZS5zdWJzZXQ9ODgzNDtlLnN1YnNldG5vdGVxdWFsPTg4NDI7ZS5zdWJzZXRvcmVxdWFsPTg4Mzg7ZS5zdWNjZWVkcz04ODI3O2Uuc3VjaHRoYXQ9ODcxNTtlLnN1aGlyYWdhbmE9MTIzNzc7ZS5zdWthdGFrYW5hPTEyNDczO2Uuc3VrYXRha2FuYWhhbGZ3aWR0aD02NTQwNTtlLnN1a3VuYXJhYmljPTE2MTg7ZS5zdW1tYXRpb249ODcyMTtlLnN1bj05Nzg4O2Uuc3VwZXJzZXQ9ODgzNTtlLnN1cGVyc2V0bm90ZXF1YWw9ODg0MztlLnN1cGVyc2V0b3JlcXVhbD04ODM5O2Uuc3ZzcXVhcmU9MTMyNzY7ZS5zeW91d2FlcmFzcXVhcmU9MTMxODA7ZS50PTExNjtlLnRhYmVuZ2FsaT0yNDY4O2UudGFja2Rvd249ODg2ODtlLnRhY2tsZWZ0PTg4Njc7ZS50YWRldmE9MjM0MDtlLnRhZ3VqYXJhdGk9MjcyNDtlLnRhZ3VybXVraGk9MjU5NjtlLnRhaGFyYWJpYz0xNTkxO2UudGFoZmluYWxhcmFiaWM9NjUyMTg7ZS50YWhpbml0aWFsYXJhYmljPTY1MjE5O2UudGFoaXJhZ2FuYT0xMjM4MztlLnRhaG1lZGlhbGFyYWJpYz02NTIyMDtlLnRhaXN5b3VlcmFzcXVhcmU9MTMxODE7ZS50YWthdGFrYW5hPTEyNDc5O2UudGFrYXRha2FuYWhhbGZ3aWR0aD02NTQwODtlLnRhdHdlZWxhcmFiaWM9MTYwMDtlLnRhdT05NjQ7ZS50YXY9MTUxNDtlLnRhdmRhZ2VzPTY0MzMwO2UudGF2ZGFnZXNoPTY0MzMwO2UudGF2ZGFnZXNoaGVicmV3PTY0MzMwO2UudGF2aGVicmV3PTE1MTQ7ZS50YmFyPTM1OTtlLnRib3BvbW9mbz0xMjU1NDtlLnRjYXJvbj0zNTc7ZS50Y2N1cmw9NjgwO2UudGNlZGlsbGE9MzU1O2UudGNoZWhhcmFiaWM9MTY3MDtlLnRjaGVoZmluYWxhcmFiaWM9NjQzNzk7ZS50Y2hlaGluaXRpYWxhcmFiaWM9NjQzODA7ZS50Y2hlaG1lZGlhbGFyYWJpYz02NDM4MTtlLnRjaXJjbGU9OTQ0MztlLnRjaXJjdW1mbGV4YmVsb3c9Nzc5MztlLnRjb21tYWFjY2VudD0zNTU7ZS50ZGllcmVzaXM9NzgzMTtlLnRkb3RhY2NlbnQ9Nzc4NztlLnRkb3RiZWxvdz03Nzg5O2UudGVjeXJpbGxpYz0xMDkwO2UudGVkZXNjZW5kZXJjeXJpbGxpYz0xMTk3O2UudGVoYXJhYmljPTE1Nzg7ZS50ZWhmaW5hbGFyYWJpYz02NTE3NDtlLnRlaGhhaGluaXRpYWxhcmFiaWM9NjQ2NzQ7ZS50ZWhoYWhpc29sYXRlZGFyYWJpYz02NDUyNDtlLnRlaGluaXRpYWxhcmFiaWM9NjUxNzU7ZS50ZWhpcmFnYW5hPTEyMzkwO2UudGVoamVlbWluaXRpYWxhcmFiaWM9NjQ2NzM7ZS50ZWhqZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1MjM7ZS50ZWhtYXJidXRhYXJhYmljPTE1Nzc7ZS50ZWhtYXJidXRhZmluYWxhcmFiaWM9NjUxNzI7ZS50ZWhtZWRpYWxhcmFiaWM9NjUxNzY7ZS50ZWhtZWVtaW5pdGlhbGFyYWJpYz02NDY3NjtlLnRlaG1lZW1pc29sYXRlZGFyYWJpYz02NDUyNjtlLnRlaG5vb25maW5hbGFyYWJpYz02NDYyNztlLnRla2F0YWthbmE9MTI0ODY7ZS50ZWthdGFrYW5haGFsZndpZHRoPTY1NDExO2UudGVsZXBob25lPTg0ODE7ZS50ZWxlcGhvbmVibGFjaz05NzQyO2UudGVsaXNoYWdlZG9sYWhlYnJldz0xNDQwO2UudGVsaXNoYXFldGFuYWhlYnJldz0xNDQ5O2UudGVuY2lyY2xlPTkzMjE7ZS50ZW5pZGVvZ3JhcGhpY3BhcmVuPTEyODQxO2UudGVucGFyZW49OTM0MTtlLnRlbnBlcmlvZD05MzYxO2UudGVucm9tYW49ODU2OTtlLnRlc2g9Njc5O2UudGV0PTE0OTY7ZS50ZXRkYWdlc2g9NjQzMTI7ZS50ZXRkYWdlc2hoZWJyZXc9NjQzMTI7ZS50ZXRoZWJyZXc9MTQ5NjtlLnRldHNlY3lyaWxsaWM9MTIwNTtlLnRldmlyaGVicmV3PTE0MzU7ZS50ZXZpcmxlZnRoZWJyZXc9MTQzNTtlLnRoYWJlbmdhbGk9MjQ2OTtlLnRoYWRldmE9MjM0MTtlLnRoYWd1amFyYXRpPTI3MjU7ZS50aGFndXJtdWtoaT0yNTk3O2UudGhhbGFyYWJpYz0xNTg0O2UudGhhbGZpbmFsYXJhYmljPTY1MTk2O2UudGhhbnRoYWtoYXRsb3dsZWZ0dGhhaT02MzY0MDtlLnRoYW50aGFraGF0bG93cmlnaHR0aGFpPTYzNjM5O2UudGhhbnRoYWtoYXR0aGFpPTM2NjA7ZS50aGFudGhha2hhdHVwcGVybGVmdHRoYWk9NjM2Mzg7ZS50aGVoYXJhYmljPTE1Nzk7ZS50aGVoZmluYWxhcmFiaWM9NjUxNzg7ZS50aGVoaW5pdGlhbGFyYWJpYz02NTE3OTtlLnRoZWhtZWRpYWxhcmFiaWM9NjUxODA7ZS50aGVyZWV4aXN0cz04NzA3O2UudGhlcmVmb3JlPTg3NTY7ZS50aGV0YT05NTI7ZS50aGV0YTE9OTc3O2UudGhldGFzeW1ib2xncmVlaz05Nzc7ZS50aGlldXRoYWNpcmNsZWtvcmVhbj0xMjkyMTtlLnRoaWV1dGhhcGFyZW5rb3JlYW49MTI4MjU7ZS50aGlldXRoY2lyY2xla29yZWFuPTEyOTA3O2UudGhpZXV0aGtvcmVhbj0xMjYyMDtlLnRoaWV1dGhwYXJlbmtvcmVhbj0xMjgxMTtlLnRoaXJ0ZWVuY2lyY2xlPTkzMjQ7ZS50aGlydGVlbnBhcmVuPTkzNDQ7ZS50aGlydGVlbnBlcmlvZD05MzY0O2UudGhvbmFuZ21vbnRob3RoYWk9MzYwMTtlLnRob29rPTQyOTtlLnRob3BodXRoYW90aGFpPTM2MDI7ZS50aG9ybj0yNTQ7ZS50aG90aGFoYW50aGFpPTM2MDc7ZS50aG90aGFudGhhaT0zNjAwO2UudGhvdGhvbmd0aGFpPTM2MDg7ZS50aG90aHVuZ3RoYWk9MzYwNjtlLnRob3VzYW5kY3lyaWxsaWM9MTE1NDtlLnRob3VzYW5kc3NlcGFyYXRvcmFyYWJpYz0xNjQ0O2UudGhvdXNhbmRzc2VwYXJhdG9ycGVyc2lhbj0xNjQ0O2UudGhyZWU9NTE7ZS50aHJlZWFyYWJpYz0xNjM1O2UudGhyZWViZW5nYWxpPTI1Mzc7ZS50aHJlZWNpcmNsZT05MzE0O2UudGhyZWVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI0O2UudGhyZWVkZXZhPTI0MDk7ZS50aHJlZWVpZ2h0aHM9ODU0MDtlLnRocmVlZ3VqYXJhdGk9Mjc5MztlLnRocmVlZ3VybXVraGk9MjY2NTtlLnRocmVlaGFja2FyYWJpYz0xNjM1O2UudGhyZWVoYW5nemhvdT0xMjMyMztlLnRocmVlaWRlb2dyYXBoaWNwYXJlbj0xMjgzNDtlLnRocmVlaW5mZXJpb3I9ODMyMztlLnRocmVlbW9ub3NwYWNlPTY1Mjk5O2UudGhyZWVudW1lcmF0b3JiZW5nYWxpPTI1NTA7ZS50aHJlZW9sZHN0eWxlPTYzMjgzO2UudGhyZWVwYXJlbj05MzM0O2UudGhyZWVwZXJpb2Q9OTM1NDtlLnRocmVlcGVyc2lhbj0xNzc5O2UudGhyZWVxdWFydGVycz0xOTA7ZS50aHJlZXF1YXJ0ZXJzZW1kYXNoPTYzMTk4O2UudGhyZWVyb21hbj04NTYyO2UudGhyZWVzdXBlcmlvcj0xNzk7ZS50aHJlZXRoYWk9MzY2NztlLnRoenNxdWFyZT0xMzIwNDtlLnRpaGlyYWdhbmE9MTIzODU7ZS50aWthdGFrYW5hPTEyNDgxO2UudGlrYXRha2FuYWhhbGZ3aWR0aD02NTQwOTtlLnRpa2V1dGFjaXJjbGVrb3JlYW49MTI5MTI7ZS50aWtldXRhcGFyZW5rb3JlYW49MTI4MTY7ZS50aWtldXRjaXJjbGVrb3JlYW49MTI4OTg7ZS50aWtldXRrb3JlYW49MTI1OTk7ZS50aWtldXRwYXJlbmtvcmVhbj0xMjgwMjtlLnRpbGRlPTczMjtlLnRpbGRlYmVsb3djbWI9ODE2O2UudGlsZGVjbWI9NzcxO2UudGlsZGVjb21iPTc3MTtlLnRpbGRlZG91YmxlY21iPTg2NDtlLnRpbGRlb3BlcmF0b3I9ODc2NDtlLnRpbGRlb3ZlcmxheWNtYj04MjA7ZS50aWxkZXZlcnRpY2FsY21iPTgzMDtlLnRpbWVzY2lyY2xlPTg4NTU7ZS50aXBlaGFoZWJyZXc9MTQzMDtlLnRpcGVoYWxlZnRoZWJyZXc9MTQzMDtlLnRpcHBpZ3VybXVraGk9MjY3MjtlLnRpdGxvY3lyaWxsaWNjbWI9MTE1NTtlLnRpd25hcm1lbmlhbj0xNDA3O2UudGxpbmViZWxvdz03NzkxO2UudG1vbm9zcGFjZT02NTM2NDtlLnRvYXJtZW5pYW49MTM4NTtlLnRvaGlyYWdhbmE9MTIzOTI7ZS50b2thdGFrYW5hPTEyNDg4O2UudG9rYXRha2FuYWhhbGZ3aWR0aD02NTQxMjtlLnRvbmViYXJleHRyYWhpZ2htb2Q9NzQxO2UudG9uZWJhcmV4dHJhbG93bW9kPTc0NTtlLnRvbmViYXJoaWdobW9kPTc0MjtlLnRvbmViYXJsb3dtb2Q9NzQ0O2UudG9uZWJhcm1pZG1vZD03NDM7ZS50b25lZml2ZT00NDU7ZS50b25lc2l4PTM4OTtlLnRvbmV0d289NDI0O2UudG9ub3M9OTAwO2UudG9uc3F1YXJlPTEzMDk1O2UudG9wYXRha3RoYWk9MzU5OTtlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdD0xMjMwODtlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdHNtYWxsPTY1MTE3O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODE7ZS50b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0PTEyMzA5O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodHNtYWxsPTY1MTE4O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDgyO2UudG90YW90aGFpPTM2MDU7ZS50cGFsYXRhbGhvb2s9NDI3O2UudHBhcmVuPTkzOTE7ZS50cmFkZW1hcms9ODQ4MjtlLnRyYWRlbWFya3NhbnM9NjM3MjI7ZS50cmFkZW1hcmtzZXJpZj02MzE5NTtlLnRyZXRyb2ZsZXhob29rPTY0ODtlLnRyaWFnZG49OTY2MDtlLnRyaWFnbGY9OTY2ODtlLnRyaWFncnQ9OTY1ODtlLnRyaWFndXA9OTY1MDtlLnRzPTY3ODtlLnRzYWRpPTE1MTA7ZS50c2FkaWRhZ2VzaD02NDMyNjtlLnRzYWRpZGFnZXNoaGVicmV3PTY0MzI2O2UudHNhZGloZWJyZXc9MTUxMDtlLnRzZWN5cmlsbGljPTEwOTQ7ZS50c2VyZT0xNDYxO2UudHNlcmUxMj0xNDYxO2UudHNlcmUxZT0xNDYxO2UudHNlcmUyYj0xNDYxO2UudHNlcmVoZWJyZXc9MTQ2MTtlLnRzZXJlbmFycm93aGVicmV3PTE0NjE7ZS50c2VyZXF1YXJ0ZXJoZWJyZXc9MTQ2MTtlLnRzZXJld2lkZWhlYnJldz0xNDYxO2UudHNoZWN5cmlsbGljPTExMTU7ZS50c3VwZXJpb3I9NjMyMTk7ZS50dGFiZW5nYWxpPTI0NjM7ZS50dGFkZXZhPTIzMzU7ZS50dGFndWphcmF0aT0yNzE5O2UudHRhZ3VybXVraGk9MjU5MTtlLnR0ZWhhcmFiaWM9MTY1NztlLnR0ZWhmaW5hbGFyYWJpYz02NDM1OTtlLnR0ZWhpbml0aWFsYXJhYmljPTY0MzYwO2UudHRlaG1lZGlhbGFyYWJpYz02NDM2MTtlLnR0aGFiZW5nYWxpPTI0NjQ7ZS50dGhhZGV2YT0yMzM2O2UudHRoYWd1amFyYXRpPTI3MjA7ZS50dGhhZ3VybXVraGk9MjU5MjtlLnR0dXJuZWQ9NjQ3O2UudHVoaXJhZ2FuYT0xMjM4ODtlLnR1a2F0YWthbmE9MTI0ODQ7ZS50dWthdGFrYW5haGFsZndpZHRoPTY1NDEwO2UudHVzbWFsbGhpcmFnYW5hPTEyMzg3O2UudHVzbWFsbGthdGFrYW5hPTEyNDgzO2UudHVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1MzkxO2UudHdlbHZlY2lyY2xlPTkzMjM7ZS50d2VsdmVwYXJlbj05MzQzO2UudHdlbHZlcGVyaW9kPTkzNjM7ZS50d2VsdmVyb21hbj04NTcxO2UudHdlbnR5Y2lyY2xlPTkzMzE7ZS50d2VudHloYW5nemhvdT0yMTMxNjtlLnR3ZW50eXBhcmVuPTkzNTE7ZS50d2VudHlwZXJpb2Q9OTM3MTtlLnR3bz01MDtlLnR3b2FyYWJpYz0xNjM0O2UudHdvYmVuZ2FsaT0yNTM2O2UudHdvY2lyY2xlPTkzMTM7ZS50d29jaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTIzO2UudHdvZGV2YT0yNDA4O2UudHdvZG90ZW5sZWFkZXI9ODIyOTtlLnR3b2RvdGxlYWRlcj04MjI5O2UudHdvZG90bGVhZGVydmVydGljYWw9NjUwNzI7ZS50d29ndWphcmF0aT0yNzkyO2UudHdvZ3VybXVraGk9MjY2NDtlLnR3b2hhY2thcmFiaWM9MTYzNDtlLnR3b2hhbmd6aG91PTEyMzIyO2UudHdvaWRlb2dyYXBoaWNwYXJlbj0xMjgzMztlLnR3b2luZmVyaW9yPTgzMjI7ZS50d29tb25vc3BhY2U9NjUyOTg7ZS50d29udW1lcmF0b3JiZW5nYWxpPTI1NDk7ZS50d29vbGRzdHlsZT02MzI4MjtlLnR3b3BhcmVuPTkzMzM7ZS50d29wZXJpb2Q9OTM1MztlLnR3b3BlcnNpYW49MTc3ODtlLnR3b3JvbWFuPTg1NjE7ZS50d29zdHJva2U9NDQzO2UudHdvc3VwZXJpb3I9MTc4O2UudHdvdGhhaT0zNjY2O2UudHdvdGhpcmRzPTg1MzI7ZS51PTExNztlLnVhY3V0ZT0yNTA7ZS51YmFyPTY0OTtlLnViZW5nYWxpPTI0NDE7ZS51Ym9wb21vZm89MTI1ODQ7ZS51YnJldmU9MzY1O2UudWNhcm9uPTQ2ODtlLnVjaXJjbGU9OTQ0NDtlLnVjaXJjdW1mbGV4PTI1MTtlLnVjaXJjdW1mbGV4YmVsb3c9Nzc5OTtlLnVjeXJpbGxpYz0xMDkxO2UudWRhdHRhZGV2YT0yMzg1O2UudWRibGFjdXRlPTM2OTtlLnVkYmxncmF2ZT01MzM7ZS51ZGV2YT0yMzEzO2UudWRpZXJlc2lzPTI1MjtlLnVkaWVyZXNpc2FjdXRlPTQ3MjtlLnVkaWVyZXNpc2JlbG93PTc3OTU7ZS51ZGllcmVzaXNjYXJvbj00NzQ7ZS51ZGllcmVzaXNjeXJpbGxpYz0xMjY1O2UudWRpZXJlc2lzZ3JhdmU9NDc2O2UudWRpZXJlc2lzbWFjcm9uPTQ3MDtlLnVkb3RiZWxvdz03OTA5O2UudWdyYXZlPTI0OTtlLnVndWphcmF0aT0yNjk3O2UudWd1cm11a2hpPTI1Njk7ZS51aGlyYWdhbmE9MTIzNTg7ZS51aG9va2Fib3ZlPTc5MTE7ZS51aG9ybj00MzI7ZS51aG9ybmFjdXRlPTc5MTM7ZS51aG9ybmRvdGJlbG93PTc5MjE7ZS51aG9ybmdyYXZlPTc5MTU7ZS51aG9ybmhvb2thYm92ZT03OTE3O2UudWhvcm50aWxkZT03OTE5O2UudWh1bmdhcnVtbGF1dD0zNjk7ZS51aHVuZ2FydW1sYXV0Y3lyaWxsaWM9MTI2NztlLnVpbnZlcnRlZGJyZXZlPTUzNTtlLnVrYXRha2FuYT0xMjQ1NDtlLnVrYXRha2FuYWhhbGZ3aWR0aD02NTM5NTtlLnVrY3lyaWxsaWM9MTE0NTtlLnVrb3JlYW49MTI2MzY7ZS51bWFjcm9uPTM2MztlLnVtYWNyb25jeXJpbGxpYz0xMjYzO2UudW1hY3JvbmRpZXJlc2lzPTc4MDM7ZS51bWF0cmFndXJtdWtoaT0yNjI1O2UudW1vbm9zcGFjZT02NTM2NTtlLnVuZGVyc2NvcmU9OTU7ZS51bmRlcnNjb3JlZGJsPTgyMTU7ZS51bmRlcnNjb3JlbW9ub3NwYWNlPTY1MzQzO2UudW5kZXJzY29yZXZlcnRpY2FsPTY1MDc1O2UudW5kZXJzY29yZXdhdnk9NjUxMDM7ZS51bmlvbj04NzQ2O2UudW5pdmVyc2FsPTg3MDQ7ZS51b2dvbmVrPTM3MTtlLnVwYXJlbj05MzkyO2UudXBibG9jaz05NjAwO2UudXBwZXJkb3RoZWJyZXc9MTQ3NjtlLnVwc2lsb249OTY1O2UudXBzaWxvbmRpZXJlc2lzPTk3MTtlLnVwc2lsb25kaWVyZXNpc3Rvbm9zPTk0NDtlLnVwc2lsb25sYXRpbj02NTA7ZS51cHNpbG9udG9ub3M9OTczO2UudXB0YWNrYmVsb3djbWI9Nzk3O2UudXB0YWNrbW9kPTcyNDtlLnVyYWd1cm11a2hpPTI2NzU7ZS51cmluZz0zNjc7ZS51c2hvcnRjeXJpbGxpYz0xMTE4O2UudXNtYWxsaGlyYWdhbmE9MTIzNTc7ZS51c21hbGxrYXRha2FuYT0xMjQ1MztlLnVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg1O2UudXN0cmFpZ2h0Y3lyaWxsaWM9MTE5OTtlLnVzdHJhaWdodHN0cm9rZWN5cmlsbGljPTEyMDE7ZS51dGlsZGU9MzYxO2UudXRpbGRlYWN1dGU9NzgwMTtlLnV0aWxkZWJlbG93PTc3OTc7ZS51dWJlbmdhbGk9MjQ0MjtlLnV1ZGV2YT0yMzE0O2UudXVndWphcmF0aT0yNjk4O2UudXVndXJtdWtoaT0yNTcwO2UudXVtYXRyYWd1cm11a2hpPTI2MjY7ZS51dXZvd2Vsc2lnbmJlbmdhbGk9MjQ5ODtlLnV1dm93ZWxzaWduZGV2YT0yMzcwO2UudXV2b3dlbHNpZ25ndWphcmF0aT0yNzU0O2UudXZvd2Vsc2lnbmJlbmdhbGk9MjQ5NztlLnV2b3dlbHNpZ25kZXZhPTIzNjk7ZS51dm93ZWxzaWduZ3VqYXJhdGk9Mjc1MztlLnY9MTE4O2UudmFkZXZhPTIzNTc7ZS52YWd1amFyYXRpPTI3NDE7ZS52YWd1cm11a2hpPTI2MTM7ZS52YWthdGFrYW5hPTEyNTM1O2UudmF2PTE0OTM7ZS52YXZkYWdlc2g9NjQzMDk7ZS52YXZkYWdlc2g2NT02NDMwOTtlLnZhdmRhZ2VzaGhlYnJldz02NDMwOTtlLnZhdmhlYnJldz0xNDkzO2UudmF2aG9sYW09NjQzMzE7ZS52YXZob2xhbWhlYnJldz02NDMzMTtlLnZhdnZhdmhlYnJldz0xNTIwO2UudmF2eW9kaGVicmV3PTE1MjE7ZS52Y2lyY2xlPTk0NDU7ZS52ZG90YmVsb3c9NzgwNztlLnZlY3lyaWxsaWM9MTA3NDtlLnZlaGFyYWJpYz0xNzAwO2UudmVoZmluYWxhcmFiaWM9NjQzNjM7ZS52ZWhpbml0aWFsYXJhYmljPTY0MzY0O2UudmVobWVkaWFsYXJhYmljPTY0MzY1O2UudmVrYXRha2FuYT0xMjUzNztlLnZlbnVzPTk3OTI7ZS52ZXJ0aWNhbGJhcj0xMjQ7ZS52ZXJ0aWNhbGxpbmVhYm92ZWNtYj03ODE7ZS52ZXJ0aWNhbGxpbmViZWxvd2NtYj04MDk7ZS52ZXJ0aWNhbGxpbmVsb3dtb2Q9NzE2O2UudmVydGljYWxsaW5lbW9kPTcxMjtlLnZld2FybWVuaWFuPTE0MDY7ZS52aG9vaz02NTE7ZS52aWthdGFrYW5hPTEyNTM2O2UudmlyYW1hYmVuZ2FsaT0yNTA5O2UudmlyYW1hZGV2YT0yMzgxO2UudmlyYW1hZ3VqYXJhdGk9Mjc2NTtlLnZpc2FyZ2FiZW5nYWxpPTI0MzU7ZS52aXNhcmdhZGV2YT0yMzA3O2UudmlzYXJnYWd1amFyYXRpPTI2OTE7ZS52bW9ub3NwYWNlPTY1MzY2O2Uudm9hcm1lbmlhbj0xNDAwO2Uudm9pY2VkaXRlcmF0aW9uaGlyYWdhbmE9MTI0NDY7ZS52b2ljZWRpdGVyYXRpb25rYXRha2FuYT0xMjU0MjtlLnZvaWNlZG1hcmtrYW5hPTEyNDQzO2Uudm9pY2VkbWFya2thbmFoYWxmd2lkdGg9NjU0Mzg7ZS52b2thdGFrYW5hPTEyNTM4O2UudnBhcmVuPTkzOTM7ZS52dGlsZGU9NzgwNTtlLnZ0dXJuZWQ9NjUyO2UudnVoaXJhZ2FuYT0xMjQzNjtlLnZ1a2F0YWthbmE9MTI1MzI7ZS53PTExOTtlLndhY3V0ZT03ODExO2Uud2Fla29yZWFuPTEyNjMzO2Uud2FoaXJhZ2FuYT0xMjQzMTtlLndha2F0YWthbmE9MTI1Mjc7ZS53YWthdGFrYW5haGFsZndpZHRoPTY1NDM2O2Uud2Frb3JlYW49MTI2MzI7ZS53YXNtYWxsaGlyYWdhbmE9MTI0MzA7ZS53YXNtYWxsa2F0YWthbmE9MTI1MjY7ZS53YXR0b3NxdWFyZT0xMzE0MztlLndhdmVkYXNoPTEyMzE2O2Uud2F2eXVuZGVyc2NvcmV2ZXJ0aWNhbD02NTA3NjtlLndhd2FyYWJpYz0xNjA4O2Uud2F3ZmluYWxhcmFiaWM9NjUyNjI7ZS53YXdoYW16YWFib3ZlYXJhYmljPTE1NzI7ZS53YXdoYW16YWFib3ZlZmluYWxhcmFiaWM9NjUxNTg7ZS53YnNxdWFyZT0xMzI3NztlLndjaXJjbGU9OTQ0NjtlLndjaXJjdW1mbGV4PTM3MztlLndkaWVyZXNpcz03ODEzO2Uud2RvdGFjY2VudD03ODE1O2Uud2RvdGJlbG93PTc4MTc7ZS53ZWhpcmFnYW5hPTEyNDMzO2Uud2VpZXJzdHJhc3M9ODQ3MjtlLndla2F0YWthbmE9MTI1Mjk7ZS53ZWtvcmVhbj0xMjYzODtlLndlb2tvcmVhbj0xMjYzNztlLndncmF2ZT03ODA5O2Uud2hpdGVidWxsZXQ9OTcwMjtlLndoaXRlY2lyY2xlPTk2NzU7ZS53aGl0ZWNpcmNsZWludmVyc2U9OTY4OTtlLndoaXRlY29ybmVyYnJhY2tldGxlZnQ9MTIzMDI7ZS53aGl0ZWNvcm5lcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwOTE7ZS53aGl0ZWNvcm5lcmJyYWNrZXRyaWdodD0xMjMwMztlLndoaXRlY29ybmVyYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwOTI7ZS53aGl0ZWRpYW1vbmQ9OTY3MTtlLndoaXRlZGlhbW9uZGNvbnRhaW5pbmdibGFja3NtYWxsZGlhbW9uZD05NjcyO2Uud2hpdGVkb3ducG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NjM7ZS53aGl0ZWRvd25wb2ludGluZ3RyaWFuZ2xlPTk2NjE7ZS53aGl0ZWxlZnRwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY2NztlLndoaXRlbGVmdHBvaW50aW5ndHJpYW5nbGU9OTY2NTtlLndoaXRlbGVudGljdWxhcmJyYWNrZXRsZWZ0PTEyMzEwO2Uud2hpdGVsZW50aWN1bGFyYnJhY2tldHJpZ2h0PTEyMzExO2Uud2hpdGVyaWdodHBvaW50aW5nc21hbGx0cmlhbmdsZT05NjU3O2Uud2hpdGVyaWdodHBvaW50aW5ndHJpYW5nbGU9OTY1NTtlLndoaXRlc21hbGxzcXVhcmU9OTY0MztlLndoaXRlc21pbGluZ2ZhY2U9OTc4NjtlLndoaXRlc3F1YXJlPTk2MzM7ZS53aGl0ZXN0YXI9OTczNDtlLndoaXRldGVsZXBob25lPTk3NDM7ZS53aGl0ZXRvcnRvaXNlc2hlbGxicmFja2V0bGVmdD0xMjMxMjtlLndoaXRldG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodD0xMjMxMztlLndoaXRldXBwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY1MztlLndoaXRldXBwb2ludGluZ3RyaWFuZ2xlPTk2NTE7ZS53aWhpcmFnYW5hPTEyNDMyO2Uud2lrYXRha2FuYT0xMjUyODtlLndpa29yZWFuPTEyNjM5O2Uud21vbm9zcGFjZT02NTM2NztlLndvaGlyYWdhbmE9MTI0MzQ7ZS53b2thdGFrYW5hPTEyNTMwO2Uud29rYXRha2FuYWhhbGZ3aWR0aD02NTM4MjtlLndvbj04MzYxO2Uud29ubW9ub3NwYWNlPTY1NTEwO2Uud293YWVudGhhaT0zNjIzO2Uud3BhcmVuPTkzOTQ7ZS53cmluZz03ODMyO2Uud3N1cGVyaW9yPTY5NTtlLnd0dXJuZWQ9NjUzO2Uud3lubj00NDc7ZS54PTEyMDtlLnhhYm92ZWNtYj04Mjk7ZS54Ym9wb21vZm89MTI1NjI7ZS54Y2lyY2xlPTk0NDc7ZS54ZGllcmVzaXM9NzgyMTtlLnhkb3RhY2NlbnQ9NzgxOTtlLnhlaGFybWVuaWFuPTEzODk7ZS54aT05NTg7ZS54bW9ub3NwYWNlPTY1MzY4O2UueHBhcmVuPTkzOTU7ZS54c3VwZXJpb3I9NzM5O2UueT0xMjE7ZS55YWFkb3NxdWFyZT0xMzEzNDtlLnlhYmVuZ2FsaT0yNDc5O2UueWFjdXRlPTI1MztlLnlhZGV2YT0yMzUxO2UueWFla29yZWFuPTEyNjI2O2UueWFndWphcmF0aT0yNzM1O2UueWFndXJtdWtoaT0yNjA3O2UueWFoaXJhZ2FuYT0xMjQyMDtlLnlha2F0YWthbmE9MTI1MTY7ZS55YWthdGFrYW5haGFsZndpZHRoPTY1NDI4O2UueWFrb3JlYW49MTI2MjU7ZS55YW1ha2thbnRoYWk9MzY2MjtlLnlhc21hbGxoaXJhZ2FuYT0xMjQxOTtlLnlhc21hbGxrYXRha2FuYT0xMjUxNTtlLnlhc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4ODtlLnlhdGN5cmlsbGljPTExMjM7ZS55Y2lyY2xlPTk0NDg7ZS55Y2lyY3VtZmxleD0zNzU7ZS55ZGllcmVzaXM9MjU1O2UueWRvdGFjY2VudD03ODIzO2UueWRvdGJlbG93PTc5MjU7ZS55ZWhhcmFiaWM9MTYxMDtlLnllaGJhcnJlZWFyYWJpYz0xNzQ2O2UueWVoYmFycmVlZmluYWxhcmFiaWM9NjQ0MzE7ZS55ZWhmaW5hbGFyYWJpYz02NTI2NjtlLnllaGhhbXphYWJvdmVhcmFiaWM9MTU3NDtlLnllaGhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE2MjtlLnllaGhhbXphYWJvdmVpbml0aWFsYXJhYmljPTY1MTYzO2UueWVoaGFtemFhYm92ZW1lZGlhbGFyYWJpYz02NTE2NDtlLnllaGluaXRpYWxhcmFiaWM9NjUyNjc7ZS55ZWhtZWRpYWxhcmFiaWM9NjUyNjg7ZS55ZWhtZWVtaW5pdGlhbGFyYWJpYz02NDczMztlLnllaG1lZW1pc29sYXRlZGFyYWJpYz02NDYwMDtlLnllaG5vb25maW5hbGFyYWJpYz02NDY2MDtlLnllaHRocmVlZG90c2JlbG93YXJhYmljPTE3NDU7ZS55ZWtvcmVhbj0xMjYzMDtlLnllbj0xNjU7ZS55ZW5tb25vc3BhY2U9NjU1MDk7ZS55ZW9rb3JlYW49MTI2Mjk7ZS55ZW9yaW5oaWV1aGtvcmVhbj0xMjY3ODtlLnllcmFoYmVueW9tb2hlYnJldz0xNDUwO2UueWVyYWhiZW55b21vbGVmdGhlYnJldz0xNDUwO2UueWVyaWN5cmlsbGljPTEwOTk7ZS55ZXJ1ZGllcmVzaXNjeXJpbGxpYz0xMjczO2UueWVzaWV1bmdrb3JlYW49MTI2NzM7ZS55ZXNpZXVuZ3BhbnNpb3Nrb3JlYW49MTI2NzU7ZS55ZXNpZXVuZ3Npb3Nrb3JlYW49MTI2NzQ7ZS55ZXRpdmhlYnJldz0xNDM0O2UueWdyYXZlPTc5MjM7ZS55aG9vaz00MzY7ZS55aG9va2Fib3ZlPTc5Mjc7ZS55aWFybWVuaWFuPTEzOTc7ZS55aWN5cmlsbGljPTExMTE7ZS55aWtvcmVhbj0xMjY0MjtlLnlpbnlhbmc9OTc3NTtlLnlpd25hcm1lbmlhbj0xNDEwO2UueW1vbm9zcGFjZT02NTM2OTtlLnlvZD0xNDk3O2UueW9kZGFnZXNoPTY0MzEzO2UueW9kZGFnZXNoaGVicmV3PTY0MzEzO2UueW9kaGVicmV3PTE0OTc7ZS55b2R5b2RoZWJyZXc9MTUyMjtlLnlvZHlvZHBhdGFoaGVicmV3PTY0Mjg3O2UueW9oaXJhZ2FuYT0xMjQyNDtlLnlvaWtvcmVhbj0xMjY4MTtlLnlva2F0YWthbmE9MTI1MjA7ZS55b2thdGFrYW5haGFsZndpZHRoPTY1NDMwO2UueW9rb3JlYW49MTI2MzU7ZS55b3NtYWxsaGlyYWdhbmE9MTI0MjM7ZS55b3NtYWxsa2F0YWthbmE9MTI1MTk7ZS55b3NtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzOTA7ZS55b3RncmVlaz0xMDExO2UueW95YWVrb3JlYW49MTI2ODA7ZS55b3lha29yZWFuPTEyNjc5O2UueW95YWt0aGFpPTM2MTg7ZS55b3lpbmd0aGFpPTM1OTc7ZS55cGFyZW49OTM5NjtlLnlwb2dlZ3JhbW1lbmk9ODkwO2UueXBvZ2VncmFtbWVuaWdyZWVrY21iPTgzNztlLnlyPTQyMjtlLnlyaW5nPTc4MzM7ZS55c3VwZXJpb3I9Njk2O2UueXRpbGRlPTc5Mjk7ZS55dHVybmVkPTY1NDtlLnl1aGlyYWdhbmE9MTI0MjI7ZS55dWlrb3JlYW49MTI2ODQ7ZS55dWthdGFrYW5hPTEyNTE4O2UueXVrYXRha2FuYWhhbGZ3aWR0aD02NTQyOTtlLnl1a29yZWFuPTEyNjQwO2UueXVzYmlnY3lyaWxsaWM9MTEzMTtlLnl1c2JpZ2lvdGlmaWVkY3lyaWxsaWM9MTEzMztlLnl1c2xpdHRsZWN5cmlsbGljPTExMjc7ZS55dXNsaXR0bGVpb3RpZmllZGN5cmlsbGljPTExMjk7ZS55dXNtYWxsaGlyYWdhbmE9MTI0MjE7ZS55dXNtYWxsa2F0YWthbmE9MTI1MTc7ZS55dXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODk7ZS55dXlla29yZWFuPTEyNjgzO2UueXV5ZW9rb3JlYW49MTI2ODI7ZS55eWFiZW5nYWxpPTI1Mjc7ZS55eWFkZXZhPTIzOTk7ZS56PTEyMjtlLnphYXJtZW5pYW49MTM4MjtlLnphY3V0ZT0zNzg7ZS56YWRldmE9MjM5NTtlLnphZ3VybXVraGk9MjY1MTtlLnphaGFyYWJpYz0xNTkyO2UuemFoZmluYWxhcmFiaWM9NjUyMjI7ZS56YWhpbml0aWFsYXJhYmljPTY1MjIzO2UuemFoaXJhZ2FuYT0xMjM3NDtlLnphaG1lZGlhbGFyYWJpYz02NTIyNDtlLnphaW5hcmFiaWM9MTU4NjtlLnphaW5maW5hbGFyYWJpYz02NTIwMDtlLnpha2F0YWthbmE9MTI0NzA7ZS56YXFlZmdhZG9saGVicmV3PTE0Mjk7ZS56YXFlZnFhdGFuaGVicmV3PTE0Mjg7ZS56YXJxYWhlYnJldz0xNDMyO2UuemF5aW49MTQ5NDtlLnpheWluZGFnZXNoPTY0MzEwO2UuemF5aW5kYWdlc2hoZWJyZXc9NjQzMTA7ZS56YXlpbmhlYnJldz0xNDk0O2UuemJvcG9tb2ZvPTEyNTY3O2UuemNhcm9uPTM4MjtlLnpjaXJjbGU9OTQ0OTtlLnpjaXJjdW1mbGV4PTc4MjU7ZS56Y3VybD02NTc7ZS56ZG90PTM4MDtlLnpkb3RhY2NlbnQ9MzgwO2UuemRvdGJlbG93PTc4Mjc7ZS56ZWN5cmlsbGljPTEwNzk7ZS56ZWRlc2NlbmRlcmN5cmlsbGljPTExNzc7ZS56ZWRpZXJlc2lzY3lyaWxsaWM9MTI0NztlLnplaGlyYWdhbmE9MTIzODA7ZS56ZWthdGFrYW5hPTEyNDc2O2UuemVybz00ODtlLnplcm9hcmFiaWM9MTYzMjtlLnplcm9iZW5nYWxpPTI1MzQ7ZS56ZXJvZGV2YT0yNDA2O2UuemVyb2d1amFyYXRpPTI3OTA7ZS56ZXJvZ3VybXVraGk9MjY2MjtlLnplcm9oYWNrYXJhYmljPTE2MzI7ZS56ZXJvaW5mZXJpb3I9ODMyMDtlLnplcm9tb25vc3BhY2U9NjUyOTY7ZS56ZXJvb2xkc3R5bGU9NjMyODA7ZS56ZXJvcGVyc2lhbj0xNzc2O2UuemVyb3N1cGVyaW9yPTgzMDQ7ZS56ZXJvdGhhaT0zNjY0O2UuemVyb3dpZHRoam9pbmVyPTY1Mjc5O2UuemVyb3dpZHRobm9uam9pbmVyPTgyMDQ7ZS56ZXJvd2lkdGhzcGFjZT04MjAzO2UuemV0YT05NTA7ZS56aGJvcG9tb2ZvPTEyNTYzO2UuemhlYXJtZW5pYW49MTM4NjtlLnpoZWJyZXZlY3lyaWxsaWM9MTIxODtlLnpoZWN5cmlsbGljPTEwNzg7ZS56aGVkZXNjZW5kZXJjeXJpbGxpYz0xMTc1O2UuemhlZGllcmVzaXNjeXJpbGxpYz0xMjQ1O2UuemloaXJhZ2FuYT0xMjM3NjtlLnppa2F0YWthbmE9MTI0NzI7ZS56aW5vcmhlYnJldz0xNDU0O2UuemxpbmViZWxvdz03ODI5O2Uuem1vbm9zcGFjZT02NTM3MDtlLnpvaGlyYWdhbmE9MTIzODI7ZS56b2thdGFrYW5hPTEyNDc4O2UuenBhcmVuPTkzOTc7ZS56cmV0cm9mbGV4aG9vaz02NTY7ZS56c3Ryb2tlPTQzODtlLnp1aGlyYWdhbmE9MTIzNzg7ZS56dWthdGFrYW5hPTEyNDc0O2VbIi5ub3RkZWYiXT0wO2UuYW5nYnJhY2tldGxlZnRiaWc9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0QmlnPTkwMDE7ZS5hbmdicmFja2V0bGVmdGJpZ2c9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0QmlnZz05MDAxO2UuYW5nYnJhY2tldHJpZ2h0QmlnPTkwMDI7ZS5hbmdicmFja2V0cmlnaHRiaWc9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodEJpZ2c9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodGJpZ2c9OTAwMjtlLmFycm93aG9va2xlZnQ9ODYxODtlLmFycm93aG9va3JpZ2h0PTg2MTc7ZS5hcnJvd2xlZnR0b3BoYWxmPTg2MzY7ZS5hcnJvd2xlZnRib3RoYWxmPTg2Mzc7ZS5hcnJvd25vcnRoZWFzdD04NTk5O2UuYXJyb3dub3J0aHdlc3Q9ODU5ODtlLmFycm93cmlnaHR0b3BoYWxmPTg2NDA7ZS5hcnJvd3JpZ2h0Ym90aGFsZj04NjQxO2UuYXJyb3dzb3V0aGVhc3Q9ODYwMDtlLmFycm93c291dGh3ZXN0PTg2MDE7ZS5iYWNrc2xhc2hiaWc9ODcyNjtlLmJhY2tzbGFzaEJpZz04NzI2O2UuYmFja3NsYXNoQmlnZz04NzI2O2UuYmFja3NsYXNoYmlnZz04NzI2O2UuYmFyZGJsPTgyMTQ7ZS5icmFjZWh0aXBkb3dubGVmdD02NTA3OTtlLmJyYWNlaHRpcGRvd25yaWdodD02NTA3OTtlLmJyYWNlaHRpcHVwbGVmdD02NTA4MDtlLmJyYWNlaHRpcHVwcmlnaHQ9NjUwODA7ZS5icmFjZWxlZnRCaWc9MTIzO2UuYnJhY2VsZWZ0YmlnPTEyMztlLmJyYWNlbGVmdGJpZ2c9MTIzO2UuYnJhY2VsZWZ0QmlnZz0xMjM7ZS5icmFjZXJpZ2h0QmlnPTEyNTtlLmJyYWNlcmlnaHRiaWc9MTI1O2UuYnJhY2VyaWdodGJpZ2c9MTI1O2UuYnJhY2VyaWdodEJpZ2c9MTI1O2UuYnJhY2tldGxlZnRiaWc9OTE7ZS5icmFja2V0bGVmdEJpZz05MTtlLmJyYWNrZXRsZWZ0YmlnZz05MTtlLmJyYWNrZXRsZWZ0QmlnZz05MTtlLmJyYWNrZXRyaWdodEJpZz05MztlLmJyYWNrZXRyaWdodGJpZz05MztlLmJyYWNrZXRyaWdodGJpZ2c9OTM7ZS5icmFja2V0cmlnaHRCaWdnPTkzO2UuY2VpbGluZ2xlZnRiaWc9ODk2ODtlLmNlaWxpbmdsZWZ0QmlnPTg5Njg7ZS5jZWlsaW5nbGVmdEJpZ2c9ODk2ODtlLmNlaWxpbmdsZWZ0YmlnZz04OTY4O2UuY2VpbGluZ3JpZ2h0YmlnPTg5Njk7ZS5jZWlsaW5ncmlnaHRCaWc9ODk2OTtlLmNlaWxpbmdyaWdodGJpZ2c9ODk2OTtlLmNlaWxpbmdyaWdodEJpZ2c9ODk2OTtlLmNpcmNsZWRvdGRpc3BsYXk9ODg1NztlLmNpcmNsZWRvdHRleHQ9ODg1NztlLmNpcmNsZW11bHRpcGx5ZGlzcGxheT04ODU1O2UuY2lyY2xlbXVsdGlwbHl0ZXh0PTg4NTU7ZS5jaXJjbGVwbHVzZGlzcGxheT04ODUzO2UuY2lyY2xlcGx1c3RleHQ9ODg1MztlLmNvbnRpbnRlZ3JhbGRpc3BsYXk9ODc1MDtlLmNvbnRpbnRlZ3JhbHRleHQ9ODc1MDtlLmNvcHJvZHVjdGRpc3BsYXk9ODcyMDtlLmNvcHJvZHVjdHRleHQ9ODcyMDtlLmZsb29ybGVmdEJpZz04OTcwO2UuZmxvb3JsZWZ0YmlnPTg5NzA7ZS5mbG9vcmxlZnRiaWdnPTg5NzA7ZS5mbG9vcmxlZnRCaWdnPTg5NzA7ZS5mbG9vcnJpZ2h0YmlnPTg5NzE7ZS5mbG9vcnJpZ2h0QmlnPTg5NzE7ZS5mbG9vcnJpZ2h0QmlnZz04OTcxO2UuZmxvb3JyaWdodGJpZ2c9ODk3MTtlLmhhdHdpZGU9NzcwO2UuaGF0d2lkZXI9NzcwO2UuaGF0d2lkZXN0PTc3MDtlLmludGVyY2FsPTc0ODg7ZS5pbnRlZ3JhbGRpc3BsYXk9ODc0NztlLmludGVncmFsdGV4dD04NzQ3O2UuaW50ZXJzZWN0aW9uZGlzcGxheT04ODk4O2UuaW50ZXJzZWN0aW9udGV4dD04ODk4O2UubG9naWNhbGFuZGRpc3BsYXk9ODc0MztlLmxvZ2ljYWxhbmR0ZXh0PTg3NDM7ZS5sb2dpY2Fsb3JkaXNwbGF5PTg3NDQ7ZS5sb2dpY2Fsb3J0ZXh0PTg3NDQ7ZS5wYXJlbmxlZnRCaWc9NDA7ZS5wYXJlbmxlZnRiaWc9NDA7ZS5wYXJlbmxlZnRCaWdnPTQwO2UucGFyZW5sZWZ0YmlnZz00MDtlLnBhcmVucmlnaHRCaWc9NDE7ZS5wYXJlbnJpZ2h0YmlnPTQxO2UucGFyZW5yaWdodEJpZ2c9NDE7ZS5wYXJlbnJpZ2h0YmlnZz00MTtlLnByaW1lPTgyNDI7ZS5wcm9kdWN0ZGlzcGxheT04NzE5O2UucHJvZHVjdHRleHQ9ODcxOTtlLnJhZGljYWxiaWc9ODczMDtlLnJhZGljYWxCaWc9ODczMDtlLnJhZGljYWxCaWdnPTg3MzA7ZS5yYWRpY2FsYmlnZz04NzMwO2UucmFkaWNhbGJ0PTg3MzA7ZS5yYWRpY2FsdHA9ODczMDtlLnJhZGljYWx2ZXJ0ZXg9ODczMDtlLnNsYXNoYmlnPTQ3O2Uuc2xhc2hCaWc9NDc7ZS5zbGFzaEJpZ2c9NDc7ZS5zbGFzaGJpZ2c9NDc7ZS5zdW1tYXRpb25kaXNwbGF5PTg3MjE7ZS5zdW1tYXRpb250ZXh0PTg3MjE7ZS50aWxkZXdpZGU9NzMyO2UudGlsZGV3aWRlcj03MzI7ZS50aWxkZXdpZGVzdD03MzI7ZS51bmlvbmRpc3BsYXk9ODg5OTtlLnVuaW9ubXVsdGlkaXNwbGF5PTg4NDY7ZS51bmlvbm11bHRpdGV4dD04ODQ2O2UudW5pb25zcWRpc3BsYXk9ODg1MjtlLnVuaW9uc3F0ZXh0PTg4NTI7ZS51bmlvbnRleHQ9ODg5OTtlLnZleHRlbmRkb3VibGU9ODc0MTtlLnZleHRlbmRzaW5nbGU9ODczOX0pKSxNaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MzI7ZS5hMT05OTg1O2UuYTI9OTk4NjtlLmEyMDI9OTk4NztlLmEzPTk5ODg7ZS5hND05NzQyO2UuYTU9OTk5MDtlLmExMTk9OTk5MTtlLmExMTg9OTk5MjtlLmExMTc9OTk5MztlLmExMT05NzU1O2UuYTEyPTk3NTg7ZS5hMTM9OTk5NjtlLmExND05OTk3O2UuYTE1PTk5OTg7ZS5hMTY9OTk5OTtlLmExMDU9MWU0O2UuYTE3PTEwMDAxO2UuYTE4PTEwMDAyO2UuYTE5PTEwMDAzO2UuYTIwPTEwMDA0O2UuYTIxPTEwMDA1O2UuYTIyPTEwMDA2O2UuYTIzPTEwMDA3O2UuYTI0PTEwMDA4O2UuYTI1PTEwMDA5O2UuYTI2PTEwMDEwO2UuYTI3PTEwMDExO2UuYTI4PTEwMDEyO2UuYTY9MTAwMTM7ZS5hNz0xMDAxNDtlLmE4PTEwMDE1O2UuYTk9MTAwMTY7ZS5hMTA9MTAwMTc7ZS5hMjk9MTAwMTg7ZS5hMzA9MTAwMTk7ZS5hMzE9MTAwMjA7ZS5hMzI9MTAwMjE7ZS5hMzM9MTAwMjI7ZS5hMzQ9MTAwMjM7ZS5hMzU9OTczMztlLmEzNj0xMDAyNTtlLmEzNz0xMDAyNjtlLmEzOD0xMDAyNztlLmEzOT0xMDAyODtlLmE0MD0xMDAyOTtlLmE0MT0xMDAzMDtlLmE0Mj0xMDAzMTtlLmE0Mz0xMDAzMjtlLmE0ND0xMDAzMztlLmE0NT0xMDAzNDtlLmE0Nj0xMDAzNTtlLmE0Nz0xMDAzNjtlLmE0OD0xMDAzNztlLmE0OT0xMDAzODtlLmE1MD0xMDAzOTtlLmE1MT0xMDA0MDtlLmE1Mj0xMDA0MTtlLmE1Mz0xMDA0MjtlLmE1ND0xMDA0MztlLmE1NT0xMDA0NDtlLmE1Nj0xMDA0NTtlLmE1Nz0xMDA0NjtlLmE1OD0xMDA0NztlLmE1OT0xMDA0ODtlLmE2MD0xMDA0OTtlLmE2MT0xMDA1MDtlLmE2Mj0xMDA1MTtlLmE2Mz0xMDA1MjtlLmE2ND0xMDA1MztlLmE2NT0xMDA1NDtlLmE2Nj0xMDA1NTtlLmE2Nz0xMDA1NjtlLmE2OD0xMDA1NztlLmE2OT0xMDA1ODtlLmE3MD0xMDA1OTtlLmE3MT05Njc5O2UuYTcyPTEwMDYxO2UuYTczPTk2MzI7ZS5hNzQ9MTAwNjM7ZS5hMjAzPTEwMDY0O2UuYTc1PTEwMDY1O2UuYTIwND0xMDA2NjtlLmE3Nj05NjUwO2UuYTc3PTk2NjA7ZS5hNzg9OTY3MDtlLmE3OT0xMDA3MDtlLmE4MT05Njg3O2UuYTgyPTEwMDcyO2UuYTgzPTEwMDczO2UuYTg0PTEwMDc0O2UuYTk3PTEwMDc1O2UuYTk4PTEwMDc2O2UuYTk5PTEwMDc3O2UuYTEwMD0xMDA3ODtlLmExMDE9MTAwODE7ZS5hMTAyPTEwMDgyO2UuYTEwMz0xMDA4MztlLmExMDQ9MTAwODQ7ZS5hMTA2PTEwMDg1O2UuYTEwNz0xMDA4NjtlLmExMDg9MTAwODc7ZS5hMTEyPTk4Mjc7ZS5hMTExPTk4MzA7ZS5hMTEwPTk4Mjk7ZS5hMTA5PTk4MjQ7ZS5hMTIwPTkzMTI7ZS5hMTIxPTkzMTM7ZS5hMTIyPTkzMTQ7ZS5hMTIzPTkzMTU7ZS5hMTI0PTkzMTY7ZS5hMTI1PTkzMTc7ZS5hMTI2PTkzMTg7ZS5hMTI3PTkzMTk7ZS5hMTI4PTkzMjA7ZS5hMTI5PTkzMjE7ZS5hMTMwPTEwMTAyO2UuYTEzMT0xMDEwMztlLmExMzI9MTAxMDQ7ZS5hMTMzPTEwMTA1O2UuYTEzND0xMDEwNjtlLmExMzU9MTAxMDc7ZS5hMTM2PTEwMTA4O2UuYTEzNz0xMDEwOTtlLmExMzg9MTAxMTA7ZS5hMTM5PTEwMTExO2UuYTE0MD0xMDExMjtlLmExNDE9MTAxMTM7ZS5hMTQyPTEwMTE0O2UuYTE0Mz0xMDExNTtlLmExNDQ9MTAxMTY7ZS5hMTQ1PTEwMTE3O2UuYTE0Nj0xMDExODtlLmExNDc9MTAxMTk7ZS5hMTQ4PTEwMTIwO2UuYTE0OT0xMDEyMTtlLmExNTA9MTAxMjI7ZS5hMTUxPTEwMTIzO2UuYTE1Mj0xMDEyNDtlLmExNTM9MTAxMjU7ZS5hMTU0PTEwMTI2O2UuYTE1NT0xMDEyNztlLmExNTY9MTAxMjg7ZS5hMTU3PTEwMTI5O2UuYTE1OD0xMDEzMDtlLmExNTk9MTAxMzE7ZS5hMTYwPTEwMTMyO2UuYTE2MT04NTk0O2UuYTE2Mz04NTk2O2UuYTE2ND04NTk3O2UuYTE5Nj0xMDEzNjtlLmExNjU9MTAxMzc7ZS5hMTkyPTEwMTM4O2UuYTE2Nj0xMDEzOTtlLmExNjc9MTAxNDA7ZS5hMTY4PTEwMTQxO2UuYTE2OT0xMDE0MjtlLmExNzA9MTAxNDM7ZS5hMTcxPTEwMTQ0O2UuYTE3Mj0xMDE0NTtlLmExNzM9MTAxNDY7ZS5hMTYyPTEwMTQ3O2UuYTE3ND0xMDE0ODtlLmExNzU9MTAxNDk7ZS5hMTc2PTEwMTUwO2UuYTE3Nz0xMDE1MTtlLmExNzg9MTAxNTI7ZS5hMTc5PTEwMTUzO2UuYTE5Mz0xMDE1NDtlLmExODA9MTAxNTU7ZS5hMTk5PTEwMTU2O2UuYTE4MT0xMDE1NztlLmEyMDA9MTAxNTg7ZS5hMTgyPTEwMTU5O2UuYTIwMT0xMDE2MTtlLmExODM9MTAxNjI7ZS5hMTg0PTEwMTYzO2UuYTE5Nz0xMDE2NDtlLmExODU9MTAxNjU7ZS5hMTk0PTEwMTY2O2UuYTE5OD0xMDE2NztlLmExODY9MTAxNjg7ZS5hMTk1PTEwMTY5O2UuYTE4Nz0xMDE3MDtlLmExODg9MTAxNzE7ZS5hMTg5PTEwMTcyO2UuYTE5MD0xMDE3MztlLmExOTE9MTAxNzQ7ZS5hODk9MTAwODg7ZS5hOTA9MTAwODk7ZS5hOTM9MTAwOTA7ZS5hOTQ9MTAwOTE7ZS5hOTE9MTAwOTI7ZS5hOTI9MTAwOTM7ZS5hMjA1PTEwMDk0O2UuYTg1PTEwMDk1O2UuYTIwNj0xMDA5NjtlLmE4Nj0xMDA5NztlLmE4Nz0xMDA5ODtlLmE4OD0xMDA5OTtlLmE5NT0xMDEwMDtlLmE5Nj0xMDEwMTtlWyIubm90ZGVmIl09MH0pKSxIaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbNjM3MjFdPTE2OTtlWzYzMTkzXT0xNjk7ZVs2MzcyMF09MTc0O2VbNjMxOTRdPTE3NDtlWzYzNzIyXT04NDgyO2VbNjMxOTVdPTg0ODI7ZVs2MzcyOV09OTEyNztlWzYzNzMwXT05MTI4O2VbNjM3MzFdPTkxMjk7ZVs2Mzc0MF09OTEzMTtlWzYzNzQxXT05MTMyO2VbNjM3NDJdPTkxMzM7ZVs2MzcyNl09OTEyMTtlWzYzNzI3XT05MTIyO2VbNjM3MjhdPTkxMjM7ZVs2MzczN109OTEyNDtlWzYzNzM4XT05MTI1O2VbNjM3MzldPTkxMjY7ZVs2MzcyM109OTExNTtlWzYzNzI0XT05MTE2O2VbNjM3MjVdPTkxMTc7ZVs2MzczNF09OTExODtlWzYzNzM1XT05MTE5O2VbNjM3MzZdPTkxMjB9KSk7ZnVuY3Rpb24gZ2V0VW5pY29kZUZvckdseXBoKGUsdCl7bGV0IGk9dFtlXTtpZih2b2lkIDAhPT1pKXJldHVybiBpO2lmKCFlKXJldHVybi0xO2lmKCJ1Ij09PWVbMF0pe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGE7aWYoNz09PXQmJiJuIj09PWVbMV0mJiJpIj09PWVbMl0pYT1lLnN1YnN0cmluZygzKTtlbHNle2lmKCEodD49NSYmdDw9NykpcmV0dXJuLTE7YT1lLnN1YnN0cmluZygxKX1pZihhPT09YS50b1VwcGVyQ2FzZSgpKXtpPXBhcnNlSW50KGEsMTYpO2lmKGk+PTApcmV0dXJuIGl9fXJldHVybi0xfWNvbnN0IEppPVtbMCwxMjddLFsxMjgsMjU1XSxbMjU2LDM4M10sWzM4NCw1OTFdLFs1OTIsNjg3LDc0MjQsNzU1MSw3NTUyLDc2MTVdLFs2ODgsNzY3LDQyNzUyLDQyNzgzXSxbNzY4LDg3OSw3NjE2LDc2NzldLFs4ODAsMTAyM10sWzExMzkyLDExNTE5XSxbMTAyNCwxMjc5LDEyODAsMTMyNywxMTc0NCwxMTc3NSw0MjU2MCw0MjY1NV0sWzEzMjgsMTQyM10sWzE0MjQsMTUzNV0sWzQyMjQwLDQyNTU5XSxbMTUzNiwxNzkxLDE4NzIsMTkxOV0sWzE5ODQsMjA0N10sWzIzMDQsMjQzMV0sWzI0MzIsMjU1OV0sWzI1NjAsMjY4N10sWzI2ODgsMjgxNV0sWzI4MTYsMjk0M10sWzI5NDQsMzA3MV0sWzMwNzIsMzE5OV0sWzMyMDAsMzMyN10sWzMzMjgsMzQ1NV0sWzM1ODQsMzcxMV0sWzM3MTIsMzgzOV0sWzQyNTYsNDM1MSwxMTUyMCwxMTU2N10sWzY5MTIsNzAzOV0sWzQzNTIsNDYwN10sWzc2ODAsNzkzNSwxMTM2MCwxMTM5MSw0Mjc4NCw0MzAwN10sWzc5MzYsODE5MV0sWzgxOTIsODMwMywxMTc3NiwxMTkwM10sWzgzMDQsODM1MV0sWzgzNTIsODM5OV0sWzg0MDAsODQ0N10sWzg0NDgsODUyN10sWzg1MjgsODU5MV0sWzg1OTIsODcwMywxMDIyNCwxMDIzOSwxMDQ5NiwxMDYyMywxMTAwOCwxMTI2M10sWzg3MDQsODk1OSwxMDc1MiwxMTAwNywxMDE3NiwxMDIyMywxMDYyNCwxMDc1MV0sWzg5NjAsOTIxNV0sWzkyMTYsOTI3OV0sWzkyODAsOTMxMV0sWzkzMTIsOTQ3MV0sWzk0NzIsOTU5OV0sWzk2MDAsOTYzMV0sWzk2MzIsOTcyN10sWzk3MjgsOTk4M10sWzk5ODQsMTAxNzVdLFsxMjI4OCwxMjM1MV0sWzEyMzUyLDEyNDQ3XSxbMTI0NDgsMTI1NDMsMTI3ODQsMTI3OTldLFsxMjU0NCwxMjU5MSwxMjcwNCwxMjczNV0sWzEyNTkyLDEyNjg3XSxbNDMwNzIsNDMxMzVdLFsxMjgwMCwxMzA1NV0sWzEzMDU2LDEzMzExXSxbNDQwMzIsNTUyMTVdLFs1NTI5Niw1NzM0M10sWzY3ODQwLDY3ODcxXSxbMTk5NjgsNDA5NTksMTE5MDQsMTIwMzEsMTIwMzIsMTIyNTUsMTIyNzIsMTIyODcsMTMzMTIsMTk5MDMsMTMxMDcyLDE3Mzc5MSwxMjY4OCwxMjcwM10sWzU3MzQ0LDYzNzQzXSxbMTI3MzYsMTI3ODMsNjM3NDQsNjQyNTUsMTk0NTYwLDE5NTEwM10sWzY0MjU2LDY0MzM1XSxbNjQzMzYsNjUwMjNdLFs2NTA1Niw2NTA3MV0sWzY1MDQwLDY1MDU1XSxbNjUxMDQsNjUxMzVdLFs2NTEzNiw2NTI3OV0sWzY1MjgwLDY1NTE5XSxbNjU1MjAsNjU1MzVdLFszODQwLDQwOTVdLFsxNzkyLDE4NzFdLFsxOTIwLDE5ODNdLFszNDU2LDM1ODNdLFs0MDk2LDQyNTVdLFs0NjA4LDQ5OTEsNDk5Miw1MDIzLDExNjQ4LDExNzQzXSxbNTAyNCw1MTE5XSxbNTEyMCw1NzU5XSxbNTc2MCw1NzkxXSxbNTc5Miw1ODg3XSxbNjAxNiw2MTQzXSxbNjE0NCw2MzE5XSxbMTAyNDAsMTA0OTVdLFs0MDk2MCw0MjEyN10sWzU4ODgsNTkxOSw1OTIwLDU5NTEsNTk1Miw1OTgzLDU5ODQsNjAxNV0sWzY2MzA0LDY2MzUxXSxbNjYzNTIsNjYzODNdLFs2NjU2MCw2NjYzOV0sWzExODc4NCwxMTkwMzksMTE5MDQwLDExOTI5NSwxMTkyOTYsMTE5Mzc1XSxbMTE5ODA4LDEyMDgzMV0sWzEwNDQ0ODAsMTA0ODU3M10sWzY1MDI0LDY1MDM5LDkxNzc2MCw5MTc5OTldLFs5MTc1MDQsOTE3NjMxXSxbNjQwMCw2NDc5XSxbNjQ4MCw2NTI3XSxbNjUyOCw2NjIzXSxbNjY1Niw2Njg3XSxbMTEyNjQsMTEzNTldLFsxMTU2OCwxMTY0N10sWzE5OTA0LDE5OTY3XSxbNDMwMDgsNDMwNTVdLFs2NTUzNiw2NTY2Myw2NTY2NCw2NTc5MSw2NTc5Miw2NTg1NV0sWzY1ODU2LDY1OTM1XSxbNjY0MzIsNjY0NjNdLFs2NjQ2NCw2NjUyN10sWzY2NjQwLDY2Njg3XSxbNjY2ODgsNjY3MzVdLFs2NzU4NCw2NzY0N10sWzY4MDk2LDY4MTkxXSxbMTE5NTUyLDExOTY0N10sWzczNzI4LDc0NzUxLDc0NzUyLDc0ODc5XSxbMTE5NjQ4LDExOTY3OV0sWzcwNDAsNzEwM10sWzcxNjgsNzI0N10sWzcyNDgsNzI5NV0sWzQzMTM2LDQzMjMxXSxbNDMyNjQsNDMzMTFdLFs0MzMxMiw0MzM1OV0sWzQzNTIwLDQzNjE1XSxbNjU5MzYsNjU5OTldLFs2NmUzLDY2MDQ3XSxbNjYyMDgsNjYyNzEsNjYxNzYsNjYyMDcsNjc4NzIsNjc5MDNdLFsxMjcwMjQsMTI3MTM1LDEyNjk3NiwxMjcwMjNdXTtmdW5jdGlvbiBnZXRVbmljb2RlUmFuZ2VGb3IoZSx0PS0xKXtpZigtMSE9PXQpe2NvbnN0IGk9SmlbdF07Zm9yKGxldCBhPTAscz1pLmxlbmd0aDthPHM7YSs9MilpZihlPj1pW2FdJiZlPD1pW2ErMV0pcmV0dXJuIHR9Zm9yKGxldCB0PTAsaT1KaS5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1KaVt0XTtmb3IobGV0IGE9MCxzPWkubGVuZ3RoO2E8czthKz0yKWlmKGU+PWlbYV0mJmU8PWlbYSsxXSlyZXR1cm4gdH1yZXR1cm4tMX1jb25zdCBZaT1uZXcgUmVnRXhwKCJeKFxccyl8KFxccHtNbn0pfChcXHB7Q2Z9KSQiLCJ1Iiksdmk9bmV3IE1hcDtjb25zdCBLaT0hMCxUaT0xLHFpPTIsT2k9NCxQaT0zMixXaT1bIi5ub3RkZWYiLCIubnVsbCIsIm5vbm1hcmtpbmdyZXR1cm4iLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIk50aWxkZSIsIk9kaWVyZXNpcyIsIlVkaWVyZXNpcyIsImFhY3V0ZSIsImFncmF2ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYXRpbGRlIiwiYXJpbmciLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVncmF2ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiaWFjdXRlIiwiaWdyYXZlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJudGlsZGUiLCJvYWN1dGUiLCJvZ3JhdmUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm90aWxkZSIsInVhY3V0ZSIsInVncmF2ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwiZGFnZ2VyIiwiZGVncmVlIiwiY2VudCIsInN0ZXJsaW5nIiwic2VjdGlvbiIsImJ1bGxldCIsInBhcmFncmFwaCIsImdlcm1hbmRibHMiLCJyZWdpc3RlcmVkIiwiY29weXJpZ2h0IiwidHJhZGVtYXJrIiwiYWN1dGUiLCJkaWVyZXNpcyIsIm5vdGVxdWFsIiwiQUUiLCJPc2xhc2giLCJpbmZpbml0eSIsInBsdXNtaW51cyIsImxlc3NlcXVhbCIsImdyZWF0ZXJlcXVhbCIsInllbiIsIm11IiwicGFydGlhbGRpZmYiLCJzdW1tYXRpb24iLCJwcm9kdWN0IiwicGkiLCJpbnRlZ3JhbCIsIm9yZGZlbWluaW5lIiwib3JkbWFzY3VsaW5lIiwiT21lZ2EiLCJhZSIsIm9zbGFzaCIsInF1ZXN0aW9uZG93biIsImV4Y2xhbWRvd24iLCJsb2dpY2Fsbm90IiwicmFkaWNhbCIsImZsb3JpbiIsImFwcHJveGVxdWFsIiwiRGVsdGEiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsIm5vbmJyZWFraW5nc3BhY2UiLCJBZ3JhdmUiLCJBdGlsZGUiLCJPdGlsZGUiLCJPRSIsIm9lIiwiZW5kYXNoIiwiZW1kYXNoIiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJkaXZpZGUiLCJsb3plbmdlIiwieWRpZXJlc2lzIiwiWWRpZXJlc2lzIiwiZnJhY3Rpb24iLCJjdXJyZW5jeSIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicGVydGhvdXNhbmQiLCJBY2lyY3VtZmxleCIsIkVjaXJjdW1mbGV4IiwiQWFjdXRlIiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsImFwcGxlIiwiT2dyYXZlIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZ3JhdmUiLCJkb3RsZXNzaSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsIkxzbGFzaCIsImxzbGFzaCIsIlNjYXJvbiIsInNjYXJvbiIsIlpjYXJvbiIsInpjYXJvbiIsImJyb2tlbmJhciIsIkV0aCIsImV0aCIsIllhY3V0ZSIsInlhY3V0ZSIsIlRob3JuIiwidGhvcm4iLCJtaW51cyIsIm11bHRpcGx5Iiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJvbmVoYWxmIiwib25lcXVhcnRlciIsInRocmVlcXVhcnRlcnMiLCJmcmFuYyIsIkdicmV2ZSIsImdicmV2ZSIsIklkb3RhY2NlbnQiLCJTY2VkaWxsYSIsInNjZWRpbGxhIiwiQ2FjdXRlIiwiY2FjdXRlIiwiQ2Nhcm9uIiwiY2Nhcm9uIiwiZGNyb2F0Il07ZnVuY3Rpb24gcmVjb3ZlckdseXBoTmFtZShlLHQpe2lmKHZvaWQgMCE9PXRbZV0pcmV0dXJuIGU7Y29uc3QgaT1nZXRVbmljb2RlRm9yR2x5cGgoZSx0KTtpZigtMSE9PWkpZm9yKGNvbnN0IGUgaW4gdClpZih0W2VdPT09aSlyZXR1cm4gZTtpbmZvKCJVbmFibGUgdG8gcmVjb3ZlciBhIHN0YW5kYXJkIGdseXBoIG5hbWUgZm9yOiAiK2UpO3JldHVybiBlfWZ1bmN0aW9uIHR5cGUxRm9udEdseXBoTWFwcGluZyhlLHQsaSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBzLHIsbjtjb25zdCBnPSEhKGUuZmxhZ3MmT2kpO2lmKGUuaXNJbnRlcm5hbEZvbnQpe249dDtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXtzPWkuaW5kZXhPZihuW3JdKTthW3JdPXM+PTA/czowfX1lbHNlIGlmKGUuYmFzZUVuY29kaW5nTmFtZSl7bj1nZXRFbmNvZGluZyhlLmJhc2VFbmNvZGluZ05hbWUpO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3M9aS5pbmRleE9mKG5bcl0pO2Fbcl09cz49MD9zOjB9fWVsc2UgaWYoZylmb3IociBpbiB0KWFbcl09dFtyXTtlbHNle249bWk7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyl7cz1pLmluZGV4T2YobltyXSk7YVtyXT1zPj0wP3M6MH19Y29uc3Qgbz1lLmRpZmZlcmVuY2VzO2xldCBjO2lmKG8pZm9yKHIgaW4gbyl7Y29uc3QgZT1vW3JdO3M9aS5pbmRleE9mKGUpO2lmKC0xPT09cyl7Y3x8KGM9eGkoKSk7Y29uc3QgdD1yZWNvdmVyR2x5cGhOYW1lKGUsYyk7dCE9PWUmJihzPWkuaW5kZXhPZih0KSl9YVtyXT1zPj0wP3M6MH1yZXR1cm4gYX1mdW5jdGlvbiBub3JtYWxpemVGb250TmFtZShlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKC9bLF9dL2csIi0iKS5yZXBsYWNlQWxsKC9ccy9nLCIiKX1jb25zdCBqaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGU9PntlWzgyMTFdPTY1MDc0O2VbODIxMl09NjUwNzM7ZVs4MjI5XT02NTA3MjtlWzgyMzBdPTY1MDQ5O2VbMTIyODldPTY1MDQxO2VbMTIyOTBdPTY1MDQyO2VbMTIyOTZdPTY1MDg3O2VbMTIyOTddPTY1MDg4O2VbMTIyOThdPTY1MDg1O2VbMTIyOTldPTY1MDg2O2VbMTIzMDBdPTY1MDg5O2VbMTIzMDFdPTY1MDkwO2VbMTIzMDJdPTY1MDkxO2VbMTIzMDNdPTY1MDkyO2VbMTIzMDRdPTY1MDgzO2VbMTIzMDVdPTY1MDg0O2VbMTIzMDhdPTY1MDgxO2VbMTIzMDldPTY1MDgyO2VbMTIzMTBdPTY1MDQ3O2VbMTIzMTFdPTY1MDQ4O2VbNjUxMDNdPTY1MDc2O2VbNjUyODFdPTY1MDQ1O2VbNjUyODhdPTY1MDc3O2VbNjUyODldPTY1MDc4O2VbNjUyOTJdPTY1MDQwO2VbNjUzMDZdPTY1MDQzO2VbNjUzMDddPTY1MDQ0O2VbNjUzMTFdPTY1MDQ2O2VbNjUzMzldPTY1MDk1O2VbNjUzNDFdPTY1MDk2O2VbNjUzNDNdPTY1MDc1O2VbNjUzNzFdPTY1MDc5O2VbNjUzNzNdPTY1MDgwfSkpLFhpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiVGltZXMtUm9tYW4iXT0iVGltZXMtUm9tYW4iO2UuSGVsdmV0aWNhPSJIZWx2ZXRpY2EiO2UuQ291cmllcj0iQ291cmllciI7ZS5TeW1ib2w9IlN5bWJvbCI7ZVsiVGltZXMtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJIZWx2ZXRpY2EtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ291cmllci1Cb2xkIl09IkNvdXJpZXItQm9sZCI7ZS5aYXBmRGluZ2JhdHM9IlphcGZEaW5nYmF0cyI7ZVsiVGltZXMtSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkNvdXJpZXItT2JsaXF1ZSJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIlRpbWVzLUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlLkFyaWFsTmFycm93PSJIZWx2ZXRpY2EiO2VbIkFyaWFsTmFycm93LUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsTmFycm93LUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbE5hcnJvdy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWxCbGFjaz0iSGVsdmV0aWNhIjtlWyJBcmlhbEJsYWNrLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsQmxhY2stQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsQmxhY2stSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJBcmlhbC1CbGFjayJdPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJsYWNrLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUJsYWNrLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbC1CbGFjay1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWw9IkhlbHZldGljYSI7ZVsiQXJpYWwtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbE1UPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJvbGRJdGFsaWNNVCJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUJvbGRNVCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtSXRhbGljTVQiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkFyaWFsLUJvbGRJdGFsaWNNVC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWwtQm9sZE1ULUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUl0YWxpY01ULUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbFVuaWNvZGVNUz0iSGVsdmV0aWNhIjtlWyJBcmlhbFVuaWNvZGVNUy1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbFVuaWNvZGVNUy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWxVbmljb2RlTVMtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJDb3VyaWVyLUJvbGRJdGFsaWMiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllci1JdGFsaWMiXT0iQ291cmllci1PYmxpcXVlIjtlLkNvdXJpZXJOZXc9IkNvdXJpZXIiO2VbIkNvdXJpZXJOZXctQm9sZCJdPSJDb3VyaWVyLUJvbGQiO2VbIkNvdXJpZXJOZXctQm9sZEl0YWxpYyJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlWyJDb3VyaWVyTmV3LUl0YWxpYyJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIkNvdXJpZXJOZXdQUy1Cb2xkSXRhbGljTVQiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllck5ld1BTLUJvbGRNVCJdPSJDb3VyaWVyLUJvbGQiO2VbIkNvdXJpZXJOZXdQUy1JdGFsaWNNVCJdPSJDb3VyaWVyLU9ibGlxdWUiO2UuQ291cmllck5ld1BTTVQ9IkNvdXJpZXIiO2VbIkhlbHZldGljYS1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiSGVsdmV0aWNhLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiU3ltYm9sLUJvbGQiXT0iU3ltYm9sIjtlWyJTeW1ib2wtQm9sZEl0YWxpYyJdPSJTeW1ib2wiO2VbIlN5bWJvbC1JdGFsaWMiXT0iU3ltYm9sIjtlLlRpbWVzTmV3Um9tYW49IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuLUJvbGQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hbi1Cb2xkSXRhbGljIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW4tSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZS5UaW1lc05ld1JvbWFuUFM9IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpYyJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpY01UIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1Cb2xkTVQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hblBTLUl0YWxpYyJdPSJUaW1lcy1JdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1JdGFsaWNNVCJdPSJUaW1lcy1JdGFsaWMiO2UuVGltZXNOZXdSb21hblBTTVQ9IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuUFNNVC1Cb2xkIl09IlRpbWVzLUJvbGQiO2VbIlRpbWVzTmV3Um9tYW5QU01ULUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiVGltZXNOZXdSb21hblBTTVQtSXRhbGljIl09IlRpbWVzLUl0YWxpYyJ9KSksWmk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNvdXJpZXI9IkZveGl0Rml4ZWQucGZiIjtlWyJDb3VyaWVyLUJvbGQiXT0iRm94aXRGaXhlZEJvbGQucGZiIjtlWyJDb3VyaWVyLUJvbGRPYmxpcXVlIl09IkZveGl0Rml4ZWRCb2xkSXRhbGljLnBmYiI7ZVsiQ291cmllci1PYmxpcXVlIl09IkZveGl0Rml4ZWRJdGFsaWMucGZiIjtlLkhlbHZldGljYT0iTGliZXJhdGlvblNhbnMtUmVndWxhci50dGYiO2VbIkhlbHZldGljYS1Cb2xkIl09IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIjtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT0iTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYy50dGYiO2VbIkhlbHZldGljYS1PYmxpcXVlIl09IkxpYmVyYXRpb25TYW5zLUl0YWxpYy50dGYiO2VbIlRpbWVzLVJvbWFuIl09IkZveGl0U2VyaWYucGZiIjtlWyJUaW1lcy1Cb2xkIl09IkZveGl0U2VyaWZCb2xkLnBmYiI7ZVsiVGltZXMtQm9sZEl0YWxpYyJdPSJGb3hpdFNlcmlmQm9sZEl0YWxpYy5wZmIiO2VbIlRpbWVzLUl0YWxpYyJdPSJGb3hpdFNlcmlmSXRhbGljLnBmYiI7ZS5TeW1ib2w9IkZveGl0U3ltYm9sLnBmYiI7ZS5aYXBmRGluZ2JhdHM9IkZveGl0RGluZ2JhdHMucGZiIjtlWyJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIl09IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1Cb2xkIl09IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiXT0iTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiI7ZVsiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyJdPSJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiJ9KSksVmk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNhbGlicmk9IkhlbHZldGljYSI7ZVsiQ2FsaWJyaS1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJDYWxpYnJpLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJDYWxpYnJpLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5DZW50dXJ5R290aGljPSJIZWx2ZXRpY2EiO2VbIkNlbnR1cnlHb3RoaWMtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ2VudHVyeUdvdGhpYy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ2VudHVyeUdvdGhpYy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQ29taWNTYW5zTVM9IkNvbWljIFNhbnMgTVMiO2VbIkNvbWljU2Fuc01TLUJvbGQiXT0iQ29taWMgU2FucyBNUy1Cb2xkIjtlWyJDb21pY1NhbnNNUy1Cb2xkSXRhbGljIl09IkNvbWljIFNhbnMgTVMtQm9sZEl0YWxpYyI7ZVsiQ29taWNTYW5zTVMtSXRhbGljIl09IkNvbWljIFNhbnMgTVMtSXRhbGljIjtlLkdpbGxTYW5zTVQ9IkhlbHZldGljYSI7ZVsiR2lsbFNhbnNNVC1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJHaWxsU2Fuc01ULUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJHaWxsU2Fuc01ULUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5JbXBhY3Q9IkhlbHZldGljYSI7ZVsiSXRjU3ltYm9sLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkl0Y1N5bWJvbC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiSXRjU3ltYm9sLUJvb2siXT0iSGVsdmV0aWNhIjtlWyJJdGNTeW1ib2wtQm9va0l0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiSXRjU3ltYm9sLU1lZGl1bSJdPSJIZWx2ZXRpY2EiO2VbIkl0Y1N5bWJvbC1NZWRpdW1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuTHVjaWRhQ29uc29sZT0iQ291cmllciI7ZVsiTHVjaWRhQ29uc29sZS1Cb2xkIl09IkNvdXJpZXItQm9sZCI7ZVsiTHVjaWRhQ29uc29sZS1Cb2xkSXRhbGljIl09IkNvdXJpZXItQm9sZE9ibGlxdWUiO2VbIkx1Y2lkYUNvbnNvbGUtSXRhbGljIl09IkNvdXJpZXItT2JsaXF1ZSI7ZVsiTHVjaWRhU2Fucy1EZW1pIl09IkhlbHZldGljYS1Cb2xkIjtlWyJNUy1Hb3RoaWMiXT0iTVMgR290aGljIjtlWyJNUy1Hb3RoaWMtQm9sZCJdPSJNUyBHb3RoaWMtQm9sZCI7ZVsiTVMtR290aGljLUJvbGRJdGFsaWMiXT0iTVMgR290aGljLUJvbGRJdGFsaWMiO2VbIk1TLUdvdGhpYy1JdGFsaWMiXT0iTVMgR290aGljLUl0YWxpYyI7ZVsiTVMtTWluY2hvIl09Ik1TIE1pbmNobyI7ZVsiTVMtTWluY2hvLUJvbGQiXT0iTVMgTWluY2hvLUJvbGQiO2VbIk1TLU1pbmNoby1Cb2xkSXRhbGljIl09Ik1TIE1pbmNoby1Cb2xkSXRhbGljIjtlWyJNUy1NaW5jaG8tSXRhbGljIl09Ik1TIE1pbmNoby1JdGFsaWMiO2VbIk1TLVBHb3RoaWMiXT0iTVMgUEdvdGhpYyI7ZVsiTVMtUEdvdGhpYy1Cb2xkIl09Ik1TIFBHb3RoaWMtQm9sZCI7ZVsiTVMtUEdvdGhpYy1Cb2xkSXRhbGljIl09Ik1TIFBHb3RoaWMtQm9sZEl0YWxpYyI7ZVsiTVMtUEdvdGhpYy1JdGFsaWMiXT0iTVMgUEdvdGhpYy1JdGFsaWMiO2VbIk1TLVBNaW5jaG8iXT0iTVMgUE1pbmNobyI7ZVsiTVMtUE1pbmNoby1Cb2xkIl09Ik1TIFBNaW5jaG8tQm9sZCI7ZVsiTVMtUE1pbmNoby1Cb2xkSXRhbGljIl09Ik1TIFBNaW5jaG8tQm9sZEl0YWxpYyI7ZVsiTVMtUE1pbmNoby1JdGFsaWMiXT0iTVMgUE1pbmNoby1JdGFsaWMiO2UuTnVwdGlhbFNjcmlwdD0iVGltZXMtSXRhbGljIjtlLlNlZ29lVUlTeW1ib2w9IkhlbHZldGljYSJ9KSksemk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWyJBZG9iZSBKZW5zb24iXT0hMDtlWyJBZG9iZSBUZXh0Il09ITA7ZS5BbGJlcnR1cz0hMDtlLkFsZHVzPSEwO2UuQWxleGFuZHJpYT0hMDtlLkFsZ2VyaWFuPSEwO2VbIkFtZXJpY2FuIFR5cGV3cml0ZXIiXT0hMDtlLkFudGlxdWE9ITA7ZS5BcGV4PSEwO2UuQXJubz0hMDtlLkFzdGVyPSEwO2UuQXVyb3JhPSEwO2UuQmFza2VydmlsbGU9ITA7ZS5CZWxsPSEwO2UuQmVtYm89ITA7ZVsiQmVtYm8gU2Nob29sYm9vayJdPSEwO2UuQmVuZ3VpYXQ9ITA7ZVsiQmVya2VsZXkgT2xkIFN0eWxlIl09ITA7ZVsiQmVybmhhcmQgTW9kZXJuIl09ITA7ZVsiQmVydGhvbGQgQ2l0eSJdPSEwO2UuQm9kb25pPSEwO2VbIkJhdWVyIEJvZG9uaSJdPSEwO2VbIkJvb2sgQW50aXF1YSJdPSEwO2UuQm9va21hbj0hMDtlWyJCb3JkZWF1eCBSb21hbiJdPSEwO2VbIkNhbGlmb3JuaWFuIEZCIl09ITA7ZS5DYWxpc3RvPSEwO2UuQ2FsdmVydD0hMDtlLkNhcGl0YWxzPSEwO2UuQ2FtYnJpYT0hMDtlLkNhcnRpZXI9ITA7ZS5DYXNsb249ITA7ZS5DYXR1bGw9ITA7ZS5DZW50YXVyPSEwO2VbIkNlbnR1cnkgT2xkIFN0eWxlIl09ITA7ZVsiQ2VudHVyeSBTY2hvb2xib29rIl09ITA7ZS5DaGFwYXJyYWw9ITA7ZVsiQ2hhcmlzIFNJTCJdPSEwO2UuQ2hlbHRlbmhhbT0hMDtlWyJDaG9sbGEgU2xhYiJdPSEwO2UuQ2xhcmVuZG9uPSEwO2UuQ2xlYXJmYWNlPSEwO2UuQ29jaGluPSEwO2UuQ29sb25uYT0hMDtlWyJDb21wdXRlciBNb2Rlcm4iXT0hMDtlWyJDb25jcmV0ZSBSb21hbiJdPSEwO2UuQ29uc3RhbnRpYT0hMDtlWyJDb29wZXIgQmxhY2siXT0hMDtlLkNvcm9uYT0hMDtlLkVjb3R5cGU9ITA7ZS5FZ3lwdGllbm5lPSEwO2UuRWxlcGhhbnQ9ITA7ZS5FeGNlbHNpb3I9ITA7ZS5GYWlyZmllbGQ9ITA7ZVsiRkYgU2NhbGEiXT0hMDtlLkZvbGthcmQ9ITA7ZS5Gb290bGlnaHQ9ITA7ZS5GcmVlU2VyaWY9ITA7ZVsiRnJpeiBRdWFkcmF0YSJdPSEwO2UuR2FyYW1vbmQ9ITA7ZS5HZW50aXVtPSEwO2UuR2VvcmdpYT0hMDtlLkdsb3VjZXN0ZXI9ITA7ZVsiR291ZHkgT2xkIFN0eWxlIl09ITA7ZVsiR291ZHkgU2Nob29sYm9vayJdPSEwO2VbIkdvdWR5IFBybyBGb250Il09ITA7ZS5HcmFuam9uPSEwO2VbIkd1YXJkaWFuIEVneXB0aWFuIl09ITA7ZS5IZWF0aGVyPSEwO2UuSGVyY3VsZXM9ITA7ZVsiSGlnaCBUb3dlciBUZXh0Il09ITA7ZS5IaXJvc2hpZ2U9ITA7ZVsiSG9lZmxlciBUZXh0Il09ITA7ZVsiSHVtYW5hIFNlcmlmIl09ITA7ZS5JbXByaW50PSEwO2VbIklvbmljIE5vLiA1Il09ITA7ZS5KYW5zb249ITA7ZS5Kb2FubmE9ITA7ZS5Lb3Jpbm5hPSEwO2UuTGV4aWNvbj0hMDtlLkxpYmVyYXRpb25TZXJpZj0hMDtlWyJMaWJlcmF0aW9uIFNlcmlmIl09ITA7ZVsiTGludXggTGliZXJ0aW5lIl09ITA7ZS5MaXRlcmF0dXJuYXlhPSEwO2UuTHVjaWRhPSEwO2VbIkx1Y2lkYSBCcmlnaHQiXT0hMDtlLk1lbGlvcj0hMDtlLk1lbXBoaXM9ITA7ZS5NaWxsZXI9ITA7ZS5NaW5pb249ITA7ZS5Nb2Rlcm49ITA7ZVsiTW9uYSBMaXNhIl09ITA7ZVsiTXJzIEVhdmVzIl09ITA7ZVsiTVMgU2VyaWYiXT0hMDtlWyJNdXNlbyBTbGFiIl09ITA7ZVsiTmV3IFlvcmsiXT0hMDtlWyJOaW1idXMgUm9tYW4iXT0hMDtlWyJOUFMgUmF3bGluc29uIFJvYWR3YXkiXT0hMDtlLk51cHRpYWxTY3JpcHQ9ITA7ZS5QYWxhdGlubz0hMDtlLlBlcnBldHVhPSEwO2UuUGxhbnRpbj0hMDtlWyJQbGFudGluIFNjaG9vbGJvb2siXT0hMDtlLlBsYXliaWxsPSEwO2VbIlBvb3IgUmljaGFyZCJdPSEwO2VbIlJhd2xpbnNvbiBSb2Fkd2F5Il09ITA7ZS5SZW5hdWx0PSEwO2UuUmVxdWllbT0hMDtlLlJvY2t3ZWxsPSEwO2UuUm9tYW49ITA7ZVsiUm90aXMgU2VyaWYiXT0hMDtlLlNhYm9uPSEwO2UuU2NhbGE9ITA7ZS5TZWFndWxsPSEwO2UuU2lzdGluYT0hMDtlLlNvdXZlbmlyPSEwO2UuU1RJWD0hMDtlWyJTdG9uZSBJbmZvcm1hbCJdPSEwO2VbIlN0b25lIFNlcmlmIl09ITA7ZS5TeWxmYWVuPSEwO2UuVGltZXM9ITA7ZS5UcmFqYW49ITA7ZVsiVHJpbml0w6kiXT0hMDtlWyJUcnVtcCBNZWRpYWV2YWwiXT0hMDtlLlV0b3BpYT0hMDtlWyJWYWxlIFR5cGUiXT0hMDtlWyJCaXRzdHJlYW0gVmVyYSJdPSEwO2VbIlZlcmEgU2VyaWYiXT0hMDtlLlZlcnNhaWxsZXM9ITA7ZS5XYW50ZWQ9ITA7ZS5XZWlzcz0hMDtlWyJXaWRlIExhdGluIl09ITA7ZS5XaW5kc29yPSEwO2UuWElUUz0hMH0pKSxfaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuRGluZ2JhdHM9ITA7ZS5TeW1ib2w9ITA7ZS5aYXBmRGluZ2JhdHM9ITA7ZS5XaW5nZGluZ3M9ITA7ZVsiV2luZ2RpbmdzLUJvbGQiXT0hMDtlWyJXaW5nZGluZ3MtUmVndWxhciJdPSEwfSkpLCRpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsyXT0xMDtlWzNdPTMyO2VbNF09MzM7ZVs1XT0zNDtlWzZdPTM1O2VbN109MzY7ZVs4XT0zNztlWzldPTM4O2VbMTBdPTM5O2VbMTFdPTQwO2VbMTJdPTQxO2VbMTNdPTQyO2VbMTRdPTQzO2VbMTVdPTQ0O2VbMTZdPTQ1O2VbMTddPTQ2O2VbMThdPTQ3O2VbMTldPTQ4O2VbMjBdPTQ5O2VbMjFdPTUwO2VbMjJdPTUxO2VbMjNdPTUyO2VbMjRdPTUzO2VbMjVdPTU0O2VbMjZdPTU1O2VbMjddPTU2O2VbMjhdPTU3O2VbMjldPTU4O2VbMzBdPTg5NDtlWzMxXT02MDtlWzMyXT02MTtlWzMzXT02MjtlWzM0XT02MztlWzM1XT02NDtlWzM2XT02NTtlWzM3XT02NjtlWzM4XT02NztlWzM5XT02ODtlWzQwXT02OTtlWzQxXT03MDtlWzQyXT03MTtlWzQzXT03MjtlWzQ0XT03MztlWzQ1XT03NDtlWzQ2XT03NTtlWzQ3XT03NjtlWzQ4XT03NztlWzQ5XT03ODtlWzUwXT03OTtlWzUxXT04MDtlWzUyXT04MTtlWzUzXT04MjtlWzU0XT04MztlWzU1XT04NDtlWzU2XT04NTtlWzU3XT04NjtlWzU4XT04NztlWzU5XT04ODtlWzYwXT04OTtlWzYxXT05MDtlWzYyXT05MTtlWzYzXT05MjtlWzY0XT05MztlWzY1XT05NDtlWzY2XT05NTtlWzY3XT05NjtlWzY4XT05NztlWzY5XT05ODtlWzcwXT05OTtlWzcxXT0xMDA7ZVs3Ml09MTAxO2VbNzNdPTEwMjtlWzc0XT0xMDM7ZVs3NV09MTA0O2VbNzZdPTEwNTtlWzc3XT0xMDY7ZVs3OF09MTA3O2VbNzldPTEwODtlWzgwXT0xMDk7ZVs4MV09MTEwO2VbODJdPTExMTtlWzgzXT0xMTI7ZVs4NF09MTEzO2VbODVdPTExNDtlWzg2XT0xMTU7ZVs4N109MTE2O2VbODhdPTExNztlWzg5XT0xMTg7ZVs5MF09MTE5O2VbOTFdPTEyMDtlWzkyXT0xMjE7ZVs5M109MTIyO2VbOTRdPTEyMztlWzk1XT0xMjQ7ZVs5Nl09MTI1O2VbOTddPTEyNjtlWzk4XT0xOTY7ZVs5OV09MTk3O2VbMTAwXT0xOTk7ZVsxMDFdPTIwMTtlWzEwMl09MjA5O2VbMTAzXT0yMTQ7ZVsxMDRdPTIyMDtlWzEwNV09MjI1O2VbMTA2XT0yMjQ7ZVsxMDddPTIyNjtlWzEwOF09MjI4O2VbMTA5XT0yMjc7ZVsxMTBdPTIyOTtlWzExMV09MjMxO2VbMTEyXT0yMzM7ZVsxMTNdPTIzMjtlWzExNF09MjM0O2VbMTE1XT0yMzU7ZVsxMTZdPTIzNztlWzExN109MjM2O2VbMTE4XT0yMzg7ZVsxMTldPTIzOTtlWzEyMF09MjQxO2VbMTIxXT0yNDM7ZVsxMjJdPTI0MjtlWzEyM109MjQ0O2VbMTI0XT0yNDY7ZVsxMjVdPTI0NTtlWzEyNl09MjUwO2VbMTI3XT0yNDk7ZVsxMjhdPTI1MTtlWzEyOV09MjUyO2VbMTMwXT04MjI0O2VbMTMxXT0xNzY7ZVsxMzJdPTE2MjtlWzEzM109MTYzO2VbMTM0XT0xNjc7ZVsxMzVdPTgyMjY7ZVsxMzZdPTE4MjtlWzEzN109MjIzO2VbMTM4XT0xNzQ7ZVsxMzldPTE2OTtlWzE0MF09ODQ4MjtlWzE0MV09MTgwO2VbMTQyXT0xNjg7ZVsxNDNdPTg4MDA7ZVsxNDRdPTE5ODtlWzE0NV09MjE2O2VbMTQ2XT04NzM0O2VbMTQ3XT0xNzc7ZVsxNDhdPTg4MDQ7ZVsxNDldPTg4MDU7ZVsxNTBdPTE2NTtlWzE1MV09MTgxO2VbMTUyXT04NzA2O2VbMTUzXT04NzIxO2VbMTU0XT04NzE5O2VbMTU2XT04NzQ3O2VbMTU3XT0xNzA7ZVsxNThdPTE4NjtlWzE1OV09ODQ4NjtlWzE2MF09MjMwO2VbMTYxXT0yNDg7ZVsxNjJdPTE5MTtlWzE2M109MTYxO2VbMTY0XT0xNzI7ZVsxNjVdPTg3MzA7ZVsxNjZdPTQwMjtlWzE2N109ODc3NjtlWzE2OF09ODcxMDtlWzE2OV09MTcxO2VbMTcwXT0xODc7ZVsxNzFdPTgyMzA7ZVsxNzldPTgyMjA7ZVsxODBdPTgyMjE7ZVsxODFdPTgyMTY7ZVsxODJdPTgyMTc7ZVsyMDBdPTE5MztlWzIwM109MjA1O2VbMjA3XT0yMTE7ZVsyMTBdPTIxODtlWzIyM109NzExO2VbMjI0XT0zMjE7ZVsyMjVdPTMyMjtlWzIyNl09MzUyO2VbMjI3XT0zNTM7ZVsyMjhdPTM4MTtlWzIyOV09MzgyO2VbMjMzXT0yMjE7ZVsyMzRdPTI1MztlWzI1Ml09MjYzO2VbMjUzXT0yNjg7ZVsyNTRdPTI2OTtlWzI1OF09MjU4O2VbMjYwXT0yNjA7ZVsyNjFdPTI2MTtlWzI2NV09MjgwO2VbMjY2XT0yODE7ZVsyNjddPTI4MjtlWzI2OF09MjgzO2VbMjY5XT0zMTM7ZVsyNzVdPTMyMztlWzI3Nl09MzI0O2VbMjc4XT0zMjg7ZVsyODNdPTM0NDtlWzI4NF09MzQ1O2VbMjg1XT0zNDY7ZVsyODZdPTM0NztlWzI5Ml09MzY3O2VbMjk1XT0zNzc7ZVsyOTZdPTM3ODtlWzI5OF09MzgwO2VbMzA1XT05NjM7ZVszMDZdPTk2NDtlWzMwN109OTY2O2VbMzA4XT04MjE1O2VbMzA5XT04MjUyO2VbMzEwXT04MzE5O2VbMzExXT04MzU5O2VbMzEyXT04NTkyO2VbMzEzXT04NTkzO2VbMzM3XT05NTUyO2VbNDkzXT0xMDM5O2VbNDk0XT0xMDQwO2VbNjcyXT0xNDg4O2VbNjczXT0xNDg5O2VbNjc0XT0xNDkwO2VbNjc1XT0xNDkxO2VbNjc2XT0xNDkyO2VbNjc3XT0xNDkzO2VbNjc4XT0xNDk0O2VbNjc5XT0xNDk1O2VbNjgwXT0xNDk2O2VbNjgxXT0xNDk3O2VbNjgyXT0xNDk4O2VbNjgzXT0xNDk5O2VbNjg0XT0xNTAwO2VbNjg1XT0xNTAxO2VbNjg2XT0xNTAyO2VbNjg3XT0xNTAzO2VbNjg4XT0xNTA0O2VbNjg5XT0xNTA1O2VbNjkwXT0xNTA2O2VbNjkxXT0xNTA3O2VbNjkyXT0xNTA4O2VbNjkzXT0xNTA5O2VbNjk0XT0xNTEwO2VbNjk1XT0xNTExO2VbNjk2XT0xNTEyO2VbNjk3XT0xNTEzO2VbNjk4XT0xNTE0O2VbNzA1XT0xNTI0O2VbNzA2XT04MzYyO2VbNzEwXT02NDI4ODtlWzcxMV09NjQyOTg7ZVs3NTldPTE2MTc7ZVs3NjFdPTE3NzY7ZVs3NjNdPTE3Nzg7ZVs3NzVdPTE2NTI7ZVs3NzddPTE3NjQ7ZVs3NzhdPTE3ODA7ZVs3NzldPTE3ODE7ZVs3ODBdPTE3ODI7ZVs3ODJdPTc3MTtlWzc4M109NjQ3MjY7ZVs3ODZdPTgzNjM7ZVs3ODhdPTg1MzI7ZVs3OTBdPTc2ODtlWzc5MV09NzY5O2VbNzkyXT03Njg7ZVs3OTVdPTgwMztlWzc5N109NjQzMzY7ZVs3OThdPTY0MzM3O2VbNzk5XT02NDM0MjtlWzgwMF09NjQzNDM7ZVs4MDFdPTY0MzQ0O2VbODAyXT02NDM0NTtlWzgwM109NjQzNjI7ZVs4MDRdPTY0MzYzO2VbODA1XT02NDM2NDtlWzI0MjRdPTc4MjE7ZVsyNDI1XT03ODIyO2VbMjQyNl09NzgyMztlWzI0MjddPTc4MjQ7ZVsyNDI4XT03ODI1O2VbMjQyOV09NzgyNjtlWzI0MzBdPTc4Mjc7ZVsyNDMzXT03NjgyO2VbMjY3OF09ODA0NTtlWzI2NzldPTgwNDY7ZVsyODMwXT0xNTUyO2VbMjgzOF09Njg2O2VbMjg0MF09NzUxO2VbMjg0Ml09NzUzO2VbMjg0M109NzU0O2VbMjg0NF09NzU1O2VbMjg0Nl09NzU3O2VbMjg1Nl09NzY3O2VbMjg1N109ODQ4O2VbMjg1OF09ODQ5O2VbMjg2Ml09ODUzO2VbMjg2M109ODU0O2VbMjg2NF09ODU1O2VbMjg2NV09ODYxO2VbMjg2Nl09ODYyO2VbMjkwNl09NzQ2MDtlWzI5MDhdPTc0NjI7ZVsyOTA5XT03NDYzO2VbMjkxMF09NzQ2NDtlWzI5MTJdPTc0NjY7ZVsyOTEzXT03NDY3O2VbMjkxNF09NzQ2ODtlWzI5MTZdPTc0NzA7ZVsyOTE3XT03NDcxO2VbMjkxOF09NzQ3MjtlWzI5MjBdPTc0NzQ7ZVsyOTIxXT03NDc1O2VbMjkyMl09NzQ3NjtlWzI5MjRdPTc0Nzg7ZVsyOTI1XT03NDc5O2VbMjkyNl09NzQ4MDtlWzI5MjhdPTc0ODI7ZVsyOTI5XT03NDgzO2VbMjkzMF09NzQ4NDtlWzI5MzJdPTc0ODY7ZVsyOTMzXT03NDg3O2VbMjkzNF09NzQ4ODtlWzI5MzZdPTc0OTA7ZVsyOTM3XT03NDkxO2VbMjkzOF09NzQ5MjtlWzI5NDBdPTc0OTQ7ZVsyOTQxXT03NDk1O2VbMjk0Ml09NzQ5NjtlWzI5NDRdPTc0OTg7ZVsyOTQ2XT03NTAwO2VbMjk0OF09NzUwMjtlWzI5NTBdPTc1MDQ7ZVsyOTUxXT03NTA1O2VbMjk1Ml09NzUwNjtlWzI5NTRdPTc1MDg7ZVsyOTU1XT03NTA5O2VbMjk1Nl09NzUxMDtlWzI5NThdPTc1MTI7ZVsyOTU5XT03NTEzO2VbMjk2MF09NzUxNDtlWzI5NjJdPTc1MTY7ZVsyOTYzXT03NTE3O2VbMjk2NF09NzUxODtlWzI5NjZdPTc1MjA7ZVsyOTY3XT03NTIxO2VbMjk2OF09NzUyMjtlWzI5NzBdPTc1MjQ7ZVsyOTcxXT03NTI1O2VbMjk3Ml09NzUyNjtlWzI5NzRdPTc1Mjg7ZVsyOTc1XT03NTI5O2VbMjk3Nl09NzUzMDtlWzI5NzhdPTE1Mzc7ZVsyOTc5XT0xNTM4O2VbMjk4MF09MTUzOTtlWzI5ODJdPTE1NDk7ZVsyOTgzXT0xNTUxO2VbMjk4NF09MTU1MjtlWzI5ODZdPTE1NTQ7ZVsyOTg3XT0xNTU1O2VbMjk4OF09MTU1NjtlWzI5OTBdPTE2MjM7ZVsyOTkxXT0xNjI0O2VbMjk5NV09MTc3NTtlWzI5OTldPTE3OTE7ZVszMDAyXT02NDI5MDtlWzMwMDNdPTY0MjkxO2VbMzAwNF09NjQyOTI7ZVszMDA2XT02NDI5NDtlWzMwMDddPTY0Mjk1O2VbMzAwOF09NjQyOTY7ZVszMDExXT0xOTAwO2VbMzAxNF09ODIyMztlWzMwMTVdPTgyNDQ7ZVszMDE3XT03NTMyO2VbMzAxOF09NzUzMztlWzMwMTldPTc1MzQ7ZVszMDc1XT03NTkwO2VbMzA3Nl09NzU5MTtlWzMwNzldPTc1OTQ7ZVszMDgwXT03NTk1O2VbMzA4M109NzU5ODtlWzMwODRdPTc1OTk7ZVszMDg3XT03NjAyO2VbMzA4OF09NzYwMztlWzMwOTFdPTc2MDY7ZVszMDkyXT03NjA3O2VbMzA5NV09NzYxMDtlWzMwOTZdPTc2MTE7ZVszMDk5XT03NjE0O2VbMzEwMF09NzYxNTtlWzMxMDNdPTc2MTg7ZVszMTA0XT03NjE5O2VbMzEwN109ODMzNztlWzMxMDhdPTgzMzg7ZVszMTE2XT0xODg0O2VbMzExOV09MTg4NTtlWzMxMjBdPTE4ODU7ZVszMTIzXT0xODg2O2VbMzEyNF09MTg4NjtlWzMxMjddPTE4ODc7ZVszMTI4XT0xODg3O2VbMzEzMV09MTg4ODtlWzMxMzJdPTE4ODg7ZVszMTM1XT0xODg5O2VbMzEzNl09MTg4OTtlWzMxMzldPTE4OTA7ZVszMTQwXT0xODkwO2VbMzE0M109MTg5MTtlWzMxNDRdPTE4OTE7ZVszMTQ3XT0xODkyO2VbMzE0OF09MTg5MjtlWzMxNTNdPTU4MDtlWzMxNTRdPTU4MTtlWzMxNTddPTU4NDtlWzMxNThdPTU4NTtlWzMxNjFdPTU4ODtlWzMxNjJdPTU4OTtlWzMxNjVdPTg5MTtlWzMxNjZdPTg5MjtlWzMxNjldPTEyNzQ7ZVszMTcwXT0xMjc1O2VbMzE3M109MTI3ODtlWzMxNzRdPTEyNzk7ZVszMTgxXT03NjIyO2VbMzE4Ml09NzYyMztlWzMyODJdPTExNzk5O2VbMzMxNl09NTc4O2VbMzM3OV09NDI3ODU7ZVszMzkzXT0xMTU5O2VbMzQxNl09ODM3N30pKSxBYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbMjI3XT0zMjI7ZVsyNjRdPTI2MTtlWzI5MV09MzQ2fSkpLGVhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsxXT0zMjtlWzRdPTY1O2VbNV09MTkyO2VbNl09MTkzO2VbOV09MTk2O2VbMTddPTY2O2VbMThdPTY3O2VbMjFdPTI2ODtlWzI0XT02ODtlWzI4XT02OTtlWzI5XT0yMDA7ZVszMF09MjAxO2VbMzJdPTI4MjtlWzM4XT03MDtlWzM5XT03MTtlWzQ0XT03MjtlWzQ3XT03MztlWzQ4XT0yMDQ7ZVs0OV09MjA1O2VbNThdPTc0O2VbNjBdPTc1O2VbNjJdPTc2O2VbNjhdPTc3O2VbNjldPTc4O2VbNzVdPTc5O2VbNzZdPTIxMDtlWzgwXT0yMTQ7ZVs4N109ODA7ZVs4OV09ODE7ZVs5MF09ODI7ZVs5Ml09MzQ0O2VbOTRdPTgzO2VbOTddPTM1MjtlWzEwMF09ODQ7ZVsxMDRdPTg1O2VbMTA5XT0yMjA7ZVsxMTVdPTg2O2VbMTE2XT04NztlWzEyMV09ODg7ZVsxMjJdPTg5O2VbMTI0XT0yMjE7ZVsxMjddPTkwO2VbMTI5XT0zODE7ZVsyNThdPTk3O2VbMjU5XT0yMjQ7ZVsyNjBdPTIyNTtlWzI2M109MjI4O2VbMjY4XT0yNjE7ZVsyNzFdPTk4O2VbMjcyXT05OTtlWzI3M109MjYzO2VbMjc1XT0yNjk7ZVsyODJdPTEwMDtlWzI4Nl09MTAxO2VbMjg3XT0yMzI7ZVsyODhdPTIzMztlWzI5MF09MjgzO2VbMjk1XT0yODE7ZVsyOTZdPTEwMjtlWzMzNl09MTAzO2VbMzQ2XT0xMDQ7ZVszNDldPTEwNTtlWzM1MF09MjM2O2VbMzUxXT0yMzc7ZVszNjFdPTEwNjtlWzM2NF09MTA3O2VbMzY3XT0xMDg7ZVszNzFdPTMyMjtlWzM3M109MTA5O2VbMzc0XT0xMTA7ZVszODFdPTExMTtlWzM4Ml09MjQyO2VbMzgzXT0yNDM7ZVszODZdPTI0NjtlWzM5M109MTEyO2VbMzk1XT0xMTM7ZVszOTZdPTExNDtlWzM5OF09MzQ1O2VbNDAwXT0xMTU7ZVs0MDFdPTM0NztlWzQwM109MzUzO2VbNDEwXT0xMTY7ZVs0MzddPTExNztlWzQ0Ml09MjUyO2VbNDQ4XT0xMTg7ZVs0NDldPTExOTtlWzQ1NF09MTIwO2VbNDU1XT0xMjE7ZVs0NTddPTI1MztlWzQ2MF09MTIyO2VbNDYyXT0zODI7ZVs0NjNdPTM4MDtlWzg1M109NDQ7ZVs4NTVdPTU4O2VbODU2XT00NjtlWzg3Nl09NDc7ZVs4NzhdPTQ1O2VbODgyXT00NTtlWzg5NF09NDA7ZVs4OTVdPTQxO2VbODk2XT05MTtlWzg5N109OTM7ZVs5MjNdPTY0O2VbMTAwNF09NDg7ZVsxMDA1XT00OTtlWzEwMDZdPTUwO2VbMTAwN109NTE7ZVsxMDA4XT01MjtlWzEwMDldPTUzO2VbMTAxMF09NTQ7ZVsxMDExXT01NTtlWzEwMTJdPTU2O2VbMTAxM109NTc7ZVsxMDgxXT0zNztlWzEwODVdPTQzO2VbMTA4Nl09NDV9KSk7ZnVuY3Rpb24gZ2V0U3RhbmRhcmRGb250TmFtZShlKXtjb25zdCB0PW5vcm1hbGl6ZUZvbnROYW1lKGUpO3JldHVybiBYaSgpW3RdfWZ1bmN0aW9uIGlzS25vd25Gb250TmFtZShlKXtjb25zdCB0PW5vcm1hbGl6ZUZvbnROYW1lKGUpO3JldHVybiEhKFhpKClbdF18fFZpKClbdF18fHppKClbdF18fF9pKClbdF0pfWNsYXNzIFRvVW5pY29kZU1hcHtjb25zdHJ1Y3RvcihlPVtdKXt0aGlzLl9tYXA9ZX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX21hcC5sZW5ndGh9Zm9yRWFjaChlKXtmb3IoY29uc3QgdCBpbiB0aGlzLl9tYXApZSh0LHRoaXMuX21hcFt0XS5jaGFyQ29kZUF0KDApKX1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX21hcFtlXX1nZXQoZSl7cmV0dXJuIHRoaXMuX21hcFtlXX1jaGFyQ29kZU9mKGUpe2NvbnN0IHQ9dGhpcy5fbWFwO2lmKHQubGVuZ3RoPD02NTUzNilyZXR1cm4gdC5pbmRleE9mKGUpO2Zvcihjb25zdCBpIGluIHQpaWYodFtpXT09PWUpcmV0dXJuIDB8aTtyZXR1cm4tMX1hbWVuZChlKXtmb3IoY29uc3QgdCBpbiBlKXRoaXMuX21hcFt0XT1lW3RdfX1jbGFzcyBJZGVudGl0eVRvVW5pY29kZU1hcHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmlyc3RDaGFyPWU7dGhpcy5sYXN0Q2hhcj10fWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5sYXN0Q2hhcisxLXRoaXMuZmlyc3RDaGFyfWZvckVhY2goZSl7Zm9yKGxldCB0PXRoaXMuZmlyc3RDaGFyLGk9dGhpcy5sYXN0Q2hhcjt0PD1pO3QrKyllKHQsdCl9aGFzKGUpe3JldHVybiB0aGlzLmZpcnN0Q2hhcjw9ZSYmZTw9dGhpcy5sYXN0Q2hhcn1nZXQoZSl7aWYodGhpcy5maXJzdENoYXI8PWUmJmU8PXRoaXMubGFzdENoYXIpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZSl9Y2hhckNvZGVPZihlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZT49dGhpcy5maXJzdENoYXImJmU8PXRoaXMubGFzdENoYXI/ZTotMX1hbWVuZChlKXt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGFtZW5kKCkiKX19Y2xhc3MgQ0ZGRm9udHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMucHJvcGVydGllcz10O2NvbnN0IGk9bmV3IENGRlBhcnNlcihlLHQsS2kpO3RoaXMuY2ZmPWkucGFyc2UoKTt0aGlzLmNmZi5kdXBsaWNhdGVGaXJzdEdseXBoKCk7Y29uc3QgYT1uZXcgQ0ZGQ29tcGlsZXIodGhpcy5jZmYpO3RoaXMuc2VhY3M9dGhpcy5jZmYuc2VhY3M7dHJ5e3RoaXMuZGF0YT1hLmNvbXBpbGUoKX1jYXRjaHt3YXJuKCJGYWlsZWQgdG8gY29tcGlsZSBmb250ICIrdC5sb2FkZWROYW1lKTt0aGlzLmRhdGE9ZX10aGlzLl9jcmVhdGVCdWlsdEluRW5jb2RpbmcoKX1nZXQgbnVtR2x5cGhzKCl7cmV0dXJuIHRoaXMuY2ZmLmNoYXJTdHJpbmdzLmNvdW50fWdldENoYXJzZXQoKXtyZXR1cm4gdGhpcy5jZmYuY2hhcnNldC5jaGFyc2V0fWdldEdseXBoTWFwcGluZygpe2NvbnN0IGU9dGhpcy5jZmYsdD10aGlzLnByb3BlcnRpZXMse2NpZFRvR2lkTWFwOmksY01hcDphfT10LHM9ZS5jaGFyc2V0LmNoYXJzZXQ7bGV0IHIsbjtpZih0LmNvbXBvc2l0ZSl7bGV0IHQsZztpZihpPy5sZW5ndGg+MCl7dD1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgZT0wLGE9aS5sZW5ndGg7ZTxhO2UrKyl7Y29uc3QgYT1pW2VdO3ZvaWQgMCE9PWEmJih0W2FdPWUpfX1yPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoZS5pc0NJREZvbnQpZm9yKG49MDtuPHMubGVuZ3RoO24rKyl7Y29uc3QgZT1zW25dO2c9YS5jaGFyQ29kZU9mKGUpO3ZvaWQgMCE9PXQ/LltnXSYmKGc9dFtnXSk7cltnXT1ufWVsc2UgZm9yKG49MDtuPGUuY2hhclN0cmluZ3MuY291bnQ7bisrKXtnPWEuY2hhckNvZGVPZihuKTtyW2ddPW59cmV0dXJuIHJ9bGV0IGc9ZS5lbmNvZGluZz9lLmVuY29kaW5nLmVuY29kaW5nOm51bGw7dC5pc0ludGVybmFsRm9udCYmKGc9dC5kZWZhdWx0RW5jb2RpbmcpO3I9dHlwZTFGb250R2x5cGhNYXBwaW5nKHQsZyxzKTtyZXR1cm4gcn1oYXNHbHlwaElkKGUpe3JldHVybiB0aGlzLmNmZi5oYXNHbHlwaElkKGUpfV9jcmVhdGVCdWlsdEluRW5jb2RpbmcoKXtjb25zdHtjaGFyc2V0OmUsZW5jb2Rpbmc6dH09dGhpcy5jZmY7aWYoIWV8fCF0KXJldHVybjtjb25zdCBpPWUuY2hhcnNldCxhPXQuZW5jb2Rpbmcscz1bXTtmb3IoY29uc3QgZSBpbiBhKXtjb25zdCB0PWFbZV07aWYodD49MCl7Y29uc3QgYT1pW3RdO2EmJihzW2VdPWEpfX1zLmxlbmd0aD4wJiYodGhpcy5wcm9wZXJ0aWVzLmJ1aWx0SW5FbmNvZGluZz1zKX19ZnVuY3Rpb24gZ2V0VWludDMyKGUsdCl7cmV0dXJuKGVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fGVbdCszXSk+Pj4wfWZ1bmN0aW9uIGdldFVpbnQxNihlLHQpe3JldHVybiBlW3RdPDw4fGVbdCsxXX1mdW5jdGlvbiBnZXRJbnQxNihlLHQpe3JldHVybihlW3RdPDwyNHxlW3QrMV08PDE2KT4+MTZ9ZnVuY3Rpb24gZ2V0SW50OChlLHQpe3JldHVybiBlW3RdPDwyND4+MjR9ZnVuY3Rpb24gZ2V0RmxvYXQyMTQoZSx0KXtyZXR1cm4gZ2V0SW50MTYoZSx0KS8xNjM4NH1mdW5jdGlvbiBnZXRTdWJyb3V0aW5lQmlhcyhlKXtjb25zdCB0PWUubGVuZ3RoO2xldCBpPTMyNzY4O3Q8MTI0MD9pPTEwNzp0PDMzOTAwJiYoaT0xMTMxKTtyZXR1cm4gaX1mdW5jdGlvbiBwYXJzZUNtYXAoZSx0LGkpe2NvbnN0IGE9MT09PWdldFVpbnQxNihlLHQrMik/Z2V0VWludDMyKGUsdCs4KTpnZXRVaW50MzIoZSx0KzE2KSxzPWdldFVpbnQxNihlLHQrYSk7bGV0IHIsbixnO2lmKDQ9PT1zKXtnZXRVaW50MTYoZSx0K2ErMik7Y29uc3QgaT1nZXRVaW50MTYoZSx0K2ErNik+PjE7bj10K2ErMTQ7cj1bXTtmb3IoZz0wO2c8aTtnKyssbis9MilyW2ddPXtlbmQ6Z2V0VWludDE2KGUsbil9O24rPTI7Zm9yKGc9MDtnPGk7ZysrLG4rPTIpcltnXS5zdGFydD1nZXRVaW50MTYoZSxuKTtmb3IoZz0wO2c8aTtnKyssbis9MilyW2ddLmlkRGVsdGE9Z2V0VWludDE2KGUsbik7Zm9yKGc9MDtnPGk7ZysrLG4rPTIpe2xldCB0PWdldFVpbnQxNihlLG4pO2lmKDAhPT10KXtyW2ddLmlkcz1bXTtmb3IobGV0IGk9MCxhPXJbZ10uZW5kLXJbZ10uc3RhcnQrMTtpPGE7aSsrKXtyW2ddLmlkc1tpXT1nZXRVaW50MTYoZSxuK3QpO3QrPTJ9fX1yZXR1cm4gcn1pZigxMj09PXMpe2NvbnN0IGk9Z2V0VWludDMyKGUsdCthKzEyKTtuPXQrYSsxNjtyPVtdO2ZvcihnPTA7ZzxpO2crKyl7dD1nZXRVaW50MzIoZSxuKTtyLnB1c2goe3N0YXJ0OnQsZW5kOmdldFVpbnQzMihlLG4rNCksaWREZWx0YTpnZXRVaW50MzIoZSxuKzgpLXR9KTtuKz0xMn1yZXR1cm4gcn10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVuc3VwcG9ydGVkIGNtYXA6ICR7c31gKX1mdW5jdGlvbiBwYXJzZUNmZihlLHQsaSxhKXtjb25zdCBzPW5ldyBDRkZQYXJzZXIobmV3IFN0cmVhbShlLHQsaS10KSx7fSxhKS5wYXJzZSgpO3JldHVybntnbHlwaHM6cy5jaGFyU3RyaW5ncy5vYmplY3RzLHN1YnJzOnMudG9wRGljdC5wcml2YXRlRGljdD8uc3VicnNJbmRleD8ub2JqZWN0cyxnc3VicnM6cy5nbG9iYWxTdWJySW5kZXg/Lm9iamVjdHMsaXNDRkZDSURGb250OnMuaXNDSURGb250LGZkU2VsZWN0OnMuZmRTZWxlY3QsZmRBcnJheTpzLmZkQXJyYXl9fWZ1bmN0aW9uIGxvb2t1cENtYXAoZSx0KXtjb25zdCBpPXQuY29kZVBvaW50QXQoMCk7bGV0IGE9MCxzPTAscj1lLmxlbmd0aC0xO2Zvcig7czxyOyl7Y29uc3QgdD1zK3IrMT4+MTtpPGVbdF0uc3RhcnQ/cj10LTE6cz10fWVbc10uc3RhcnQ8PWkmJmk8PWVbc10uZW5kJiYoYT1lW3NdLmlkRGVsdGErKGVbc10uaWRzP2Vbc10uaWRzW2ktZVtzXS5zdGFydF06aSkmNjU1MzUpO3JldHVybntjaGFyQ29kZTppLGdseXBoSWQ6YX19ZnVuY3Rpb24gY29tcGlsZUdseWYoZSx0LGkpe2Z1bmN0aW9uIG1vdmVUbyhlLGkpe3QuYWRkKGx0LFtlLGldKX1mdW5jdGlvbiBsaW5lVG8oZSxpKXt0LmFkZChCdCxbZSxpXSl9ZnVuY3Rpb24gcXVhZHJhdGljQ3VydmVUbyhlLGksYSxzKXt0LmFkZChRdCxbZSxpLGEsc10pfWxldCBhPTA7Y29uc3Qgcz1nZXRJbnQxNihlLGEpO2xldCByLG49MCxnPTA7YSs9MTA7aWYoczwwKWRve3I9Z2V0VWludDE2KGUsYSk7Y29uc3Qgcz1nZXRVaW50MTYoZSxhKzIpO2ErPTQ7bGV0IG8sYztpZigxJnIpe2lmKDImcil7bz1nZXRJbnQxNihlLGEpO2M9Z2V0SW50MTYoZSxhKzIpfWVsc2V7bz1nZXRVaW50MTYoZSxhKTtjPWdldFVpbnQxNihlLGErMil9YSs9NH1lbHNlIGlmKDImcil7bz1nZXRJbnQ4KGUsYSsrKTtjPWdldEludDgoZSxhKyspfWVsc2V7bz1lW2ErK107Yz1lW2ErK119aWYoMiZyKXtuPW87Zz1jfWVsc2V7bj0wO2c9MH1sZXQgQz0xLGg9MSxsPTAsUT0wO2lmKDgmcil7Qz1oPWdldEZsb2F0MjE0KGUsYSk7YSs9Mn1lbHNlIGlmKDY0JnIpe0M9Z2V0RmxvYXQyMTQoZSxhKTtoPWdldEZsb2F0MjE0KGUsYSsyKTthKz00fWVsc2UgaWYoMTI4JnIpe0M9Z2V0RmxvYXQyMTQoZSxhKTtsPWdldEZsb2F0MjE0KGUsYSsyKTtRPWdldEZsb2F0MjE0KGUsYSs0KTtoPWdldEZsb2F0MjE0KGUsYSs2KTthKz04fWNvbnN0IEU9aS5nbHlwaHNbc107aWYoRSl7dC5hZGQodXQpO3QuYWRkKGZ0LFtDLGwsUSxoLG4sZ10pO2NvbXBpbGVHbHlmKEUsdCxpKTt0LmFkZChFdCl9fXdoaWxlKDMyJnIpO2Vsc2V7Y29uc3QgdD1bXTtsZXQgaSxvO2ZvcihpPTA7aTxzO2krKyl7dC5wdXNoKGdldFVpbnQxNihlLGEpKTthKz0yfWErPTIrZ2V0VWludDE2KGUsYSk7Y29uc3QgYz10LmF0KC0xKSsxLEM9W107Zm9yKDtDLmxlbmd0aDxjOyl7cj1lW2ErK107bGV0IHQ9MTs4JnImJih0Kz1lW2ErK10pO2Zvcig7dC0tID4wOylDLnB1c2goe2ZsYWdzOnJ9KX1mb3IoaT0wO2k8YztpKyspe3N3aXRjaCgxOCZDW2ldLmZsYWdzKXtjYXNlIDA6bis9Z2V0SW50MTYoZSxhKTthKz0yO2JyZWFrO2Nhc2UgMjpuLT1lW2ErK107YnJlYWs7Y2FzZSAxODpuKz1lW2ErK119Q1tpXS54PW59Zm9yKGk9MDtpPGM7aSsrKXtzd2l0Y2goMzYmQ1tpXS5mbGFncyl7Y2FzZSAwOmcrPWdldEludDE2KGUsYSk7YSs9MjticmVhaztjYXNlIDQ6Zy09ZVthKytdO2JyZWFrO2Nhc2UgMzY6Zys9ZVthKytdfUNbaV0ueT1nfWxldCBoPTA7Zm9yKGE9MDthPHM7YSsrKXtjb25zdCBlPXRbYV0scz1DLnNsaWNlKGgsZSsxKTtpZigxJnNbMF0uZmxhZ3Mpcy5wdXNoKHNbMF0pO2Vsc2UgaWYoMSZzLmF0KC0xKS5mbGFncylzLnVuc2hpZnQocy5hdCgtMSkpO2Vsc2V7Y29uc3QgZT17ZmxhZ3M6MSx4OihzWzBdLngrcy5hdCgtMSkueCkvMix5OihzWzBdLnkrcy5hdCgtMSkueSkvMn07cy51bnNoaWZ0KGUpO3MucHVzaChlKX1tb3ZlVG8oc1swXS54LHNbMF0ueSk7Zm9yKGk9MSxvPXMubGVuZ3RoO2k8bztpKyspaWYoMSZzW2ldLmZsYWdzKWxpbmVUbyhzW2ldLngsc1tpXS55KTtlbHNlIGlmKDEmc1tpKzFdLmZsYWdzKXtxdWFkcmF0aWNDdXJ2ZVRvKHNbaV0ueCxzW2ldLnksc1tpKzFdLngsc1tpKzFdLnkpO2krK31lbHNlIHF1YWRyYXRpY0N1cnZlVG8oc1tpXS54LHNbaV0ueSwoc1tpXS54K3NbaSsxXS54KS8yLChzW2ldLnkrc1tpKzFdLnkpLzIpO2g9ZSsxfX19ZnVuY3Rpb24gY29tcGlsZUNoYXJTdHJpbmcoZSx0LGksYSl7ZnVuY3Rpb24gbW92ZVRvKGUsaSl7dC5hZGQobHQsW2UsaV0pfWZ1bmN0aW9uIGxpbmVUbyhlLGkpe3QuYWRkKEJ0LFtlLGldKX1mdW5jdGlvbiBiZXppZXJDdXJ2ZVRvKGUsaSxhLHMscixuKXt0LmFkZChodCxbZSxpLGEscyxyLG5dKX1jb25zdCBzPVtdO2xldCByPTAsbj0wLGc9MDshZnVuY3Rpb24gcGFyc2UoZSl7bGV0IG89MDtmb3IoO288ZS5sZW5ndGg7KXtsZXQgYyxDLGgsbCxRLEUsdSxkLGYscD0hMSxtPWVbbysrXTtzd2l0Y2gobSl7Y2FzZSAxOmNhc2UgMzpjYXNlIDE4OmNhc2UgMjM6Zys9cy5sZW5ndGg+PjE7cD0hMDticmVhaztjYXNlIDQ6bis9cy5wb3AoKTttb3ZlVG8ocixuKTtwPSEwO2JyZWFrO2Nhc2UgNTpmb3IoO3MubGVuZ3RoPjA7KXtyKz1zLnNoaWZ0KCk7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pfWJyZWFrO2Nhc2UgNjpmb3IoO3MubGVuZ3RoPjA7KXtyKz1zLnNoaWZ0KCk7bGluZVRvKHIsbik7aWYoMD09PXMubGVuZ3RoKWJyZWFrO24rPXMuc2hpZnQoKTtsaW5lVG8ocixuKX1icmVhaztjYXNlIDc6Zm9yKDtzLmxlbmd0aD4wOyl7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pO2lmKDA9PT1zLmxlbmd0aClicmVhaztyKz1zLnNoaWZ0KCk7bGluZVRvKHIsbil9YnJlYWs7Y2FzZSA4OmZvcig7cy5sZW5ndGg+MDspe2M9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2Nhc2UgMTA6ZD1zLnBvcCgpO2Y9bnVsbDtpZihpLmlzQ0ZGQ0lERm9udCl7Y29uc3QgZT1pLmZkU2VsZWN0LmdldEZESW5kZXgoYSk7aWYoZT49MCYmZTxpLmZkQXJyYXkubGVuZ3RoKXtjb25zdCB0PWkuZmRBcnJheVtlXTtsZXQgYTt0LnByaXZhdGVEaWN0Py5zdWJyc0luZGV4JiYoYT10LnByaXZhdGVEaWN0LnN1YnJzSW5kZXgub2JqZWN0cyk7aWYoYSl7ZCs9Z2V0U3Vicm91dGluZUJpYXMoYSk7Zj1hW2RdfX1lbHNlIHdhcm4oIkludmFsaWQgZmQgaW5kZXggZm9yIGdseXBoIGluZGV4LiIpfWVsc2UgZj1pLnN1YnJzW2QraS5zdWJyc0JpYXNdO2YmJnBhcnNlKGYpO2JyZWFrO2Nhc2UgMTE6cmV0dXJuO2Nhc2UgMTI6bT1lW28rK107c3dpdGNoKG0pe2Nhc2UgMzQ6Yz1yK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO1E9bitzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsbixDLFEscixRKTtjPXIrcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsUSxDLG4scixuKTticmVhaztjYXNlIDM1OmM9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2M9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO3MucG9wKCk7YnJlYWs7Y2FzZSAzNjpjPXIrcy5zaGlmdCgpO1E9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtFPVErcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLFEsQyxFLHIsRSk7Yz1yK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO3U9RStzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsRSxDLHUscixuKTticmVhaztjYXNlIDM3OmNvbnN0IGU9cix0PW47Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUM7bj1sO01hdGguYWJzKHItZSk+TWF0aC5hYnMobi10KT9yKz1zLnNoaWZ0KCk6bis9cy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGB1bmtub3duIG9wZXJhdG9yOiAxMiAke219YCl9YnJlYWs7Y2FzZSAxNDppZihzLmxlbmd0aD49NCl7Y29uc3QgZT1zLnBvcCgpLGE9cy5wb3AoKTtuPXMucG9wKCk7cj1zLnBvcCgpO3QuYWRkKHV0KTt0LmFkZChwdCxbcixuXSk7bGV0IGc9bG9va3VwQ21hcChpLmNtYXAsU3RyaW5nLmZyb21DaGFyQ29kZShpLmdseXBoTmFtZU1hcFttaVtlXV0pKTtjb21waWxlQ2hhclN0cmluZyhpLmdseXBoc1tnLmdseXBoSWRdLHQsaSxnLmdseXBoSWQpO3QuYWRkKEV0KTtnPWxvb2t1cENtYXAoaS5jbWFwLFN0cmluZy5mcm9tQ2hhckNvZGUoaS5nbHlwaE5hbWVNYXBbbWlbYV1dKSk7Y29tcGlsZUNoYXJTdHJpbmcoaS5nbHlwaHNbZy5nbHlwaElkXSx0LGksZy5nbHlwaElkKX1yZXR1cm47Y2FzZSAxOTpjYXNlIDIwOmcrPXMubGVuZ3RoPj4xO28rPWcrNz4+MztwPSEwO2JyZWFrO2Nhc2UgMjE6bis9cy5wb3AoKTtyKz1zLnBvcCgpO21vdmVUbyhyLG4pO3A9ITA7YnJlYWs7Y2FzZSAyMjpyKz1zLnBvcCgpO21vdmVUbyhyLG4pO3A9ITA7YnJlYWs7Y2FzZSAyNDpmb3IoO3MubGVuZ3RoPjI7KXtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1yKz1zLnNoaWZ0KCk7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pO2JyZWFrO2Nhc2UgMjU6Zm9yKDtzLmxlbmd0aD42Oyl7cis9cy5zaGlmdCgpO24rPXMuc2hpZnQoKTtsaW5lVG8ocixuKX1jPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTticmVhaztjYXNlIDI2OnMubGVuZ3RoJTImJihyKz1zLnNoaWZ0KCkpO2Zvcig7cy5sZW5ndGg+MDspe2M9cjtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUM7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1icmVhaztjYXNlIDI3OnMubGVuZ3RoJTImJihuKz1zLnNoaWZ0KCkpO2Zvcig7cy5sZW5ndGg+MDspe2M9citzLnNoaWZ0KCk7aD1uO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bDtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1icmVhaztjYXNlIDI4OnMucHVzaCgoZVtvXTw8MjR8ZVtvKzFdPDwxNik+PjE2KTtvKz0yO2JyZWFrO2Nhc2UgMjk6ZD1zLnBvcCgpK2kuZ3N1YnJzQmlhcztmPWkuZ3N1YnJzW2RdO2YmJnBhcnNlKGYpO2JyZWFrO2Nhc2UgMzA6Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sKygxPT09cy5sZW5ndGg/cy5zaGlmdCgpOjApO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2lmKDA9PT1zLmxlbmd0aClicmVhaztjPXIrcy5zaGlmdCgpO2g9bjtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtyPUMrKDE9PT1zLmxlbmd0aD9zLnNoaWZ0KCk6MCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9YnJlYWs7Y2FzZSAzMTpmb3IoO3MubGVuZ3RoPjA7KXtjPXIrcy5zaGlmdCgpO2g9bjtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtyPUMrKDE9PT1zLmxlbmd0aD9zLnNoaWZ0KCk6MCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7aWYoMD09PXMubGVuZ3RoKWJyZWFrO2M9cjtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCsoMT09PXMubGVuZ3RoP3Muc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1icmVhaztkZWZhdWx0OmlmKG08MzIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGB1bmtub3duIG9wZXJhdG9yOiAke219YCk7aWYobTwyNDcpcy5wdXNoKG0tMTM5KTtlbHNlIGlmKG08MjUxKXMucHVzaCgyNTYqKG0tMjQ3KStlW28rK10rMTA4KTtlbHNlIGlmKG08MjU1KXMucHVzaCgyNTYqLShtLTI1MSktZVtvKytdLTEwOCk7ZWxzZXtzLnB1c2goKGVbb108PDI0fGVbbysxXTw8MTZ8ZVtvKzJdPDw4fGVbbyszXSkvNjU1MzYpO28rPTR9fXAmJihzLmxlbmd0aD0wKX19KGUpfWNvbnN0IHRhPVtdO2NsYXNzIENvbW1hbmRze2NtZHM9W107YWRkKGUsdCl7aWYodClpZihpc051bWJlckFycmF5KHQsbnVsbCkpdGhpcy5jbWRzLnB1c2goZSwuLi50KTtlbHNle3dhcm4oYENvbW1hbmRzLmFkZCAtICIke2V9IiBoYXMgYXQgbGVhc3Qgb25lIG5vbi1udW1iZXIgYXJnOiAiJHt0fSIuYCk7Y29uc3QgaT10Lm1hcCgoZT0+Im51bWJlciI9PXR5cGVvZiBlP2U6MCkpO3RoaXMuY21kcy5wdXNoKGUsLi4uaSl9ZWxzZSB0aGlzLmNtZHMucHVzaChlKX19Y2xhc3MgQ29tcGlsZWRGb250e2NvbnN0cnVjdG9yKGUpe3RoaXMuZm9udE1hdHJpeD1lO3RoaXMuY29tcGlsZWRHbHlwaHM9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLmNvbXBpbGVkQ2hhckNvZGVUb0dseXBoSWQ9T2JqZWN0LmNyZWF0ZShudWxsKX1nZXRQYXRoSnMoZSl7Y29uc3R7Y2hhckNvZGU6dCxnbHlwaElkOml9PWxvb2t1cENtYXAodGhpcy5jbWFwLGUpO2xldCBhLHM9dGhpcy5jb21waWxlZEdseXBoc1tpXTtpZighcyl7dHJ5e3M9dGhpcy5jb21waWxlR2x5cGgodGhpcy5nbHlwaHNbaV0saSl9Y2F0Y2goZSl7cz10YTthPWV9dGhpcy5jb21waWxlZEdseXBoc1tpXT1zfXRoaXMuY29tcGlsZWRDaGFyQ29kZVRvR2x5cGhJZFt0XT8/PWk7aWYoYSl0aHJvdyBhO3JldHVybiBzfWNvbXBpbGVHbHlwaChlLHQpe2lmKCFlfHwwPT09ZS5sZW5ndGh8fDE0PT09ZVswXSlyZXR1cm4gdGE7bGV0IGk9dGhpcy5mb250TWF0cml4O2lmKHRoaXMuaXNDRkZDSURGb250KXtjb25zdCBlPXRoaXMuZmRTZWxlY3QuZ2V0RkRJbmRleCh0KTtpZihlPj0wJiZlPHRoaXMuZmRBcnJheS5sZW5ndGgpe2k9dGhpcy5mZEFycmF5W2VdLmdldEJ5TmFtZSgiRm9udE1hdHJpeCIpfHxhfWVsc2Ugd2FybigiSW52YWxpZCBmZCBpbmRleCBmb3IgZ2x5cGggaW5kZXguIil9Y29uc3Qgcz1uZXcgQ29tbWFuZHM7cy5hZGQodXQpO3MuYWRkKGZ0LGkuc2xpY2UoKSk7cy5hZGQoZHQpO3RoaXMuY29tcGlsZUdseXBoSW1wbChlLHMsdCk7cy5hZGQoRXQpO3JldHVybiBzLmNtZHN9Y29tcGlsZUdseXBoSW1wbCgpe3VucmVhY2hhYmxlKCJDaGlsZHJlbiBjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgdGhpcy4iKX1oYXNCdWlsdFBhdGgoZSl7Y29uc3R7Y2hhckNvZGU6dCxnbHlwaElkOml9PWxvb2t1cENtYXAodGhpcy5jbWFwLGUpO3JldHVybiB2b2lkIDAhPT10aGlzLmNvbXBpbGVkR2x5cGhzW2ldJiZ2b2lkIDAhPT10aGlzLmNvbXBpbGVkQ2hhckNvZGVUb0dseXBoSWRbdF19fWNsYXNzIFRydWVUeXBlQ29tcGlsZWQgZXh0ZW5kcyBDb21waWxlZEZvbnR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGl8fFs0ODhlLTYsMCwwLDQ4OGUtNiwwLDBdKTt0aGlzLmdseXBocz1lO3RoaXMuY21hcD10fWNvbXBpbGVHbHlwaEltcGwoZSx0KXtjb21waWxlR2x5ZihlLHQsdGhpcyl9fWNsYXNzIFR5cGUyQ29tcGlsZWQgZXh0ZW5kcyBDb21waWxlZEZvbnR7Y29uc3RydWN0b3IoZSx0LGksYSl7c3VwZXIoaXx8Wy4wMDEsMCwwLC4wMDEsMCwwXSk7dGhpcy5nbHlwaHM9ZS5nbHlwaHM7dGhpcy5nc3VicnM9ZS5nc3VicnN8fFtdO3RoaXMuc3VicnM9ZS5zdWJyc3x8W107dGhpcy5jbWFwPXQ7dGhpcy5nbHlwaE5hbWVNYXA9YXx8eGkoKTt0aGlzLmdzdWJyc0JpYXM9Z2V0U3Vicm91dGluZUJpYXModGhpcy5nc3VicnMpO3RoaXMuc3VicnNCaWFzPWdldFN1YnJvdXRpbmVCaWFzKHRoaXMuc3VicnMpO3RoaXMuaXNDRkZDSURGb250PWUuaXNDRkZDSURGb250O3RoaXMuZmRTZWxlY3Q9ZS5mZFNlbGVjdDt0aGlzLmZkQXJyYXk9ZS5mZEFycmF5fWNvbXBpbGVHbHlwaEltcGwoZSx0LGkpe2NvbXBpbGVDaGFyU3RyaW5nKGUsdCx0aGlzLGkpfX1jbGFzcyBGb250UmVuZGVyZXJGYWN0b3J5e3N0YXRpYyBjcmVhdGUoZSx0KXtjb25zdCBpPW5ldyBVaW50OEFycmF5KGUuZGF0YSk7bGV0IGEscyxyLG4sZyxvO2NvbnN0IGM9Z2V0VWludDE2KGksNCk7Zm9yKGxldCBlPTAsQz0xMjtlPGM7ZSsrLEMrPTE2KXtjb25zdCBlPWJ5dGVzVG9TdHJpbmcoaS5zdWJhcnJheShDLEMrNCkpLGM9Z2V0VWludDMyKGksQys4KSxoPWdldFVpbnQzMihpLEMrMTIpO3N3aXRjaChlKXtjYXNlImNtYXAiOmE9cGFyc2VDbWFwKGksYyk7YnJlYWs7Y2FzZSJnbHlmIjpzPWkuc3ViYXJyYXkoYyxjK2gpO2JyZWFrO2Nhc2UibG9jYSI6cj1pLnN1YmFycmF5KGMsYytoKTticmVhaztjYXNlImhlYWQiOm89Z2V0VWludDE2KGksYysxOCk7Zz1nZXRVaW50MTYoaSxjKzUwKTticmVhaztjYXNlIkNGRiAiOm49cGFyc2VDZmYoaSxjLGMraCx0KX19aWYocyl7Y29uc3QgdD1vP1sxL28sMCwwLDEvbywwLDBdOmUuZm9udE1hdHJpeDtyZXR1cm4gbmV3IFRydWVUeXBlQ29tcGlsZWQoZnVuY3Rpb24gcGFyc2VHbHlmVGFibGUoZSx0LGkpe2xldCBhLHM7aWYoaSl7YT00O3M9Z2V0VWludDMyfWVsc2V7YT0yO3M9KGUsdCk9PjIqZ2V0VWludDE2KGUsdCl9Y29uc3Qgcj1bXTtsZXQgbj1zKHQsMCk7Zm9yKGxldCBpPWE7aTx0Lmxlbmd0aDtpKz1hKXtjb25zdCBhPXModCxpKTtyLnB1c2goZS5zdWJhcnJheShuLGEpKTtuPWF9cmV0dXJuIHJ9KHMscixnKSxhLHQpfXJldHVybiBuZXcgVHlwZTJDb21waWxlZChuLGEsZS5mb250TWF0cml4LGUuZ2x5cGhOYW1lTWFwKX19Y29uc3QgaWE9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNvdXJpZXI9NjAwO2VbIkNvdXJpZXItQm9sZCJdPTYwMDtlWyJDb3VyaWVyLUJvbGRPYmxpcXVlIl09NjAwO2VbIkNvdXJpZXItT2JsaXF1ZSJdPTYwMDtlLkhlbHZldGljYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuZXhjbGFtPTI3ODtlLnF1b3RlZGJsPTM1NTtlLm51bWJlcnNpZ249NTU2O2UuZG9sbGFyPTU1NjtlLnBlcmNlbnQ9ODg5O2UuYW1wZXJzYW5kPTY2NztlLnF1b3RlcmlnaHQ9MjIyO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9Mzg5O2UucGx1cz01ODQ7ZS5jb21tYT0yNzg7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI3ODtlLnNsYXNoPTI3ODtlLnplcm89NTU2O2Uub25lPTU1NjtlLnR3bz01NTY7ZS50aHJlZT01NTY7ZS5mb3VyPTU1NjtlLmZpdmU9NTU2O2Uuc2l4PTU1NjtlLnNldmVuPTU1NjtlLmVpZ2h0PTU1NjtlLm5pbmU9NTU2O2UuY29sb249Mjc4O2Uuc2VtaWNvbG9uPTI3ODtlLmxlc3M9NTg0O2UuZXF1YWw9NTg0O2UuZ3JlYXRlcj01ODQ7ZS5xdWVzdGlvbj01NTY7ZS5hdD0xMDE1O2UuQT02Njc7ZS5CPTY2NztlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTcyMjtlLkk9Mjc4O2UuSj01MDA7ZS5LPTY2NztlLkw9NTU2O2UuTT04MzM7ZS5OPTcyMjtlLk89Nzc4O2UuUD02Njc7ZS5RPTc3ODtlLlI9NzIyO2UuUz02Njc7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTk0NDtlLlg9NjY3O2UuWT02Njc7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTI3ODtlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9Mjc4O2UuYXNjaWljaXJjdW09NDY5O2UudW5kZXJzY29yZT01NTY7ZS5xdW90ZWxlZnQ9MjIyO2UuYT01NTY7ZS5iPTU1NjtlLmM9NTAwO2UuZD01NTY7ZS5lPTU1NjtlLmY9Mjc4O2UuZz01NTY7ZS5oPTU1NjtlLmk9MjIyO2Uuaj0yMjI7ZS5rPTUwMDtlLmw9MjIyO2UubT04MzM7ZS5uPTU1NjtlLm89NTU2O2UucD01NTY7ZS5xPTU1NjtlLnI9MzMzO2Uucz01MDA7ZS50PTI3ODtlLnU9NTU2O2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTUwMDtlLmJyYWNlbGVmdD0zMzQ7ZS5iYXI9MjYwO2UuYnJhY2VyaWdodD0zMzQ7ZS5hc2NpaXRpbGRlPTU4NDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01NTY7ZS5zdGVybGluZz01NTY7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTU2O2UuZmxvcmluPTU1NjtlLnNlY3Rpb249NTU2O2UuY3VycmVuY3k9NTU2O2UucXVvdGVzaW5nbGU9MTkxO2UucXVvdGVkYmxsZWZ0PTMzMztlLmd1aWxsZW1vdGxlZnQ9NTU2O2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01MDA7ZS5mbD01MDA7ZS5lbmRhc2g9NTU2O2UuZGFnZ2VyPTU1NjtlLmRhZ2dlcmRibD01NTY7ZS5wZXJpb2RjZW50ZXJlZD0yNzg7ZS5wYXJhZ3JhcGg9NTM3O2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTIyMjtlLnF1b3RlZGJsYmFzZT0zMzM7ZS5xdW90ZWRibHJpZ2h0PTMzMztlLmd1aWxsZW1vdHJpZ2h0PTU1NjtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj02MTE7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTM3MDtlLkxzbGFzaD01NTY7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTM2NTtlLmFlPTg4OTtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yMjI7ZS5vc2xhc2g9NjExO2Uub2U9OTQ0O2UuZ2VybWFuZGJscz02MTE7ZS5JZGllcmVzaXM9Mjc4O2UuZWFjdXRlPTU1NjtlLmFicmV2ZT01NTY7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj01NTY7ZS5ZZGllcmVzaXM9NjY3O2UuZGl2aWRlPTU4NDtlLllhY3V0ZT02Njc7ZS5BY2lyY3VtZmxleD02Njc7ZS5hYWN1dGU9NTU2O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD01MDA7ZS5lY2lyY3VtZmxleD01NTY7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01NTY7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03Mzc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj01MDA7ZS5hcmluZz01NTY7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTIyMjtlLmFncmF2ZT01NTY7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01NTY7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj01MDA7ZS5zY2VkaWxsYT01MDA7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00NzE7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTU1NjtlLkFtYWNyb249NjY3O2UucmNhcm9uPTMzMztlLmNjZWRpbGxhPTUwMDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjY3O2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTY2NztlLmRjYXJvbj02NDM7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzMzO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT02Njc7ZS5BYnJldmU9NjY3O2UubXVsdGlwbHk9NTg0O2UudWFjdXRlPTU1NjtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00NzY7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01NTY7ZS5lZGllcmVzaXM9NTU2O2UuY2FjdXRlPTUwMDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mjc4O2UucGx1c21pbnVzPTU4NDtlLmJyb2tlbmJhcj0yNjA7ZS5yZWdpc3RlcmVkPTczNztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTI3ODtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTMzMztlLm9tYWNyb249NTU2O2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yMjI7ZS50Y2Fyb249MzE3O2UuZW9nb25laz01NTY7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT02Njc7ZS5BZGllcmVzaXM9NjY3O2UuZWdyYXZlPTU1NjtlLnphY3V0ZT01MDA7ZS5pb2dvbmVrPTIyMjtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NTU2O2UuYW1hY3Jvbj01NTY7ZS5zYWN1dGU9NTAwO2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01NTY7ZS50d29zdXBlcmlvcj0zMzM7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NTU2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTU2O2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTU2O2UudGhyZWVxdWFydGVycz04MzQ7ZS5TY2VkaWxsYT02Njc7ZS5sY2Fyb249Mjk5O2UuS2NvbW1hYWNjZW50PTY2NztlLkxhY3V0ZT01NTY7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD01NTY7ZS5JZ3JhdmU9Mjc4O2UuSW1hY3Jvbj0yNzg7ZS5MY2Fyb249NTU2O2Uub25laGFsZj04MzQ7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTU2O2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NTU2O2UuZ2JyZXZlPTU1NjtlLm9uZXF1YXJ0ZXI9ODM0O2UuU2Nhcm9uPTY2NztlLlNjb21tYWFjY2VudD02Njc7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTU2O2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTQ1MztlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9MzMzO2UuTnRpbGRlPTcyMjtlLm90aWxkZT01NTY7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTU1NjtlLkF0aWxkZT02Njc7ZS5Bb2dvbmVrPTY2NztlLkFyaW5nPTY2NztlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTUwMDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTI3ODtlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz01ODQ7ZS5JY2lyY3VtZmxleD0yNzg7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NTg0O2Uub2RpZXJlc2lzPTU1NjtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTU2O2UuZXRoPTU1NjtlLnpjYXJvbj01MDA7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzMzO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTU1Nn0pKTtlWyJIZWx2ZXRpY2EtQm9sZCJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5leGNsYW09MzMzO2UucXVvdGVkYmw9NDc0O2UubnVtYmVyc2lnbj01NTY7ZS5kb2xsYXI9NTU2O2UucGVyY2VudD04ODk7ZS5hbXBlcnNhbmQ9NzIyO2UucXVvdGVyaWdodD0yNzg7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz0zODk7ZS5wbHVzPTU4NDtlLmNvbW1hPTI3ODtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9Mjc4O2Uuc2xhc2g9Mjc4O2UuemVybz01NTY7ZS5vbmU9NTU2O2UudHdvPTU1NjtlLnRocmVlPTU1NjtlLmZvdXI9NTU2O2UuZml2ZT01NTY7ZS5zaXg9NTU2O2Uuc2V2ZW49NTU2O2UuZWlnaHQ9NTU2O2UubmluZT01NTY7ZS5jb2xvbj0zMzM7ZS5zZW1pY29sb249MzMzO2UubGVzcz01ODQ7ZS5lcXVhbD01ODQ7ZS5ncmVhdGVyPTU4NDtlLnF1ZXN0aW9uPTYxMTtlLmF0PTk3NTtlLkE9NzIyO2UuQj03MjI7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03MjI7ZS5JPTI3ODtlLko9NTU2O2UuSz03MjI7ZS5MPTYxMTtlLk09ODMzO2UuTj03MjI7ZS5PPTc3ODtlLlA9NjY3O2UuUT03Nzg7ZS5SPTcyMjtlLlM9NjY3O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz05NDQ7ZS5YPTY2NztlLlk9NjY3O2UuWj02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTMzMztlLmFzY2lpY2lyY3VtPTU4NDtlLnVuZGVyc2NvcmU9NTU2O2UucXVvdGVsZWZ0PTI3ODtlLmE9NTU2O2UuYj02MTE7ZS5jPTU1NjtlLmQ9NjExO2UuZT01NTY7ZS5mPTMzMztlLmc9NjExO2UuaD02MTE7ZS5pPTI3ODtlLmo9Mjc4O2Uuaz01NTY7ZS5sPTI3ODtlLm09ODg5O2Uubj02MTE7ZS5vPTYxMTtlLnA9NjExO2UucT02MTE7ZS5yPTM4OTtlLnM9NTU2O2UudD0zMzM7ZS51PTYxMTtlLnY9NTU2O2Uudz03Nzg7ZS54PTU1NjtlLnk9NTU2O2Uuej01MDA7ZS5icmFjZWxlZnQ9Mzg5O2UuYmFyPTI4MDtlLmJyYWNlcmlnaHQ9Mzg5O2UuYXNjaWl0aWxkZT01ODQ7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTU2O2Uuc3Rlcmxpbmc9NTU2O2UuZnJhY3Rpb249MTY3O2UueWVuPTU1NjtlLmZsb3Jpbj01NTY7ZS5zZWN0aW9uPTU1NjtlLmN1cnJlbmN5PTU1NjtlLnF1b3Rlc2luZ2xlPTIzODtlLnF1b3RlZGJsbGVmdD01MDA7ZS5ndWlsbGVtb3RsZWZ0PTU1NjtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NjExO2UuZmw9NjExO2UuZW5kYXNoPTU1NjtlLmRhZ2dlcj01NTY7ZS5kYWdnZXJkYmw9NTU2O2UucGVyaW9kY2VudGVyZWQ9Mjc4O2UucGFyYWdyYXBoPTU1NjtlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0yNzg7ZS5xdW90ZWRibGJhc2U9NTAwO2UucXVvdGVkYmxyaWdodD01MDA7ZS5ndWlsbGVtb3RyaWdodD01NTY7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NjExO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zNzA7ZS5Mc2xhc2g9NjExO2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zNjU7ZS5hZT04ODk7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9Mjc4O2Uub3NsYXNoPTYxMTtlLm9lPTk0NDtlLmdlcm1hbmRibHM9NjExO2UuSWRpZXJlc2lzPTI3ODtlLmVhY3V0ZT01NTY7ZS5hYnJldmU9NTU2O2UudWh1bmdhcnVtbGF1dD02MTE7ZS5lY2Fyb249NTU2O2UuWWRpZXJlc2lzPTY2NztlLmRpdmlkZT01ODQ7ZS5ZYWN1dGU9NjY3O2UuQWNpcmN1bWZsZXg9NzIyO2UuYWFjdXRlPTU1NjtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01NTY7ZS5zY29tbWFhY2NlbnQ9NTU2O2UuZWNpcmN1bWZsZXg9NTU2O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTU2O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NjExO2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzM3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NTU2O2UuYXJpbmc9NTU2O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yNzg7ZS5hZ3JhdmU9NTU2O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTU2O2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249NTU2O2Uuc2NlZGlsbGE9NTU2O2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDk0O2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD02MTE7ZS5hY2lyY3VtZmxleD01NTY7ZS5BbWFjcm9uPTcyMjtlLnJjYXJvbj0zODk7ZS5jY2VkaWxsYT01NTY7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTY2NztlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT02Njc7ZS5kY2Fyb249NzQzO2UuVW1hY3Jvbj03MjI7ZS51cmluZz02MTE7ZS50aHJlZXN1cGVyaW9yPTMzMztlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NzIyO2UuQWJyZXZlPTcyMjtlLm11bHRpcGx5PTU4NDtlLnVhY3V0ZT02MTE7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDk0O2UueWRpZXJlc2lzPTU1NjtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTU2O2UuZWRpZXJlc2lzPTU1NjtlLmNhY3V0ZT01NTY7ZS5uYWN1dGU9NjExO2UudW1hY3Jvbj02MTE7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTI3ODtlLnBsdXNtaW51cz01ODQ7ZS5icm9rZW5iYXI9MjgwO2UucmVnaXN0ZXJlZD03Mzc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0yNzg7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zODk7ZS5vbWFjcm9uPTYxMTtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9Mjc4O2UudGNhcm9uPTM4OTtlLmVvZ29uZWs9NTU2O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NzIyO2UuQWRpZXJlc2lzPTcyMjtlLmVncmF2ZT01NTY7ZS56YWN1dGU9NTAwO2UuaW9nb25laz0yNzg7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTYxMTtlLmFtYWNyb249NTU2O2Uuc2FjdXRlPTU1NjtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NjExO2UudHdvc3VwZXJpb3I9MzMzO2UuT2RpZXJlc2lzPTc3ODtlLm11PTYxMTtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTYxMTtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTYxMTtlLnRocmVlcXVhcnRlcnM9ODM0O2UuU2NlZGlsbGE9NjY3O2UubGNhcm9uPTQwMDtlLktjb21tYWFjY2VudD03MjI7ZS5MYWN1dGU9NjExO2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NTU2O2UuSWdyYXZlPTI3ODtlLkltYWNyb249Mjc4O2UuTGNhcm9uPTYxMTtlLm9uZWhhbGY9ODM0O2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTYxMTtlLm50aWxkZT02MTE7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTU1NjtlLmdicmV2ZT02MTE7ZS5vbmVxdWFydGVyPTgzNDtlLlNjYXJvbj02Njc7ZS5TY29tbWFhY2NlbnQ9NjY3O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTYxMTtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NjExO2UucmFkaWNhbD01NDk7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTM4OTtlLk50aWxkZT03MjI7ZS5vdGlsZGU9NjExO2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD02MTE7ZS5BdGlsZGU9NzIyO2UuQW9nb25laz03MjI7ZS5BcmluZz03MjI7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD01MDA7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0yNzg7ZS5rY29tbWFhY2NlbnQ9NTU2O2UubWludXM9NTg0O2UuSWNpcmN1bWZsZXg9Mjc4O2UubmNhcm9uPTYxMTtlLnRjb21tYWFjY2VudD0zMzM7ZS5sb2dpY2Fsbm90PTU4NDtlLm9kaWVyZXNpcz02MTE7ZS51ZGllcmVzaXM9NjExO2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTYxMTtlLmV0aD02MTE7ZS56Y2Fyb249NTAwO2UubmNvbW1hYWNjZW50PTYxMTtlLm9uZXN1cGVyaW9yPTMzMztlLmltYWNyb249Mjc4O2UuRXVybz01NTZ9KSk7ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00NzQ7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD03MjI7ZS5xdW90ZXJpZ2h0PTI3ODtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NjExO2UuYXQ9OTc1O2UuQT03MjI7ZS5CPTcyMjtlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTcyMjtlLkk9Mjc4O2UuSj01NTY7ZS5LPTcyMjtlLkw9NjExO2UuTT04MzM7ZS5OPTcyMjtlLk89Nzc4O2UuUD02Njc7ZS5RPTc3ODtlLlI9NzIyO2UuUz02Njc7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTk0NDtlLlg9NjY3O2UuWT02Njc7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTg0O2UudW5kZXJzY29yZT01NTY7ZS5xdW90ZWxlZnQ9Mjc4O2UuYT01NTY7ZS5iPTYxMTtlLmM9NTU2O2UuZD02MTE7ZS5lPTU1NjtlLmY9MzMzO2UuZz02MTE7ZS5oPTYxMTtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTU1NjtlLmw9Mjc4O2UubT04ODk7ZS5uPTYxMTtlLm89NjExO2UucD02MTE7ZS5xPTYxMTtlLnI9Mzg5O2Uucz01NTY7ZS50PTMzMztlLnU9NjExO2Uudj01NTY7ZS53PTc3ODtlLng9NTU2O2UueT01NTY7ZS56PTUwMDtlLmJyYWNlbGVmdD0zODk7ZS5iYXI9MjgwO2UuYnJhY2VyaWdodD0zODk7ZS5hc2NpaXRpbGRlPTU4NDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01NTY7ZS5zdGVybGluZz01NTY7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTU2O2UuZmxvcmluPTU1NjtlLnNlY3Rpb249NTU2O2UuY3VycmVuY3k9NTU2O2UucXVvdGVzaW5nbGU9MjM4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTU2O2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT02MTE7ZS5mbD02MTE7ZS5lbmRhc2g9NTU2O2UuZGFnZ2VyPTU1NjtlLmRhZ2dlcmRibD01NTY7ZS5wZXJpb2RjZW50ZXJlZD0yNzg7ZS5wYXJhZ3JhcGg9NTU2O2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTI3ODtlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTU1NjtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj02MTE7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTM3MDtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTM2NTtlLmFlPTg4OTtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NjExO2Uub2U9OTQ0O2UuZ2VybWFuZGJscz02MTE7ZS5JZGllcmVzaXM9Mjc4O2UuZWFjdXRlPTU1NjtlLmFicmV2ZT01NTY7ZS51aHVuZ2FydW1sYXV0PTYxMTtlLmVjYXJvbj01NTY7ZS5ZZGllcmVzaXM9NjY3O2UuZGl2aWRlPTU4NDtlLllhY3V0ZT02Njc7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTU2O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTU1NjtlLnNjb21tYWFjY2VudD01NTY7ZS5lY2lyY3VtZmxleD01NTY7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01NTY7ZS5VYWN1dGU9NzIyO2UudW9nb25laz02MTE7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03Mzc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj01NTY7ZS5hcmluZz01NTY7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01NTY7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01NTY7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj01NTY7ZS5zY2VkaWxsYT01NTY7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTYxMTtlLmFjaXJjdW1mbGV4PTU1NjtlLkFtYWNyb249NzIyO2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTU1NjtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjY3O2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTY2NztlLmRjYXJvbj03NDM7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTYxMTtlLnRocmVlc3VwZXJpb3I9MzMzO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTg0O2UudWFjdXRlPTYxMTtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTU2O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01NTY7ZS5lZGllcmVzaXM9NTU2O2UuY2FjdXRlPTU1NjtlLm5hY3V0ZT02MTE7ZS51bWFjcm9uPTYxMTtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mjc4O2UucGx1c21pbnVzPTU4NDtlLmJyb2tlbmJhcj0yODA7ZS5yZWdpc3RlcmVkPTczNztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTI3ODtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NjExO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249Mzg5O2UuZW9nb25laz01NTY7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTU1NjtlLnphY3V0ZT01MDA7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NjExO2UuYW1hY3Jvbj01NTY7ZS5zYWN1dGU9NTU2O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj02MTE7ZS50d29zdXBlcmlvcj0zMzM7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NjExO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NjExO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NjExO2UudGhyZWVxdWFydGVycz04MzQ7ZS5TY2VkaWxsYT02Njc7ZS5sY2Fyb249NDAwO2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD01NTY7ZS5JZ3JhdmU9Mjc4O2UuSW1hY3Jvbj0yNzg7ZS5MY2Fyb249NjExO2Uub25laGFsZj04MzQ7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NjExO2UubnRpbGRlPTYxMTtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NTU2O2UuZ2JyZXZlPTYxMTtlLm9uZXF1YXJ0ZXI9ODM0O2UuU2Nhcm9uPTY2NztlLlNjb21tYWFjY2VudD02Njc7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NjExO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT02MTE7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT02MTE7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTUwMDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTI3ODtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01ODQ7ZS5JY2lyY3VtZmxleD0yNzg7ZS5uY2Fyb249NjExO2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTg0O2Uub2RpZXJlc2lzPTYxMTtlLnVkaWVyZXNpcz02MTE7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NjExO2UuZXRoPTYxMTtlLnpjYXJvbj01MDA7ZS5uY29tbWFhY2NlbnQ9NjExO2Uub25lc3VwZXJpb3I9MzMzO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTU1Nn0pKTtlWyJIZWx2ZXRpY2EtT2JsaXF1ZSJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5leGNsYW09Mjc4O2UucXVvdGVkYmw9MzU1O2UubnVtYmVyc2lnbj01NTY7ZS5kb2xsYXI9NTU2O2UucGVyY2VudD04ODk7ZS5hbXBlcnNhbmQ9NjY3O2UucXVvdGVyaWdodD0yMjI7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz0zODk7ZS5wbHVzPTU4NDtlLmNvbW1hPTI3ODtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9Mjc4O2Uuc2xhc2g9Mjc4O2UuemVybz01NTY7ZS5vbmU9NTU2O2UudHdvPTU1NjtlLnRocmVlPTU1NjtlLmZvdXI9NTU2O2UuZml2ZT01NTY7ZS5zaXg9NTU2O2Uuc2V2ZW49NTU2O2UuZWlnaHQ9NTU2O2UubmluZT01NTY7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01ODQ7ZS5lcXVhbD01ODQ7ZS5ncmVhdGVyPTU4NDtlLnF1ZXN0aW9uPTU1NjtlLmF0PTEwMTU7ZS5BPTY2NztlLkI9NjY3O2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTUwMDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9Mjc4O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0yNzg7ZS5hc2NpaWNpcmN1bT00Njk7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yMjI7ZS5hPTU1NjtlLmI9NTU2O2UuYz01MDA7ZS5kPTU1NjtlLmU9NTU2O2UuZj0yNzg7ZS5nPTU1NjtlLmg9NTU2O2UuaT0yMjI7ZS5qPTIyMjtlLms9NTAwO2UubD0yMjI7ZS5tPTgzMztlLm49NTU2O2Uubz01NTY7ZS5wPTU1NjtlLnE9NTU2O2Uucj0zMzM7ZS5zPTUwMDtlLnQ9Mjc4O2UudT01NTY7ZS52PTUwMDtlLnc9NzIyO2UueD01MDA7ZS55PTUwMDtlLno9NTAwO2UuYnJhY2VsZWZ0PTMzNDtlLmJhcj0yNjA7ZS5icmFjZXJpZ2h0PTMzNDtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0xOTE7ZS5xdW90ZWRibGxlZnQ9MzMzO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01Mzc7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MjIyO2UucXVvdGVkYmxiYXNlPTMzMztlLnF1b3RlZGJscmlnaHQ9MzMzO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTIyMjtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NTU2O2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTY2NztlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTAwO2Uuc2NvbW1hYWNjZW50PTUwMDtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTU1NjtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTUwMDtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9MjIyO2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTUwMDtlLnNjZWRpbGxhPTUwMDtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NTU2O2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj02Njc7ZS5yY2Fyb249MzMzO2UuY2NlZGlsbGE9NTAwO2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTY0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NTU2O2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTY2NztlLkFicmV2ZT02Njc7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NTU2O2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz01MDA7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTAwO2UubmFjdXRlPTU1NjtlLnVtYWNyb249NTU2O2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI2MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9MzMzO2Uub21hY3Jvbj01NTY7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTIyMjtlLnRjYXJvbj0zMTc7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTY2NztlLkFkaWVyZXNpcz02Njc7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9MjIyO2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT01NTY7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01MDA7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTU1NjtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT01NTY7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01NTY7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD01NTY7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj0yOTk7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj01NTY7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01NTY7ZS5udGlsZGU9NTU2O2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NTU2O2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01NTY7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTU1NjtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zMzM7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTU1NjtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTY2NztlLkFvZ29uZWs9NjY3O2UuQXJpbmc9NjY3O2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTUwMDtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj01NTY7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NTU2O2UudWRpZXJlc2lzPTU1NjtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01NTY7ZS5ldGg9NTU2O2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD01NTY7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2UuU3ltYm9sPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNTA7ZS5leGNsYW09MzMzO2UudW5pdmVyc2FsPTcxMztlLm51bWJlcnNpZ249NTAwO2UuZXhpc3RlbnRpYWw9NTQ5O2UucGVyY2VudD04MzM7ZS5hbXBlcnNhbmQ9Nzc4O2Uuc3VjaHRoYXQ9NDM5O2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2ttYXRoPTUwMDtlLnBsdXM9NTQ5O2UuY29tbWE9MjUwO2UubWludXM9NTQ5O2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249Mjc4O2Uuc2VtaWNvbG9uPTI3ODtlLmxlc3M9NTQ5O2UuZXF1YWw9NTQ5O2UuZ3JlYXRlcj01NDk7ZS5xdWVzdGlvbj00NDQ7ZS5jb25ncnVlbnQ9NTQ5O2UuQWxwaGE9NzIyO2UuQmV0YT02Njc7ZS5DaGk9NzIyO2UuRGVsdGE9NjEyO2UuRXBzaWxvbj02MTE7ZS5QaGk9NzYzO2UuR2FtbWE9NjAzO2UuRXRhPTcyMjtlLklvdGE9MzMzO2UudGhldGExPTYzMTtlLkthcHBhPTcyMjtlLkxhbWJkYT02ODY7ZS5NdT04ODk7ZS5OdT03MjI7ZS5PbWljcm9uPTcyMjtlLlBpPTc2ODtlLlRoZXRhPTc0MTtlLlJobz01NTY7ZS5TaWdtYT01OTI7ZS5UYXU9NjExO2UuVXBzaWxvbj02OTA7ZS5zaWdtYTE9NDM5O2UuT21lZ2E9NzY4O2UuWGk9NjQ1O2UuUHNpPTc5NTtlLlpldGE9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UudGhlcmVmb3JlPTg2MztlLmJyYWNrZXRyaWdodD0zMzM7ZS5wZXJwZW5kaWN1bGFyPTY1ODtlLnVuZGVyc2NvcmU9NTAwO2UucmFkaWNhbGV4PTUwMDtlLmFscGhhPTYzMTtlLmJldGE9NTQ5O2UuY2hpPTU0OTtlLmRlbHRhPTQ5NDtlLmVwc2lsb249NDM5O2UucGhpPTUyMTtlLmdhbW1hPTQxMTtlLmV0YT02MDM7ZS5pb3RhPTMyOTtlLnBoaTE9NjAzO2Uua2FwcGE9NTQ5O2UubGFtYmRhPTU0OTtlLm11PTU3NjtlLm51PTUyMTtlLm9taWNyb249NTQ5O2UucGk9NTQ5O2UudGhldGE9NTIxO2UucmhvPTU0OTtlLnNpZ21hPTYwMztlLnRhdT00Mzk7ZS51cHNpbG9uPTU3NjtlLm9tZWdhMT03MTM7ZS5vbWVnYT02ODY7ZS54aT00OTM7ZS5wc2k9Njg2O2UuemV0YT00OTQ7ZS5icmFjZWxlZnQ9NDgwO2UuYmFyPTIwMDtlLmJyYWNlcmlnaHQ9NDgwO2Uuc2ltaWxhcj01NDk7ZS5FdXJvPTc1MDtlLlVwc2lsb24xPTYyMDtlLm1pbnV0ZT0yNDc7ZS5sZXNzZXF1YWw9NTQ5O2UuZnJhY3Rpb249MTY3O2UuaW5maW5pdHk9NzEzO2UuZmxvcmluPTUwMDtlLmNsdWI9NzUzO2UuZGlhbW9uZD03NTM7ZS5oZWFydD03NTM7ZS5zcGFkZT03NTM7ZS5hcnJvd2JvdGg9MTA0MjtlLmFycm93bGVmdD05ODc7ZS5hcnJvd3VwPTYwMztlLmFycm93cmlnaHQ9OTg3O2UuYXJyb3dkb3duPTYwMztlLmRlZ3JlZT00MDA7ZS5wbHVzbWludXM9NTQ5O2Uuc2Vjb25kPTQxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5tdWx0aXBseT01NDk7ZS5wcm9wb3J0aW9uYWw9NzEzO2UucGFydGlhbGRpZmY9NDk0O2UuYnVsbGV0PTQ2MDtlLmRpdmlkZT01NDk7ZS5ub3RlcXVhbD01NDk7ZS5lcXVpdmFsZW5jZT01NDk7ZS5hcHByb3hlcXVhbD01NDk7ZS5lbGxpcHNpcz0xZTM7ZS5hcnJvd3ZlcnRleD02MDM7ZS5hcnJvd2hvcml6ZXg9MWUzO2UuY2FycmlhZ2VyZXR1cm49NjU4O2UuYWxlcGg9ODIzO2UuSWZyYWt0dXI9Njg2O2UuUmZyYWt0dXI9Nzk1O2Uud2VpZXJzdHJhc3M9OTg3O2UuY2lyY2xlbXVsdGlwbHk9NzY4O2UuY2lyY2xlcGx1cz03Njg7ZS5lbXB0eXNldD04MjM7ZS5pbnRlcnNlY3Rpb249NzY4O2UudW5pb249NzY4O2UucHJvcGVyc3VwZXJzZXQ9NzEzO2UucmVmbGV4c3VwZXJzZXQ9NzEzO2Uubm90c3Vic2V0PTcxMztlLnByb3BlcnN1YnNldD03MTM7ZS5yZWZsZXhzdWJzZXQ9NzEzO2UuZWxlbWVudD03MTM7ZS5ub3RlbGVtZW50PTcxMztlLmFuZ2xlPTc2ODtlLmdyYWRpZW50PTcxMztlLnJlZ2lzdGVyc2VyaWY9NzkwO2UuY29weXJpZ2h0c2VyaWY9NzkwO2UudHJhZGVtYXJrc2VyaWY9ODkwO2UucHJvZHVjdD04MjM7ZS5yYWRpY2FsPTU0OTtlLmRvdG1hdGg9MjUwO2UubG9naWNhbG5vdD03MTM7ZS5sb2dpY2FsYW5kPTYwMztlLmxvZ2ljYWxvcj02MDM7ZS5hcnJvd2RibGJvdGg9MTA0MjtlLmFycm93ZGJsbGVmdD05ODc7ZS5hcnJvd2RibHVwPTYwMztlLmFycm93ZGJscmlnaHQ9OTg3O2UuYXJyb3dkYmxkb3duPTYwMztlLmxvemVuZ2U9NDk0O2UuYW5nbGVsZWZ0PTMyOTtlLnJlZ2lzdGVyc2Fucz03OTA7ZS5jb3B5cmlnaHRzYW5zPTc5MDtlLnRyYWRlbWFya3NhbnM9Nzg2O2Uuc3VtbWF0aW9uPTcxMztlLnBhcmVubGVmdHRwPTM4NDtlLnBhcmVubGVmdGV4PTM4NDtlLnBhcmVubGVmdGJ0PTM4NDtlLmJyYWNrZXRsZWZ0dHA9Mzg0O2UuYnJhY2tldGxlZnRleD0zODQ7ZS5icmFja2V0bGVmdGJ0PTM4NDtlLmJyYWNlbGVmdHRwPTQ5NDtlLmJyYWNlbGVmdG1pZD00OTQ7ZS5icmFjZWxlZnRidD00OTQ7ZS5icmFjZWV4PTQ5NDtlLmFuZ2xlcmlnaHQ9MzI5O2UuaW50ZWdyYWw9Mjc0O2UuaW50ZWdyYWx0cD02ODY7ZS5pbnRlZ3JhbGV4PTY4NjtlLmludGVncmFsYnQ9Njg2O2UucGFyZW5yaWdodHRwPTM4NDtlLnBhcmVucmlnaHRleD0zODQ7ZS5wYXJlbnJpZ2h0YnQ9Mzg0O2UuYnJhY2tldHJpZ2h0dHA9Mzg0O2UuYnJhY2tldHJpZ2h0ZXg9Mzg0O2UuYnJhY2tldHJpZ2h0YnQ9Mzg0O2UuYnJhY2VyaWdodHRwPTQ5NDtlLmJyYWNlcmlnaHRtaWQ9NDk0O2UuYnJhY2VyaWdodGJ0PTQ5NDtlLmFwcGxlPTc5MH0pKTtlWyJUaW1lcy1Sb21hbiJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNTA7ZS5leGNsYW09MzMzO2UucXVvdGVkYmw9NDA4O2UubnVtYmVyc2lnbj01MDA7ZS5kb2xsYXI9NTAwO2UucGVyY2VudD04MzM7ZS5hbXBlcnNhbmQ9Nzc4O2UucXVvdGVyaWdodD0zMzM7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz01MDA7ZS5wbHVzPTU2NDtlLmNvbW1hPTI1MDtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01NjQ7ZS5lcXVhbD01NjQ7ZS5ncmVhdGVyPTU2NDtlLnF1ZXN0aW9uPTQ0NDtlLmF0PTkyMTtlLkE9NzIyO2UuQj02Njc7ZS5DPTY2NztlLkQ9NzIyO2UuRT02MTE7ZS5GPTU1NjtlLkc9NzIyO2UuSD03MjI7ZS5JPTMzMztlLko9Mzg5O2UuSz03MjI7ZS5MPTYxMTtlLk09ODg5O2UuTj03MjI7ZS5PPTcyMjtlLlA9NTU2O2UuUT03MjI7ZS5SPTY2NztlLlM9NTU2O2UuVD02MTE7ZS5VPTcyMjtlLlY9NzIyO2UuVz05NDQ7ZS5YPTcyMjtlLlk9NzIyO2UuWj02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTMzMztlLmFzY2lpY2lyY3VtPTQ2OTtlLnVuZGVyc2NvcmU9NTAwO2UucXVvdGVsZWZ0PTMzMztlLmE9NDQ0O2UuYj01MDA7ZS5jPTQ0NDtlLmQ9NTAwO2UuZT00NDQ7ZS5mPTMzMztlLmc9NTAwO2UuaD01MDA7ZS5pPTI3ODtlLmo9Mjc4O2Uuaz01MDA7ZS5sPTI3ODtlLm09Nzc4O2Uubj01MDA7ZS5vPTUwMDtlLnA9NTAwO2UucT01MDA7ZS5yPTMzMztlLnM9Mzg5O2UudD0yNzg7ZS51PTUwMDtlLnY9NTAwO2Uudz03MjI7ZS54PTUwMDtlLnk9NTAwO2Uuej00NDQ7ZS5icmFjZWxlZnQ9NDgwO2UuYmFyPTIwMDtlLmJyYWNlcmlnaHQ9NDgwO2UuYXNjaWl0aWxkZT01NDE7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTAwO2Uuc3Rlcmxpbmc9NTAwO2UuZnJhY3Rpb249MTY3O2UueWVuPTUwMDtlLmZsb3Jpbj01MDA7ZS5zZWN0aW9uPTUwMDtlLmN1cnJlbmN5PTUwMDtlLnF1b3Rlc2luZ2xlPTE4MDtlLnF1b3RlZGJsbGVmdD00NDQ7ZS5ndWlsbGVtb3RsZWZ0PTUwMDtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTU2O2UuZmw9NTU2O2UuZW5kYXNoPTUwMDtlLmRhZ2dlcj01MDA7ZS5kYWdnZXJkYmw9NTAwO2UucGVyaW9kY2VudGVyZWQ9MjUwO2UucGFyYWdyYXBoPTQ1MztlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0zMzM7ZS5xdW90ZWRibGJhc2U9NDQ0O2UucXVvdGVkYmxyaWdodD00NDQ7ZS5ndWlsbGVtb3RyaWdodD01MDA7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NDQ0O2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT04ODk7ZS5vcmRmZW1pbmluZT0yNzY7ZS5Mc2xhc2g9NjExO2UuT3NsYXNoPTcyMjtlLk9FPTg4OTtlLm9yZG1hc2N1bGluZT0zMTA7ZS5hZT02Njc7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9Mjc4O2Uub3NsYXNoPTUwMDtlLm9lPTcyMjtlLmdlcm1hbmRibHM9NTAwO2UuSWRpZXJlc2lzPTMzMztlLmVhY3V0ZT00NDQ7ZS5hYnJldmU9NDQ0O2UudWh1bmdhcnVtbGF1dD01MDA7ZS5lY2Fyb249NDQ0O2UuWWRpZXJlc2lzPTcyMjtlLmRpdmlkZT01NjQ7ZS5ZYWN1dGU9NzIyO2UuQWNpcmN1bWZsZXg9NzIyO2UuYWFjdXRlPTQ0NDtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01MDA7ZS5zY29tbWFhY2NlbnQ9Mzg5O2UuZWNpcmN1bWZsZXg9NDQ0O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NDQ0O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTAwO2UuRWRpZXJlc2lzPTYxMTtlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzYwO2UuRW1hY3Jvbj02MTE7ZS5jY2Fyb249NDQ0O2UuYXJpbmc9NDQ0O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yNzg7ZS5hZ3JhdmU9NDQ0O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT02Njc7ZS5hdGlsZGU9NDQ0O2UuRWRvdGFjY2VudD02MTE7ZS5zY2Fyb249Mzg5O2Uuc2NlZGlsbGE9Mzg5O2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDcxO2UuUmNhcm9uPTY2NztlLkdjb21tYWFjY2VudD03MjI7ZS51Y2lyY3VtZmxleD01MDA7ZS5hY2lyY3VtZmxleD00NDQ7ZS5BbWFjcm9uPTcyMjtlLnJjYXJvbj0zMzM7ZS5jY2VkaWxsYT00NDQ7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTU1NjtlLk9tYWNyb249NzIyO2UuUmFjdXRlPTY2NztlLlNhY3V0ZT01NTY7ZS5kY2Fyb249NTg4O2UuVW1hY3Jvbj03MjI7ZS51cmluZz01MDA7ZS50aHJlZXN1cGVyaW9yPTMwMDtlLk9ncmF2ZT03MjI7ZS5BZ3JhdmU9NzIyO2UuQWJyZXZlPTcyMjtlLm11bHRpcGx5PTU2NDtlLnVhY3V0ZT01MDA7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDc2O2UueWRpZXJlc2lzPTUwMDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02MTE7ZS5hZGllcmVzaXM9NDQ0O2UuZWRpZXJlc2lzPTQ0NDtlLmNhY3V0ZT00NDQ7ZS5uYWN1dGU9NTAwO2UudW1hY3Jvbj01MDA7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTMzMztlLnBsdXNtaW51cz01NjQ7ZS5icm9rZW5iYXI9MjAwO2UucmVnaXN0ZXJlZD03NjA7ZS5HYnJldmU9NzIyO2UuSWRvdGFjY2VudD0zMzM7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTYxMTtlLnJhY3V0ZT0zMzM7ZS5vbWFjcm9uPTUwMDtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT02Njc7ZS5sY29tbWFhY2NlbnQ9Mjc4O2UudGNhcm9uPTMyNjtlLmVvZ29uZWs9NDQ0O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NzIyO2UuQWRpZXJlc2lzPTcyMjtlLmVncmF2ZT00NDQ7ZS56YWN1dGU9NDQ0O2UuaW9nb25laz0yNzg7ZS5PYWN1dGU9NzIyO2Uub2FjdXRlPTUwMDtlLmFtYWNyb249NDQ0O2Uuc2FjdXRlPTM4OTtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03MjI7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTAwO2UudHdvc3VwZXJpb3I9MzAwO2UuT2RpZXJlc2lzPTcyMjtlLm11PTUwMDtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTUwMDtlLkVvZ29uZWs9NjExO2UuZGNyb2F0PTUwMDtlLnRocmVlcXVhcnRlcnM9NzUwO2UuU2NlZGlsbGE9NTU2O2UubGNhcm9uPTM0NDtlLktjb21tYWFjY2VudD03MjI7ZS5MYWN1dGU9NjExO2UudHJhZGVtYXJrPTk4MDtlLmVkb3RhY2NlbnQ9NDQ0O2UuSWdyYXZlPTMzMztlLkltYWNyb249MzMzO2UuTGNhcm9uPTYxMTtlLm9uZWhhbGY9NzUwO2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTUwMDtlLm50aWxkZT01MDA7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02MTE7ZS5lbWFjcm9uPTQ0NDtlLmdicmV2ZT01MDA7ZS5vbmVxdWFydGVyPTc1MDtlLlNjYXJvbj01NTY7ZS5TY29tbWFhY2NlbnQ9NTU2O2UuT2h1bmdhcnVtbGF1dD03MjI7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTUwMDtlLkNjYXJvbj02Njc7ZS51Z3JhdmU9NTAwO2UucmFkaWNhbD00NTM7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTMzMztlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTAwO2UuUmNvbW1hYWNjZW50PTY2NztlLkxjb21tYWFjY2VudD02MTE7ZS5BdGlsZGU9NzIyO2UuQW9nb25laz03MjI7ZS5BcmluZz03MjI7ZS5PdGlsZGU9NzIyO2UuemRvdGFjY2VudD00NDQ7ZS5FY2Fyb249NjExO2UuSW9nb25laz0zMzM7ZS5rY29tbWFhY2NlbnQ9NTAwO2UubWludXM9NTY0O2UuSWNpcmN1bWZsZXg9MzMzO2UubmNhcm9uPTUwMDtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTU2NDtlLm9kaWVyZXNpcz01MDA7ZS51ZGllcmVzaXM9NTAwO2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTUwMDtlLmV0aD01MDA7ZS56Y2Fyb249NDQ0O2UubmNvbW1hYWNjZW50PTUwMDtlLm9uZXN1cGVyaW9yPTMwMDtlLmltYWNyb249Mjc4O2UuRXVybz01MDB9KSk7ZVsiVGltZXMtQm9sZCJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNTA7ZS5leGNsYW09MzMzO2UucXVvdGVkYmw9NTU1O2UubnVtYmVyc2lnbj01MDA7ZS5kb2xsYXI9NTAwO2UucGVyY2VudD0xZTM7ZS5hbXBlcnNhbmQ9ODMzO2UucXVvdGVyaWdodD0zMzM7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz01MDA7ZS5wbHVzPTU3MDtlLmNvbW1hPTI1MDtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0zMzM7ZS5zZW1pY29sb249MzMzO2UubGVzcz01NzA7ZS5lcXVhbD01NzA7ZS5ncmVhdGVyPTU3MDtlLnF1ZXN0aW9uPTUwMDtlLmF0PTkzMDtlLkE9NzIyO2UuQj02Njc7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03Nzg7ZS5JPTM4OTtlLko9NTAwO2UuSz03Nzg7ZS5MPTY2NztlLk09OTQ0O2UuTj03MjI7ZS5PPTc3ODtlLlA9NjExO2UuUT03Nzg7ZS5SPTcyMjtlLlM9NTU2O2UuVD02Njc7ZS5VPTcyMjtlLlY9NzIyO2UuVz0xZTM7ZS5YPTcyMjtlLlk9NzIyO2UuWj02Njc7ZS5icmFja2V0bGVmdD0zMzM7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTMzMztlLmFzY2lpY2lyY3VtPTU4MTtlLnVuZGVyc2NvcmU9NTAwO2UucXVvdGVsZWZ0PTMzMztlLmE9NTAwO2UuYj01NTY7ZS5jPTQ0NDtlLmQ9NTU2O2UuZT00NDQ7ZS5mPTMzMztlLmc9NTAwO2UuaD01NTY7ZS5pPTI3ODtlLmo9MzMzO2Uuaz01NTY7ZS5sPTI3ODtlLm09ODMzO2Uubj01NTY7ZS5vPTUwMDtlLnA9NTU2O2UucT01NTY7ZS5yPTQ0NDtlLnM9Mzg5O2UudD0zMzM7ZS51PTU1NjtlLnY9NTAwO2Uudz03MjI7ZS54PTUwMDtlLnk9NTAwO2Uuej00NDQ7ZS5icmFjZWxlZnQ9Mzk0O2UuYmFyPTIyMDtlLmJyYWNlcmlnaHQ9Mzk0O2UuYXNjaWl0aWxkZT01MjA7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTAwO2Uuc3Rlcmxpbmc9NTAwO2UuZnJhY3Rpb249MTY3O2UueWVuPTUwMDtlLmZsb3Jpbj01MDA7ZS5zZWN0aW9uPTUwMDtlLmN1cnJlbmN5PTUwMDtlLnF1b3Rlc2luZ2xlPTI3ODtlLnF1b3RlZGJsbGVmdD01MDA7ZS5ndWlsbGVtb3RsZWZ0PTUwMDtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTU2O2UuZmw9NTU2O2UuZW5kYXNoPTUwMDtlLmRhZ2dlcj01MDA7ZS5kYWdnZXJkYmw9NTAwO2UucGVyaW9kY2VudGVyZWQ9MjUwO2UucGFyYWdyYXBoPTU0MDtlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0zMzM7ZS5xdW90ZWRibGJhc2U9NTAwO2UucXVvdGVkYmxyaWdodD01MDA7ZS5ndWlsbGVtb3RyaWdodD01MDA7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NTAwO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zMDA7ZS5Mc2xhc2g9NjY3O2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zMzA7ZS5hZT03MjI7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9Mjc4O2Uub3NsYXNoPTUwMDtlLm9lPTcyMjtlLmdlcm1hbmRibHM9NTU2O2UuSWRpZXJlc2lzPTM4OTtlLmVhY3V0ZT00NDQ7ZS5hYnJldmU9NTAwO2UudWh1bmdhcnVtbGF1dD01NTY7ZS5lY2Fyb249NDQ0O2UuWWRpZXJlc2lzPTcyMjtlLmRpdmlkZT01NzA7ZS5ZYWN1dGU9NzIyO2UuQWNpcmN1bWZsZXg9NzIyO2UuYWFjdXRlPTUwMDtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01MDA7ZS5zY29tbWFhY2NlbnQ9Mzg5O2UuZWNpcmN1bWZsZXg9NDQ0O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTAwO2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTU2O2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzQ3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NDQ0O2UuYXJpbmc9NTAwO2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yNzg7ZS5hZ3JhdmU9NTAwO2UuVGNvbW1hYWNjZW50PTY2NztlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTAwO2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249Mzg5O2Uuc2NlZGlsbGE9Mzg5O2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDk0O2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD01NTY7ZS5hY2lyY3VtZmxleD01MDA7ZS5BbWFjcm9uPTcyMjtlLnJjYXJvbj00NDQ7ZS5jY2VkaWxsYT00NDQ7ZS5aZG90YWNjZW50PTY2NztlLlRob3JuPTYxMTtlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT01NTY7ZS5kY2Fyb249NjcyO2UuVW1hY3Jvbj03MjI7ZS51cmluZz01NTY7ZS50aHJlZXN1cGVyaW9yPTMwMDtlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NzIyO2UuQWJyZXZlPTcyMjtlLm11bHRpcGx5PTU3MDtlLnVhY3V0ZT01NTY7ZS5UY2Fyb249NjY3O2UucGFydGlhbGRpZmY9NDk0O2UueWRpZXJlc2lzPTUwMDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTAwO2UuZWRpZXJlc2lzPTQ0NDtlLmNhY3V0ZT00NDQ7ZS5uYWN1dGU9NTU2O2UudW1hY3Jvbj01NTY7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTM4OTtlLnBsdXNtaW51cz01NzA7ZS5icm9rZW5iYXI9MjIwO2UucmVnaXN0ZXJlZD03NDc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0zODk7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT00NDQ7ZS5vbWFjcm9uPTUwMDtlLlphY3V0ZT02Njc7ZS5aY2Fyb249NjY3O2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9Mjc4O2UudGNhcm9uPTQxNjtlLmVvZ29uZWs9NDQ0O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NzIyO2UuQWRpZXJlc2lzPTcyMjtlLmVncmF2ZT00NDQ7ZS56YWN1dGU9NDQ0O2UuaW9nb25laz0yNzg7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTUwMDtlLmFtYWNyb249NTAwO2Uuc2FjdXRlPTM4OTtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTU2O2UudHdvc3VwZXJpb3I9MzAwO2UuT2RpZXJlc2lzPTc3ODtlLm11PTU1NjtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTUwMDtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTU1NjtlLnRocmVlcXVhcnRlcnM9NzUwO2UuU2NlZGlsbGE9NTU2O2UubGNhcm9uPTM5NDtlLktjb21tYWFjY2VudD03Nzg7ZS5MYWN1dGU9NjY3O2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NDQ0O2UuSWdyYXZlPTM4OTtlLkltYWNyb249Mzg5O2UuTGNhcm9uPTY2NztlLm9uZWhhbGY9NzUwO2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTUwMDtlLm50aWxkZT01NTY7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTQ0NDtlLmdicmV2ZT01MDA7ZS5vbmVxdWFydGVyPTc1MDtlLlNjYXJvbj01NTY7ZS5TY29tbWFhY2NlbnQ9NTU2O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTUwMDtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NTU2O2UucmFkaWNhbD01NDk7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTQ0NDtlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTAwO2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD02Njc7ZS5BdGlsZGU9NzIyO2UuQW9nb25laz03MjI7ZS5BcmluZz03MjI7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD00NDQ7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0zODk7ZS5rY29tbWFhY2NlbnQ9NTU2O2UubWludXM9NTcwO2UuSWNpcmN1bWZsZXg9Mzg5O2UubmNhcm9uPTU1NjtlLnRjb21tYWFjY2VudD0zMzM7ZS5sb2dpY2Fsbm90PTU3MDtlLm9kaWVyZXNpcz01MDA7ZS51ZGllcmVzaXM9NTU2O2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTUwMDtlLmV0aD01MDA7ZS56Y2Fyb249NDQ0O2UubmNvbW1hYWNjZW50PTU1NjtlLm9uZXN1cGVyaW9yPTMwMDtlLmltYWNyb249Mjc4O2UuRXVybz01MDB9KSk7ZVsiVGltZXMtQm9sZEl0YWxpYyJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNTA7ZS5leGNsYW09Mzg5O2UucXVvdGVkYmw9NTU1O2UubnVtYmVyc2lnbj01MDA7ZS5kb2xsYXI9NTAwO2UucGVyY2VudD04MzM7ZS5hbXBlcnNhbmQ9Nzc4O2UucXVvdGVyaWdodD0zMzM7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz01MDA7ZS5wbHVzPTU3MDtlLmNvbW1hPTI1MDtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0zMzM7ZS5zZW1pY29sb249MzMzO2UubGVzcz01NzA7ZS5lcXVhbD01NzA7ZS5ncmVhdGVyPTU3MDtlLnF1ZXN0aW9uPTUwMDtlLmF0PTgzMjtlLkE9NjY3O2UuQj02Njc7ZS5DPTY2NztlLkQ9NzIyO2UuRT02Njc7ZS5GPTY2NztlLkc9NzIyO2UuSD03Nzg7ZS5JPTM4OTtlLko9NTAwO2UuSz02Njc7ZS5MPTYxMTtlLk09ODg5O2UuTj03MjI7ZS5PPTcyMjtlLlA9NjExO2UuUT03MjI7ZS5SPTY2NztlLlM9NTU2O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz04ODk7ZS5YPTY2NztlLlk9NjExO2UuWj02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTMzMztlLmFzY2lpY2lyY3VtPTU3MDtlLnVuZGVyc2NvcmU9NTAwO2UucXVvdGVsZWZ0PTMzMztlLmE9NTAwO2UuYj01MDA7ZS5jPTQ0NDtlLmQ9NTAwO2UuZT00NDQ7ZS5mPTMzMztlLmc9NTAwO2UuaD01NTY7ZS5pPTI3ODtlLmo9Mjc4O2Uuaz01MDA7ZS5sPTI3ODtlLm09Nzc4O2Uubj01NTY7ZS5vPTUwMDtlLnA9NTAwO2UucT01MDA7ZS5yPTM4OTtlLnM9Mzg5O2UudD0yNzg7ZS51PTU1NjtlLnY9NDQ0O2Uudz02Njc7ZS54PTUwMDtlLnk9NDQ0O2Uuej0zODk7ZS5icmFjZWxlZnQ9MzQ4O2UuYmFyPTIyMDtlLmJyYWNlcmlnaHQ9MzQ4O2UuYXNjaWl0aWxkZT01NzA7ZS5leGNsYW1kb3duPTM4OTtlLmNlbnQ9NTAwO2Uuc3Rlcmxpbmc9NTAwO2UuZnJhY3Rpb249MTY3O2UueWVuPTUwMDtlLmZsb3Jpbj01MDA7ZS5zZWN0aW9uPTUwMDtlLmN1cnJlbmN5PTUwMDtlLnF1b3Rlc2luZ2xlPTI3ODtlLnF1b3RlZGJsbGVmdD01MDA7ZS5ndWlsbGVtb3RsZWZ0PTUwMDtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTU2O2UuZmw9NTU2O2UuZW5kYXNoPTUwMDtlLmRhZ2dlcj01MDA7ZS5kYWdnZXJkYmw9NTAwO2UucGVyaW9kY2VudGVyZWQ9MjUwO2UucGFyYWdyYXBoPTUwMDtlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0zMzM7ZS5xdW90ZWRibGJhc2U9NTAwO2UucXVvdGVkYmxyaWdodD01MDA7ZS5ndWlsbGVtb3RyaWdodD01MDA7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NTAwO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT05NDQ7ZS5vcmRmZW1pbmluZT0yNjY7ZS5Mc2xhc2g9NjExO2UuT3NsYXNoPTcyMjtlLk9FPTk0NDtlLm9yZG1hc2N1bGluZT0zMDA7ZS5hZT03MjI7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9Mjc4O2Uub3NsYXNoPTUwMDtlLm9lPTcyMjtlLmdlcm1hbmRibHM9NTAwO2UuSWRpZXJlc2lzPTM4OTtlLmVhY3V0ZT00NDQ7ZS5hYnJldmU9NTAwO2UudWh1bmdhcnVtbGF1dD01NTY7ZS5lY2Fyb249NDQ0O2UuWWRpZXJlc2lzPTYxMTtlLmRpdmlkZT01NzA7ZS5ZYWN1dGU9NjExO2UuQWNpcmN1bWZsZXg9NjY3O2UuYWFjdXRlPTUwMDtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT00NDQ7ZS5zY29tbWFhY2NlbnQ9Mzg5O2UuZWNpcmN1bWZsZXg9NDQ0O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTAwO2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTU2O2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzQ3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NDQ0O2UuYXJpbmc9NTAwO2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yNzg7ZS5hZ3JhdmU9NTAwO2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT02Njc7ZS5hdGlsZGU9NTAwO2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249Mzg5O2Uuc2NlZGlsbGE9Mzg5O2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDk0O2UuUmNhcm9uPTY2NztlLkdjb21tYWFjY2VudD03MjI7ZS51Y2lyY3VtZmxleD01NTY7ZS5hY2lyY3VtZmxleD01MDA7ZS5BbWFjcm9uPTY2NztlLnJjYXJvbj0zODk7ZS5jY2VkaWxsYT00NDQ7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTYxMTtlLk9tYWNyb249NzIyO2UuUmFjdXRlPTY2NztlLlNhY3V0ZT01NTY7ZS5kY2Fyb249NjA4O2UuVW1hY3Jvbj03MjI7ZS51cmluZz01NTY7ZS50aHJlZXN1cGVyaW9yPTMwMDtlLk9ncmF2ZT03MjI7ZS5BZ3JhdmU9NjY3O2UuQWJyZXZlPTY2NztlLm11bHRpcGx5PTU3MDtlLnVhY3V0ZT01NTY7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDk0O2UueWRpZXJlc2lzPTQ0NDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTAwO2UuZWRpZXJlc2lzPTQ0NDtlLmNhY3V0ZT00NDQ7ZS5uYWN1dGU9NTU2O2UudW1hY3Jvbj01NTY7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTM4OTtlLnBsdXNtaW51cz01NzA7ZS5icm9rZW5iYXI9MjIwO2UucmVnaXN0ZXJlZD03NDc7ZS5HYnJldmU9NzIyO2UuSWRvdGFjY2VudD0zODk7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zODk7ZS5vbWFjcm9uPTUwMDtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT02Njc7ZS5sY29tbWFhY2NlbnQ9Mjc4O2UudGNhcm9uPTM2NjtlLmVvZ29uZWs9NDQ0O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NjY3O2UuQWRpZXJlc2lzPTY2NztlLmVncmF2ZT00NDQ7ZS56YWN1dGU9Mzg5O2UuaW9nb25laz0yNzg7ZS5PYWN1dGU9NzIyO2Uub2FjdXRlPTUwMDtlLmFtYWNyb249NTAwO2Uuc2FjdXRlPTM4OTtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03MjI7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTAwO2UudHdvc3VwZXJpb3I9MzAwO2UuT2RpZXJlc2lzPTcyMjtlLm11PTU3NjtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTUwMDtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTUwMDtlLnRocmVlcXVhcnRlcnM9NzUwO2UuU2NlZGlsbGE9NTU2O2UubGNhcm9uPTM4MjtlLktjb21tYWFjY2VudD02Njc7ZS5MYWN1dGU9NjExO2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NDQ0O2UuSWdyYXZlPTM4OTtlLkltYWNyb249Mzg5O2UuTGNhcm9uPTYxMTtlLm9uZWhhbGY9NzUwO2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTUwMDtlLm50aWxkZT01NTY7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTQ0NDtlLmdicmV2ZT01MDA7ZS5vbmVxdWFydGVyPTc1MDtlLlNjYXJvbj01NTY7ZS5TY29tbWFhY2NlbnQ9NTU2O2UuT2h1bmdhcnVtbGF1dD03MjI7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTUwMDtlLkNjYXJvbj02Njc7ZS51Z3JhdmU9NTU2O2UucmFkaWNhbD01NDk7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTM4OTtlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTAwO2UuUmNvbW1hYWNjZW50PTY2NztlLkxjb21tYWFjY2VudD02MTE7ZS5BdGlsZGU9NjY3O2UuQW9nb25laz02Njc7ZS5BcmluZz02Njc7ZS5PdGlsZGU9NzIyO2UuemRvdGFjY2VudD0zODk7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0zODk7ZS5rY29tbWFhY2NlbnQ9NTAwO2UubWludXM9NjA2O2UuSWNpcmN1bWZsZXg9Mzg5O2UubmNhcm9uPTU1NjtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTYwNjtlLm9kaWVyZXNpcz01MDA7ZS51ZGllcmVzaXM9NTU2O2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTUwMDtlLmV0aD01MDA7ZS56Y2Fyb249Mzg5O2UubmNvbW1hYWNjZW50PTU1NjtlLm9uZXN1cGVyaW9yPTMwMDtlLmltYWNyb249Mjc4O2UuRXVybz01MDB9KSk7ZVsiVGltZXMtSXRhbGljIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00MjA7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9Njc1O2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTY3NTtlLmVxdWFsPTY3NTtlLmdyZWF0ZXI9Njc1O2UucXVlc3Rpb249NTAwO2UuYXQ9OTIwO2UuQT02MTE7ZS5CPTYxMTtlLkM9NjY3O2UuRD03MjI7ZS5FPTYxMTtlLkY9NjExO2UuRz03MjI7ZS5IPTcyMjtlLkk9MzMzO2UuSj00NDQ7ZS5LPTY2NztlLkw9NTU2O2UuTT04MzM7ZS5OPTY2NztlLk89NzIyO2UuUD02MTE7ZS5RPTcyMjtlLlI9NjExO2UuUz01MDA7ZS5UPTU1NjtlLlU9NzIyO2UuVj02MTE7ZS5XPTgzMztlLlg9NjExO2UuWT01NTY7ZS5aPTU1NjtlLmJyYWNrZXRsZWZ0PTM4OTtlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9Mzg5O2UuYXNjaWljaXJjdW09NDIyO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9Mjc4O2UuZz01MDA7ZS5oPTUwMDtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTQ0NDtlLmw9Mjc4O2UubT03MjI7ZS5uPTUwMDtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9Mzg5O2Uucz0zODk7ZS50PTI3ODtlLnU9NTAwO2Uudj00NDQ7ZS53PTY2NztlLng9NDQ0O2UueT00NDQ7ZS56PTM4OTtlLmJyYWNlbGVmdD00MDA7ZS5iYXI9Mjc1O2UuYnJhY2VyaWdodD00MDA7ZS5hc2NpaXRpbGRlPTU0MTtlLmV4Y2xhbWRvd249Mzg5O2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9MjE0O2UucXVvdGVkYmxsZWZ0PTU1NjtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01MDA7ZS5mbD01MDA7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTIzO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01NTY7ZS5xdW90ZWRibHJpZ2h0PTU1NjtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTg4OTtlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTg4OTtlLkFFPTg4OTtlLm9yZGZlbWluaW5lPTI3NjtlLkxzbGFzaD01NTY7ZS5Pc2xhc2g9NzIyO2UuT0U9OTQ0O2Uub3JkbWFzY3VsaW5lPTMxMDtlLmFlPTY2NztlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NjY3O2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9MzMzO2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTUwMDtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NTU2O2UuZGl2aWRlPTY3NTtlLllhY3V0ZT01NTY7ZS5BY2lyY3VtZmxleD02MTE7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTQ0NDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01MDA7ZS5FZGllcmVzaXM9NjExO2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NjA7ZS5FbWFjcm9uPTYxMTtlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NjY3O2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NTU2O2UuQ2FjdXRlPTY2NztlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTYxMTtlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00NzE7ZS5SY2Fyb249NjExO2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTUwMDtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NjExO2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NTU2O2UuVGhvcm49NjExO2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjExO2UuU2FjdXRlPTUwMDtlLmRjYXJvbj01NDQ7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTUwMDtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT02MTE7ZS5BYnJldmU9NjExO2UubXVsdGlwbHk9Njc1O2UudWFjdXRlPTUwMDtlLlRjYXJvbj01NTY7ZS5wYXJ0aWFsZGlmZj00NzY7ZS55ZGllcmVzaXM9NDQ0O2UuTmFjdXRlPTY2NztlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTYxMTtlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01MDA7ZS51bWFjcm9uPTUwMDtlLk5jYXJvbj02Njc7ZS5JYWN1dGU9MzMzO2UucGx1c21pbnVzPTY3NTtlLmJyb2tlbmJhcj0yNzU7ZS5yZWdpc3RlcmVkPTc2MDtlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTMzMztlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjExO2UucmFjdXRlPTM4OTtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTU1NjtlLlpjYXJvbj01NTY7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzAwO2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT02MTE7ZS5BZGllcmVzaXM9NjExO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT0zODk7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTAwO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02MTE7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01MDA7ZS5sY2Fyb249MzAwO2UuS2NvbW1hYWNjZW50PTY2NztlLkxhY3V0ZT01NTY7ZS50cmFkZW1hcms9OTgwO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9MzMzO2UuSW1hY3Jvbj0zMzM7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTUwMDtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTYxMTtlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTUwMDtlLlNjb21tYWFjY2VudD01MDA7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01MDA7ZS5yYWRpY2FsPTQ1MztlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTY2NztlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjExO2UuTGNvbW1hYWNjZW50PTU1NjtlLkF0aWxkZT02MTE7ZS5Bb2dvbmVrPTYxMTtlLkFyaW5nPTYxMTtlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTM4OTtlLkVjYXJvbj02MTE7ZS5Jb2dvbmVrPTMzMztlLmtjb21tYWFjY2VudD00NDQ7ZS5taW51cz02NzU7ZS5JY2lyY3VtZmxleD0zMzM7ZS5uY2Fyb249NTAwO2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9Njc1O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01MDA7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj0zODk7ZS5uY29tbWFhY2NlbnQ9NTAwO2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlLlphcGZEaW5nYmF0cz1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuYTE9OTc0O2UuYTI9OTYxO2UuYTIwMj05NzQ7ZS5hMz05ODA7ZS5hND03MTk7ZS5hNT03ODk7ZS5hMTE5PTc5MDtlLmExMTg9NzkxO2UuYTExNz02OTA7ZS5hMTE9OTYwO2UuYTEyPTkzOTtlLmExMz01NDk7ZS5hMTQ9ODU1O2UuYTE1PTkxMTtlLmExNj05MzM7ZS5hMTA1PTkxMTtlLmExNz05NDU7ZS5hMTg9OTc0O2UuYTE5PTc1NTtlLmEyMD04NDY7ZS5hMjE9NzYyO2UuYTIyPTc2MTtlLmEyMz01NzE7ZS5hMjQ9Njc3O2UuYTI1PTc2MztlLmEyNj03NjA7ZS5hMjc9NzU5O2UuYTI4PTc1NDtlLmE2PTQ5NDtlLmE3PTU1MjtlLmE4PTUzNztlLmE5PTU3NztlLmExMD02OTI7ZS5hMjk9Nzg2O2UuYTMwPTc4ODtlLmEzMT03ODg7ZS5hMzI9NzkwO2UuYTMzPTc5MztlLmEzND03OTQ7ZS5hMzU9ODE2O2UuYTM2PTgyMztlLmEzNz03ODk7ZS5hMzg9ODQxO2UuYTM5PTgyMztlLmE0MD04MzM7ZS5hNDE9ODE2O2UuYTQyPTgzMTtlLmE0Mz05MjM7ZS5hNDQ9NzQ0O2UuYTQ1PTcyMztlLmE0Nj03NDk7ZS5hNDc9NzkwO2UuYTQ4PTc5MjtlLmE0OT02OTU7ZS5hNTA9Nzc2O2UuYTUxPTc2ODtlLmE1Mj03OTI7ZS5hNTM9NzU5O2UuYTU0PTcwNztlLmE1NT03MDg7ZS5hNTY9NjgyO2UuYTU3PTcwMTtlLmE1OD04MjY7ZS5hNTk9ODE1O2UuYTYwPTc4OTtlLmE2MT03ODk7ZS5hNjI9NzA3O2UuYTYzPTY4NztlLmE2ND02OTY7ZS5hNjU9Njg5O2UuYTY2PTc4NjtlLmE2Nz03ODc7ZS5hNjg9NzEzO2UuYTY5PTc5MTtlLmE3MD03ODU7ZS5hNzE9NzkxO2UuYTcyPTg3MztlLmE3Mz03NjE7ZS5hNzQ9NzYyO2UuYTIwMz03NjI7ZS5hNzU9NzU5O2UuYTIwND03NTk7ZS5hNzY9ODkyO2UuYTc3PTg5MjtlLmE3OD03ODg7ZS5hNzk9Nzg0O2UuYTgxPTQzODtlLmE4Mj0xMzg7ZS5hODM9Mjc3O2UuYTg0PTQxNTtlLmE5Nz0zOTI7ZS5hOTg9MzkyO2UuYTk5PTY2ODtlLmExMDA9NjY4O2UuYTg5PTM5MDtlLmE5MD0zOTA7ZS5hOTM9MzE3O2UuYTk0PTMxNztlLmE5MT0yNzY7ZS5hOTI9Mjc2O2UuYTIwNT01MDk7ZS5hODU9NTA5O2UuYTIwNj00MTA7ZS5hODY9NDEwO2UuYTg3PTIzNDtlLmE4OD0yMzQ7ZS5hOTU9MzM0O2UuYTk2PTMzNDtlLmExMDE9NzMyO2UuYTEwMj01NDQ7ZS5hMTAzPTU0NDtlLmExMDQ9OTEwO2UuYTEwNj02Njc7ZS5hMTA3PTc2MDtlLmExMDg9NzYwO2UuYTExMj03NzY7ZS5hMTExPTU5NTtlLmExMTA9Njk0O2UuYTEwOT02MjY7ZS5hMTIwPTc4ODtlLmExMjE9Nzg4O2UuYTEyMj03ODg7ZS5hMTIzPTc4ODtlLmExMjQ9Nzg4O2UuYTEyNT03ODg7ZS5hMTI2PTc4ODtlLmExMjc9Nzg4O2UuYTEyOD03ODg7ZS5hMTI5PTc4ODtlLmExMzA9Nzg4O2UuYTEzMT03ODg7ZS5hMTMyPTc4ODtlLmExMzM9Nzg4O2UuYTEzND03ODg7ZS5hMTM1PTc4ODtlLmExMzY9Nzg4O2UuYTEzNz03ODg7ZS5hMTM4PTc4ODtlLmExMzk9Nzg4O2UuYTE0MD03ODg7ZS5hMTQxPTc4ODtlLmExNDI9Nzg4O2UuYTE0Mz03ODg7ZS5hMTQ0PTc4ODtlLmExNDU9Nzg4O2UuYTE0Nj03ODg7ZS5hMTQ3PTc4ODtlLmExNDg9Nzg4O2UuYTE0OT03ODg7ZS5hMTUwPTc4ODtlLmExNTE9Nzg4O2UuYTE1Mj03ODg7ZS5hMTUzPTc4ODtlLmExNTQ9Nzg4O2UuYTE1NT03ODg7ZS5hMTU2PTc4ODtlLmExNTc9Nzg4O2UuYTE1OD03ODg7ZS5hMTU5PTc4ODtlLmExNjA9ODk0O2UuYTE2MT04Mzg7ZS5hMTYzPTEwMTY7ZS5hMTY0PTQ1ODtlLmExOTY9NzQ4O2UuYTE2NT05MjQ7ZS5hMTkyPTc0ODtlLmExNjY9OTE4O2UuYTE2Nz05Mjc7ZS5hMTY4PTkyODtlLmExNjk9OTI4O2UuYTE3MD04MzQ7ZS5hMTcxPTg3MztlLmExNzI9ODI4O2UuYTE3Mz05MjQ7ZS5hMTYyPTkyNDtlLmExNzQ9OTE3O2UuYTE3NT05MzA7ZS5hMTc2PTkzMTtlLmExNzc9NDYzO2UuYTE3OD04ODM7ZS5hMTc5PTgzNjtlLmExOTM9ODM2O2UuYTE4MD04Njc7ZS5hMTk5PTg2NztlLmExODE9Njk2O2UuYTIwMD02OTY7ZS5hMTgyPTg3NDtlLmEyMDE9ODc0O2UuYTE4Mz03NjA7ZS5hMTg0PTk0NjtlLmExOTc9NzcxO2UuYTE4NT04NjU7ZS5hMTk0PTc3MTtlLmExOTg9ODg4O2UuYTE4Nj05Njc7ZS5hMTk1PTg4ODtlLmExODc9ODMxO2UuYTE4OD04NzM7ZS5hMTg5PTkyNztlLmExOTA9OTcwO2UuYTE5MT05MTh9KSl9KSksYWE9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNvdXJpZXI9e2FzY2VudDo2MjksZGVzY2VudDotMTU3LGNhcEhlaWdodDo1NjIseEhlaWdodDotNDI2fTtlWyJDb3VyaWVyLUJvbGQiXT17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0OjQzOX07ZVsiQ291cmllci1PYmxpcXVlIl09e2FzY2VudDo2MjksZGVzY2VudDotMTU3LGNhcEhlaWdodDo1NjIseEhlaWdodDo0MjZ9O2VbIkNvdXJpZXItQm9sZE9ibGlxdWUiXT17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0OjQyNn07ZS5IZWx2ZXRpY2E9e2FzY2VudDo3MTgsZGVzY2VudDotMjA3LGNhcEhlaWdodDo3MTgseEhlaWdodDo1MjN9O2VbIkhlbHZldGljYS1Cb2xkIl09e2FzY2VudDo3MTgsZGVzY2VudDotMjA3LGNhcEhlaWdodDo3MTgseEhlaWdodDo1MzJ9O2VbIkhlbHZldGljYS1PYmxpcXVlIl09e2FzY2VudDo3MTgsZGVzY2VudDotMjA3LGNhcEhlaWdodDo3MTgseEhlaWdodDo1MjN9O2VbIkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJdPXthc2NlbnQ6NzE4LGRlc2NlbnQ6LTIwNyxjYXBIZWlnaHQ6NzE4LHhIZWlnaHQ6NTMyfTtlWyJUaW1lcy1Sb21hbiJdPXthc2NlbnQ6NjgzLGRlc2NlbnQ6LTIxNyxjYXBIZWlnaHQ6NjYyLHhIZWlnaHQ6NDUwfTtlWyJUaW1lcy1Cb2xkIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NzYseEhlaWdodDo0NjF9O2VbIlRpbWVzLUl0YWxpYyJdPXthc2NlbnQ6NjgzLGRlc2NlbnQ6LTIxNyxjYXBIZWlnaHQ6NjUzLHhIZWlnaHQ6NDQxfTtlWyJUaW1lcy1Cb2xkSXRhbGljIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NjkseEhlaWdodDo0NjJ9O2UuU3ltYm9sPXthc2NlbnQ6TWF0aC5OYU4sZGVzY2VudDpNYXRoLk5hTixjYXBIZWlnaHQ6TWF0aC5OYU4seEhlaWdodDpNYXRoLk5hTn07ZS5aYXBmRGluZ2JhdHM9e2FzY2VudDpNYXRoLk5hTixkZXNjZW50Ok1hdGguTmFOLGNhcEhlaWdodDpNYXRoLk5hTix4SGVpZ2h0Ok1hdGguTmFOfX0pKTtjbGFzcyBHbHlmVGFibGV7Y29uc3RydWN0b3Ioe2dseWZUYWJsZTplLGlzR2x5cGhMb2NhdGlvbnNMb25nOnQsbG9jYVRhYmxlOmksbnVtR2x5cGhzOmF9KXt0aGlzLmdseXBocz1bXTtjb25zdCBzPW5ldyBEYXRhVmlldyhpLmJ1ZmZlcixpLmJ5dGVPZmZzZXQsaS5ieXRlTGVuZ3RoKSxyPW5ldyBEYXRhVmlldyhlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKSxuPXQ/NDoyO2xldCBnPXQ/cy5nZXRVaW50MzIoMCk6MipzLmdldFVpbnQxNigwKSxvPTA7Zm9yKGxldCBlPTA7ZTxhO2UrKyl7bys9bjtjb25zdCBlPXQ/cy5nZXRVaW50MzIobyk6MipzLmdldFVpbnQxNihvKTtpZihlPT09Zyl7dGhpcy5nbHlwaHMucHVzaChuZXcgR2x5cGgoe30pKTtjb250aW51ZX1jb25zdCBpPUdseXBoLnBhcnNlKGcscik7dGhpcy5nbHlwaHMucHVzaChpKTtnPWV9fWdldFNpemUoKXtyZXR1cm4gdGhpcy5nbHlwaHMucmVkdWNlKCgoZSx0KT0+ZSsodC5nZXRTaXplKCkrMyYtNCkpLDApfXdyaXRlKCl7Y29uc3QgZT10aGlzLmdldFNpemUoKSx0PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoZSkpLGk9ZT4xMzEwNzAsYT1pPzQ6MixzPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoKHRoaXMuZ2x5cGhzLmxlbmd0aCsxKSphKSk7aT9zLnNldFVpbnQzMigwLDApOnMuc2V0VWludDE2KDAsMCk7bGV0IHI9MCxuPTA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5nbHlwaHMpe3IrPWUud3JpdGUocix0KTtyPXIrMyYtNDtuKz1hO2k/cy5zZXRVaW50MzIobixyKTpzLnNldFVpbnQxNihuLHI+PjEpfXJldHVybntpc0xvY2F0aW9uTG9uZzppLGxvY2E6bmV3IFVpbnQ4QXJyYXkocy5idWZmZXIpLGdseWY6bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIpfX1zY2FsZShlKXtmb3IobGV0IHQ9MCxpPXRoaXMuZ2x5cGhzLmxlbmd0aDt0PGk7dCsrKXRoaXMuZ2x5cGhzW3RdLnNjYWxlKGVbdF0pfX1jbGFzcyBHbHlwaHtjb25zdHJ1Y3Rvcih7aGVhZGVyOmU9bnVsbCxzaW1wbGU6dD1udWxsLGNvbXBvc2l0ZXM6aT1udWxsfSl7dGhpcy5oZWFkZXI9ZTt0aGlzLnNpbXBsZT10O3RoaXMuY29tcG9zaXRlcz1pfXN0YXRpYyBwYXJzZShlLHQpe2NvbnN0W2ksYV09R2x5cGhIZWFkZXIucGFyc2UoZSx0KTtlKz1pO2lmKGEubnVtYmVyT2ZDb250b3VyczwwKXtjb25zdCBpPVtdO2Zvcig7Oyl7Y29uc3RbYSxzXT1Db21wb3NpdGVHbHlwaC5wYXJzZShlLHQpO2UrPWE7aS5wdXNoKHMpO2lmKCEoMzImcy5mbGFncykpYnJlYWt9cmV0dXJuIG5ldyBHbHlwaCh7aGVhZGVyOmEsY29tcG9zaXRlczppfSl9Y29uc3Qgcz1TaW1wbGVHbHlwaC5wYXJzZShlLHQsYS5udW1iZXJPZkNvbnRvdXJzKTtyZXR1cm4gbmV3IEdseXBoKHtoZWFkZXI6YSxzaW1wbGU6c30pfWdldFNpemUoKXtpZighdGhpcy5oZWFkZXIpcmV0dXJuIDA7Y29uc3QgZT10aGlzLnNpbXBsZT90aGlzLnNpbXBsZS5nZXRTaXplKCk6dGhpcy5jb21wb3NpdGVzLnJlZHVjZSgoKGUsdCk9PmUrdC5nZXRTaXplKCkpLDApO3JldHVybiB0aGlzLmhlYWRlci5nZXRTaXplKCkrZX13cml0ZShlLHQpe2lmKCF0aGlzLmhlYWRlcilyZXR1cm4gMDtjb25zdCBpPWU7ZSs9dGhpcy5oZWFkZXIud3JpdGUoZSx0KTtpZih0aGlzLnNpbXBsZSllKz10aGlzLnNpbXBsZS53cml0ZShlLHQpO2Vsc2UgZm9yKGNvbnN0IGkgb2YgdGhpcy5jb21wb3NpdGVzKWUrPWkud3JpdGUoZSx0KTtyZXR1cm4gZS1pfXNjYWxlKGUpe2lmKCF0aGlzLmhlYWRlcilyZXR1cm47Y29uc3QgdD0odGhpcy5oZWFkZXIueE1pbit0aGlzLmhlYWRlci54TWF4KS8yO3RoaXMuaGVhZGVyLnNjYWxlKHQsZSk7aWYodGhpcy5zaW1wbGUpdGhpcy5zaW1wbGUuc2NhbGUodCxlKTtlbHNlIGZvcihjb25zdCBpIG9mIHRoaXMuY29tcG9zaXRlcylpLnNjYWxlKHQsZSl9fWNsYXNzIEdseXBoSGVhZGVye2NvbnN0cnVjdG9yKHtudW1iZXJPZkNvbnRvdXJzOmUseE1pbjp0LHlNaW46aSx4TWF4OmEseU1heDpzfSl7dGhpcy5udW1iZXJPZkNvbnRvdXJzPWU7dGhpcy54TWluPXQ7dGhpcy55TWluPWk7dGhpcy54TWF4PWE7dGhpcy55TWF4PXN9c3RhdGljIHBhcnNlKGUsdCl7cmV0dXJuWzEwLG5ldyBHbHlwaEhlYWRlcih7bnVtYmVyT2ZDb250b3Vyczp0LmdldEludDE2KGUpLHhNaW46dC5nZXRJbnQxNihlKzIpLHlNaW46dC5nZXRJbnQxNihlKzQpLHhNYXg6dC5nZXRJbnQxNihlKzYpLHlNYXg6dC5nZXRJbnQxNihlKzgpfSldfWdldFNpemUoKXtyZXR1cm4gMTB9d3JpdGUoZSx0KXt0LnNldEludDE2KGUsdGhpcy5udW1iZXJPZkNvbnRvdXJzKTt0LnNldEludDE2KGUrMix0aGlzLnhNaW4pO3Quc2V0SW50MTYoZSs0LHRoaXMueU1pbik7dC5zZXRJbnQxNihlKzYsdGhpcy54TWF4KTt0LnNldEludDE2KGUrOCx0aGlzLnlNYXgpO3JldHVybiAxMH1zY2FsZShlLHQpe3RoaXMueE1pbj1NYXRoLnJvdW5kKGUrKHRoaXMueE1pbi1lKSp0KTt0aGlzLnhNYXg9TWF0aC5yb3VuZChlKyh0aGlzLnhNYXgtZSkqdCl9fWNsYXNzIENvbnRvdXJ7Y29uc3RydWN0b3Ioe2ZsYWdzOmUseENvb3JkaW5hdGVzOnQseUNvb3JkaW5hdGVzOml9KXt0aGlzLnhDb29yZGluYXRlcz10O3RoaXMueUNvb3JkaW5hdGVzPWk7dGhpcy5mbGFncz1lfX1jbGFzcyBTaW1wbGVHbHlwaHtjb25zdHJ1Y3Rvcih7Y29udG91cnM6ZSxpbnN0cnVjdGlvbnM6dH0pe3RoaXMuY29udG91cnM9ZTt0aGlzLmluc3RydWN0aW9ucz10fXN0YXRpYyBwYXJzZShlLHQsaSl7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPGk7cysrKXtjb25zdCBpPXQuZ2V0VWludDE2KGUpO2UrPTI7YS5wdXNoKGkpfWNvbnN0IHM9YVtpLTFdKzEscj10LmdldFVpbnQxNihlKTtlKz0yO2NvbnN0IG49bmV3IFVpbnQ4QXJyYXkodCkuc2xpY2UoZSxlK3IpO2UrPXI7Y29uc3QgZz1bXTtmb3IobGV0IGk9MDtpPHM7ZSsrLGkrKyl7bGV0IGE9dC5nZXRVaW50OChlKTtnLnB1c2goYSk7aWYoOCZhKXtjb25zdCBzPXQuZ2V0VWludDgoKytlKTthXj04O2ZvcihsZXQgZT0wO2U8cztlKyspZy5wdXNoKGEpO2krPXN9fWNvbnN0IG89W107bGV0IGM9W10sQz1bXSxoPVtdO2NvbnN0IGw9W107bGV0IFE9MCxFPTA7Zm9yKGxldCBpPTA7aTxzO2krKyl7Y29uc3Qgcz1nW2ldO2lmKDImcyl7Y29uc3QgaT10LmdldFVpbnQ4KGUrKyk7RSs9MTYmcz9pOi1pO2MucHVzaChFKX1lbHNlIGlmKDE2JnMpYy5wdXNoKEUpO2Vsc2V7RSs9dC5nZXRJbnQxNihlKTtlKz0yO2MucHVzaChFKX1pZihhW1FdPT09aSl7USsrO28ucHVzaChjKTtjPVtdfX1FPTA7UT0wO2ZvcihsZXQgaT0wO2k8cztpKyspe2NvbnN0IHM9Z1tpXTtpZig0JnMpe2NvbnN0IGk9dC5nZXRVaW50OChlKyspO0UrPTMyJnM/aTotaTtDLnB1c2goRSl9ZWxzZSBpZigzMiZzKUMucHVzaChFKTtlbHNle0UrPXQuZ2V0SW50MTYoZSk7ZSs9MjtDLnB1c2goRSl9aC5wdXNoKDEmc3w2NCZzKTtpZihhW1FdPT09aSl7Yz1vW1FdO1ErKztsLnB1c2gobmV3IENvbnRvdXIoe2ZsYWdzOmgseENvb3JkaW5hdGVzOmMseUNvb3JkaW5hdGVzOkN9KSk7Qz1bXTtoPVtdfX1yZXR1cm4gbmV3IFNpbXBsZUdseXBoKHtjb250b3VyczpsLGluc3RydWN0aW9uczpufSl9Z2V0U2l6ZSgpe2xldCBlPTIqdGhpcy5jb250b3Vycy5sZW5ndGgrMit0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgsdD0wLGk9MDtmb3IoY29uc3QgYSBvZiB0aGlzLmNvbnRvdXJzKXtlKz1hLmZsYWdzLmxlbmd0aDtmb3IobGV0IHM9MCxyPWEueENvb3JkaW5hdGVzLmxlbmd0aDtzPHI7cysrKXtjb25zdCByPWEueENvb3JkaW5hdGVzW3NdLG49YS55Q29vcmRpbmF0ZXNbc107bGV0IGc9TWF0aC5hYnMoci10KTtnPjI1NT9lKz0yOmc+MCYmKGUrPTEpO3Q9cjtnPU1hdGguYWJzKG4taSk7Zz4yNTU/ZSs9MjpnPjAmJihlKz0xKTtpPW59fXJldHVybiBlfXdyaXRlKGUsdCl7Y29uc3QgaT1lLGE9W10scz1bXSxyPVtdO2xldCBuPTAsZz0wO2Zvcihjb25zdCBpIG9mIHRoaXMuY29udG91cnMpe2ZvcihsZXQgZT0wLHQ9aS54Q29vcmRpbmF0ZXMubGVuZ3RoO2U8dDtlKyspe2xldCB0PWkuZmxhZ3NbZV07Y29uc3Qgbz1pLnhDb29yZGluYXRlc1tlXTtsZXQgYz1vLW47aWYoMD09PWMpe3R8PTE2O2EucHVzaCgwKX1lbHNle2NvbnN0IGU9TWF0aC5hYnMoYyk7aWYoZTw9MjU1KXt0fD1jPj0wPzE4OjI7YS5wdXNoKGUpfWVsc2UgYS5wdXNoKGMpfW49bztjb25zdCBDPWkueUNvb3JkaW5hdGVzW2VdO2M9Qy1nO2lmKDA9PT1jKXt0fD0zMjtzLnB1c2goMCl9ZWxzZXtjb25zdCBlPU1hdGguYWJzKGMpO2lmKGU8PTI1NSl7dHw9Yz49MD8zNjo0O3MucHVzaChlKX1lbHNlIHMucHVzaChjKX1nPUM7ci5wdXNoKHQpfXQuc2V0VWludDE2KGUsYS5sZW5ndGgtMSk7ZSs9Mn10LnNldFVpbnQxNihlLHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCk7ZSs9MjtpZih0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpe25ldyBVaW50OEFycmF5KHQuYnVmZmVyLDAsdC5idWZmZXIuYnl0ZUxlbmd0aCkuc2V0KHRoaXMuaW5zdHJ1Y3Rpb25zLGUpO2UrPXRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aH1mb3IoY29uc3QgaSBvZiByKXQuc2V0VWludDgoZSsrLGkpO2ZvcihsZXQgaT0wLHM9YS5sZW5ndGg7aTxzO2krKyl7Y29uc3Qgcz1hW2ldLG49cltpXTtpZigyJm4pdC5zZXRVaW50OChlKysscyk7ZWxzZSBpZighKDE2Jm4pKXt0LnNldEludDE2KGUscyk7ZSs9Mn19Zm9yKGxldCBpPTAsYT1zLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPXNbaV0sbj1yW2ldO2lmKDQmbil0LnNldFVpbnQ4KGUrKyxhKTtlbHNlIGlmKCEoMzImbikpe3Quc2V0SW50MTYoZSxhKTtlKz0yfX1yZXR1cm4gZS1pfXNjYWxlKGUsdCl7Zm9yKGNvbnN0IGkgb2YgdGhpcy5jb250b3VycylpZigwIT09aS54Q29vcmRpbmF0ZXMubGVuZ3RoKWZvcihsZXQgYT0wLHM9aS54Q29vcmRpbmF0ZXMubGVuZ3RoO2E8czthKyspaS54Q29vcmRpbmF0ZXNbYV09TWF0aC5yb3VuZChlKyhpLnhDb29yZGluYXRlc1thXS1lKSp0KX19Y2xhc3MgQ29tcG9zaXRlR2x5cGh7Y29uc3RydWN0b3Ioe2ZsYWdzOmUsZ2x5cGhJbmRleDp0LGFyZ3VtZW50MTppLGFyZ3VtZW50MjphLHRyYW5zZjpzLGluc3RydWN0aW9uczpyfSl7dGhpcy5mbGFncz1lO3RoaXMuZ2x5cGhJbmRleD10O3RoaXMuYXJndW1lbnQxPWk7dGhpcy5hcmd1bWVudDI9YTt0aGlzLnRyYW5zZj1zO3RoaXMuaW5zdHJ1Y3Rpb25zPXJ9c3RhdGljIHBhcnNlKGUsdCl7Y29uc3QgaT1lLGE9W107bGV0IHM9dC5nZXRVaW50MTYoZSk7Y29uc3Qgcj10LmdldFVpbnQxNihlKzIpO2UrPTQ7bGV0IG4sZztpZigxJnMpe2lmKDImcyl7bj10LmdldEludDE2KGUpO2c9dC5nZXRJbnQxNihlKzIpfWVsc2V7bj10LmdldFVpbnQxNihlKTtnPXQuZ2V0VWludDE2KGUrMil9ZSs9NDtzXj0xfWVsc2V7aWYoMiZzKXtuPXQuZ2V0SW50OChlKTtnPXQuZ2V0SW50OChlKzEpfWVsc2V7bj10LmdldFVpbnQ4KGUpO2c9dC5nZXRVaW50OChlKzEpfWUrPTJ9aWYoOCZzKXthLnB1c2godC5nZXRVaW50MTYoZSkpO2UrPTJ9ZWxzZSBpZig2NCZzKXthLnB1c2godC5nZXRVaW50MTYoZSksdC5nZXRVaW50MTYoZSsyKSk7ZSs9NH1lbHNlIGlmKDEyOCZzKXthLnB1c2godC5nZXRVaW50MTYoZSksdC5nZXRVaW50MTYoZSsyKSx0LmdldFVpbnQxNihlKzQpLHQuZ2V0VWludDE2KGUrNikpO2UrPTh9bGV0IG89bnVsbDtpZigyNTYmcyl7Y29uc3QgaT10LmdldFVpbnQxNihlKTtlKz0yO289bmV3IFVpbnQ4QXJyYXkodCkuc2xpY2UoZSxlK2kpO2UrPWl9cmV0dXJuW2UtaSxuZXcgQ29tcG9zaXRlR2x5cGgoe2ZsYWdzOnMsZ2x5cGhJbmRleDpyLGFyZ3VtZW50MTpuLGFyZ3VtZW50MjpnLHRyYW5zZjphLGluc3RydWN0aW9uczpvfSldfWdldFNpemUoKXtsZXQgZT00KzIqdGhpcy50cmFuc2YubGVuZ3RoOzI1NiZ0aGlzLmZsYWdzJiYoZSs9Mit0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpO2UrPTI7MiZ0aGlzLmZsYWdzP3RoaXMuYXJndW1lbnQxPj0tMTI4JiZ0aGlzLmFyZ3VtZW50MTw9MTI3JiZ0aGlzLmFyZ3VtZW50Mj49LTEyOCYmdGhpcy5hcmd1bWVudDI8PTEyN3x8KGUrPTIpOnRoaXMuYXJndW1lbnQxPj0wJiZ0aGlzLmFyZ3VtZW50MTw9MjU1JiZ0aGlzLmFyZ3VtZW50Mj49MCYmdGhpcy5hcmd1bWVudDI8PTI1NXx8KGUrPTIpO3JldHVybiBlfXdyaXRlKGUsdCl7Y29uc3QgaT1lOzImdGhpcy5mbGFncz90aGlzLmFyZ3VtZW50MT49LTEyOCYmdGhpcy5hcmd1bWVudDE8PTEyNyYmdGhpcy5hcmd1bWVudDI+PS0xMjgmJnRoaXMuYXJndW1lbnQyPD0xMjd8fCh0aGlzLmZsYWdzfD0xKTp0aGlzLmFyZ3VtZW50MT49MCYmdGhpcy5hcmd1bWVudDE8PTI1NSYmdGhpcy5hcmd1bWVudDI+PTAmJnRoaXMuYXJndW1lbnQyPD0yNTV8fCh0aGlzLmZsYWdzfD0xKTt0LnNldFVpbnQxNihlLHRoaXMuZmxhZ3MpO3Quc2V0VWludDE2KGUrMix0aGlzLmdseXBoSW5kZXgpO2UrPTQ7aWYoMSZ0aGlzLmZsYWdzKXtpZigyJnRoaXMuZmxhZ3Mpe3Quc2V0SW50MTYoZSx0aGlzLmFyZ3VtZW50MSk7dC5zZXRJbnQxNihlKzIsdGhpcy5hcmd1bWVudDIpfWVsc2V7dC5zZXRVaW50MTYoZSx0aGlzLmFyZ3VtZW50MSk7dC5zZXRVaW50MTYoZSsyLHRoaXMuYXJndW1lbnQyKX1lKz00fWVsc2V7dC5zZXRVaW50OChlLHRoaXMuYXJndW1lbnQxKTt0LnNldFVpbnQ4KGUrMSx0aGlzLmFyZ3VtZW50Mik7ZSs9Mn1pZigyNTYmdGhpcy5mbGFncyl7dC5zZXRVaW50MTYoZSx0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpO2UrPTI7aWYodGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKXtuZXcgVWludDhBcnJheSh0LmJ1ZmZlciwwLHQuYnVmZmVyLmJ5dGVMZW5ndGgpLnNldCh0aGlzLmluc3RydWN0aW9ucyxlKTtlKz10aGlzLmluc3RydWN0aW9ucy5sZW5ndGh9fXJldHVybiBlLWl9c2NhbGUoZSx0KXt9fWZ1bmN0aW9uIHdyaXRlSW50MTYoZSx0LGkpe2VbdF09aT4+OCYyNTU7ZVt0KzFdPTI1NSZpfWZ1bmN0aW9uIHdyaXRlSW50MzIoZSx0LGkpe2VbdF09aT4+MjQmMjU1O2VbdCsxXT1pPj4xNiYyNTU7ZVt0KzJdPWk+PjgmMjU1O2VbdCszXT0yNTUmaX1mdW5jdGlvbiB3cml0ZURhdGEoZSx0LGkpe2lmKGkgaW5zdGFuY2VvZiBVaW50OEFycmF5KWUuc2V0KGksdCk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGkpZm9yKGxldCBhPTAscz1pLmxlbmd0aDthPHM7YSsrKWVbdCsrXT0yNTUmaS5jaGFyQ29kZUF0KGEpO2Vsc2UgZm9yKGNvbnN0IGEgb2YgaSllW3QrK109MjU1JmF9Y2xhc3MgT3BlblR5cGVGaWxlQnVpbGRlcntjb25zdHJ1Y3RvcihlKXt0aGlzLnNmbnQ9ZTt0aGlzLnRhYmxlcz1PYmplY3QuY3JlYXRlKG51bGwpfXN0YXRpYyBnZXRTZWFyY2hQYXJhbXMoZSx0KXtsZXQgaT0xLGE9MDtmb3IoOyhpXmUpPmk7KXtpPDw9MTthKyt9Y29uc3Qgcz1pKnQ7cmV0dXJue3JhbmdlOnMsZW50cnk6YSxyYW5nZVNoaWZ0OnQqZS1zfX10b0FycmF5KCl7bGV0IGU9dGhpcy5zZm50O2NvbnN0IHQ9dGhpcy50YWJsZXMsaT1PYmplY3Qua2V5cyh0KTtpLnNvcnQoKTtjb25zdCBhPWkubGVuZ3RoO2xldCBzLHIsbixnLG8sYz0xMisxNiphO2NvbnN0IEM9W2NdO2ZvcihzPTA7czxhO3MrKyl7Zz10W2lbc11dO2MrPShnLmxlbmd0aCszJi00KT4+PjA7Qy5wdXNoKGMpfWNvbnN0IGg9bmV3IFVpbnQ4QXJyYXkoYyk7Zm9yKHM9MDtzPGE7cysrKXtnPXRbaVtzXV07d3JpdGVEYXRhKGgsQ1tzXSxnKX0idHJ1ZSI9PT1lJiYoZT1zdHJpbmczMig2NTUzNikpO2hbMF09MjU1JmUuY2hhckNvZGVBdCgwKTtoWzFdPTI1NSZlLmNoYXJDb2RlQXQoMSk7aFsyXT0yNTUmZS5jaGFyQ29kZUF0KDIpO2hbM109MjU1JmUuY2hhckNvZGVBdCgzKTt3cml0ZUludDE2KGgsNCxhKTtjb25zdCBsPU9wZW5UeXBlRmlsZUJ1aWxkZXIuZ2V0U2VhcmNoUGFyYW1zKGEsMTYpO3dyaXRlSW50MTYoaCw2LGwucmFuZ2UpO3dyaXRlSW50MTYoaCw4LGwuZW50cnkpO3dyaXRlSW50MTYoaCwxMCxsLnJhbmdlU2hpZnQpO2M9MTI7Zm9yKHM9MDtzPGE7cysrKXtvPWlbc107aFtjXT0yNTUmby5jaGFyQ29kZUF0KDApO2hbYysxXT0yNTUmby5jaGFyQ29kZUF0KDEpO2hbYysyXT0yNTUmby5jaGFyQ29kZUF0KDIpO2hbYyszXT0yNTUmby5jaGFyQ29kZUF0KDMpO2xldCBlPTA7Zm9yKHI9Q1tzXSxuPUNbcysxXTtyPG47cis9NCl7ZT1lK3JlYWRVaW50MzIoaCxyKT4+PjB9d3JpdGVJbnQzMihoLGMrNCxlKTt3cml0ZUludDMyKGgsYys4LENbc10pO3dyaXRlSW50MzIoaCxjKzEyLHRbb10ubGVuZ3RoKTtjKz0xNn1yZXR1cm4gaH1hZGRUYWJsZShlLHQpe2lmKGUgaW4gdGhpcy50YWJsZXMpdGhyb3cgbmV3IEVycm9yKCJUYWJsZSAiK2UrIiBhbHJlYWR5IGV4aXN0cyIpO3RoaXMudGFibGVzW2VdPXR9fWNvbnN0IHNhPVs0XSxyYT1bNV0sbmE9WzZdLGdhPVs3XSxvYT1bOF0sSWE9WzEyLDM1XSxjYT1bMTRdLENhPVsyMV0saGE9WzIyXSxsYT1bMzBdLEJhPVszMV07Y2xhc3MgVHlwZTFDaGFyU3RyaW5ne2NvbnN0cnVjdG9yKCl7dGhpcy53aWR0aD0wO3RoaXMubHNiPTA7dGhpcy5mbGV4aW5nPSExO3RoaXMub3V0cHV0PVtdO3RoaXMuc3RhY2s9W119Y29udmVydChlLHQsaSl7Y29uc3QgYT1lLmxlbmd0aDtsZXQgcyxyLG4sZz0hMTtmb3IobGV0IG89MDtvPGE7bysrKXtsZXQgYT1lW29dO2lmKGE8MzIpezEyPT09YSYmKGE9KGE8PDgpK2VbKytvXSk7c3dpdGNoKGEpe2Nhc2UgMTpjYXNlIDM6Y2FzZSA5OmNhc2UgMzA3MjpjYXNlIDMwNzM6Y2FzZSAzMDc0OmNhc2UgMzEwNTp0aGlzLnN0YWNrPVtdO2JyZWFrO2Nhc2UgNDppZih0aGlzLmZsZXhpbmcpe2lmKHRoaXMuc3RhY2subGVuZ3RoPDEpe2c9ITA7YnJlYWt9Y29uc3QgZT10aGlzLnN0YWNrLnBvcCgpO3RoaXMuc3RhY2sucHVzaCgwLGUpO2JyZWFrfWc9dGhpcy5leGVjdXRlQ29tbWFuZCgxLHNhKTticmVhaztjYXNlIDU6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDIscmEpO2JyZWFrO2Nhc2UgNjpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMSxuYSk7YnJlYWs7Y2FzZSA3Omc9dGhpcy5leGVjdXRlQ29tbWFuZCgxLGdhKTticmVhaztjYXNlIDg6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDYsb2EpO2JyZWFrO2Nhc2UgMTA6aWYodGhpcy5zdGFjay5sZW5ndGg8MSl7Zz0hMDticmVha31uPXRoaXMuc3RhY2sucG9wKCk7aWYoIXRbbl0pe2c9ITA7YnJlYWt9Zz10aGlzLmNvbnZlcnQodFtuXSx0LGkpO2JyZWFrO2Nhc2UgMTE6cmV0dXJuIGc7Y2FzZSAxMzppZih0aGlzLnN0YWNrLmxlbmd0aDwyKXtnPSEwO2JyZWFrfXM9dGhpcy5zdGFjay5wb3AoKTtyPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5sc2I9cjt0aGlzLndpZHRoPXM7dGhpcy5zdGFjay5wdXNoKHMscik7Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDIsaGEpO2JyZWFrO2Nhc2UgMTQ6dGhpcy5vdXRwdXQucHVzaChjYVswXSk7YnJlYWs7Y2FzZSAyMTppZih0aGlzLmZsZXhpbmcpYnJlYWs7Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDIsQ2EpO2JyZWFrO2Nhc2UgMjI6aWYodGhpcy5mbGV4aW5nKXt0aGlzLnN0YWNrLnB1c2goMCk7YnJlYWt9Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEsaGEpO2JyZWFrO2Nhc2UgMzA6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDQsbGEpO2JyZWFrO2Nhc2UgMzE6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDQsQmEpO2JyZWFrO2Nhc2UgMzA3ODppZihpKXtjb25zdCBlPXRoaXMuc3RhY2suYXQoLTUpO3RoaXMuc2VhYz10aGlzLnN0YWNrLnNwbGljZSgtNCw0KTt0aGlzLnNlYWNbMF0rPXRoaXMubHNiLWU7Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDAsY2EpfWVsc2UgZz10aGlzLmV4ZWN1dGVDb21tYW5kKDQsY2EpO2JyZWFrO2Nhc2UgMzA3OTppZih0aGlzLnN0YWNrLmxlbmd0aDw0KXtnPSEwO2JyZWFrfXRoaXMuc3RhY2sucG9wKCk7cz10aGlzLnN0YWNrLnBvcCgpO2NvbnN0IGU9dGhpcy5zdGFjay5wb3AoKTtyPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5sc2I9cjt0aGlzLndpZHRoPXM7dGhpcy5zdGFjay5wdXNoKHMscixlKTtnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMyxDYSk7YnJlYWs7Y2FzZSAzMDg0OmlmKHRoaXMuc3RhY2subGVuZ3RoPDIpe2c9ITA7YnJlYWt9Y29uc3Qgbz10aGlzLnN0YWNrLnBvcCgpLGM9dGhpcy5zdGFjay5wb3AoKTt0aGlzLnN0YWNrLnB1c2goYy9vKTticmVhaztjYXNlIDMwODg6aWYodGhpcy5zdGFjay5sZW5ndGg8Mil7Zz0hMDticmVha31uPXRoaXMuc3RhY2sucG9wKCk7Y29uc3QgQz10aGlzLnN0YWNrLnBvcCgpO2lmKDA9PT1uJiYzPT09Qyl7Y29uc3QgZT10aGlzLnN0YWNrLnNwbGljZSgtMTcsMTcpO3RoaXMuc3RhY2sucHVzaChlWzJdK2VbMF0sZVszXStlWzFdLGVbNF0sZVs1XSxlWzZdLGVbN10sZVs4XSxlWzldLGVbMTBdLGVbMTFdLGVbMTJdLGVbMTNdLGVbMTRdKTtnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMTMsSWEsITApO3RoaXMuZmxleGluZz0hMTt0aGlzLnN0YWNrLnB1c2goZVsxNV0sZVsxNl0pfWVsc2UgMT09PW4mJjA9PT1DJiYodGhpcy5mbGV4aW5nPSEwKTticmVhaztjYXNlIDMwODk6YnJlYWs7ZGVmYXVsdDp3YXJuKCdVbmtub3duIHR5cGUgMSBjaGFyc3RyaW5nIGNvbW1hbmQgb2YgIicrYSsnIicpfWlmKGcpYnJlYWt9ZWxzZXthPD0yNDY/YS09MTM5OmE9YTw9MjUwPzI1NiooYS0yNDcpK2VbKytvXSsxMDg6YTw9MjU0Py0yNTYqKGEtMjUxKS1lWysrb10tMTA4OigyNTUmZVsrK29dKTw8MjR8KDI1NSZlWysrb10pPDwxNnwoMjU1JmVbKytvXSk8PDh8KDI1NSZlWysrb10pPDwwO3RoaXMuc3RhY2sucHVzaChhKX19cmV0dXJuIGd9ZXhlY3V0ZUNvbW1hbmQoZSx0LGkpe2NvbnN0IGE9dGhpcy5zdGFjay5sZW5ndGg7aWYoZT5hKXJldHVybiEwO2NvbnN0IHM9YS1lO2ZvcihsZXQgZT1zO2U8YTtlKyspe2xldCB0PXRoaXMuc3RhY2tbZV07aWYoTnVtYmVyLmlzSW50ZWdlcih0KSl0aGlzLm91dHB1dC5wdXNoKDI4LHQ+PjgmMjU1LDI1NSZ0KTtlbHNle3Q9NjU1MzYqdHwwO3RoaXMub3V0cHV0LnB1c2goMjU1LHQ+PjI0JjI1NSx0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQpfX10aGlzLm91dHB1dC5wdXNoKC4uLnQpO2k/dGhpcy5zdGFjay5zcGxpY2UocyxlKTp0aGlzLnN0YWNrLmxlbmd0aD0wO3JldHVybiExfX1mdW5jdGlvbiBpc0hleERpZ2l0KGUpe3JldHVybiBlPj00OCYmZTw9NTd8fGU+PTY1JiZlPD03MHx8ZT49OTcmJmU8PTEwMn1mdW5jdGlvbiBkZWNyeXB0KGUsdCxpKXtpZihpPj1lLmxlbmd0aClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7bGV0IGEscyxyPTB8dDtmb3IoYT0wO2E8aTthKyspcj01Mjg0NSooZVthXStyKSsyMjcxOSY2NTUzNTtjb25zdCBuPWUubGVuZ3RoLWksZz1uZXcgVWludDhBcnJheShuKTtmb3IoYT1pLHM9MDtzPG47YSsrLHMrKyl7Y29uc3QgdD1lW2FdO2dbc109dF5yPj44O3I9NTI4NDUqKHQrcikrMjI3MTkmNjU1MzV9cmV0dXJuIGd9ZnVuY3Rpb24gaXNTcGVjaWFsKGUpe3JldHVybiA0Nz09PWV8fDkxPT09ZXx8OTM9PT1lfHwxMjM9PT1lfHwxMjU9PT1lfHw0MD09PWV8fDQxPT09ZX1jbGFzcyBUeXBlMVBhcnNlcntjb25zdHJ1Y3RvcihlLHQsaSl7aWYodCl7Y29uc3QgdD1lLmdldEJ5dGVzKCksaT0hKChpc0hleERpZ2l0KHRbMF0pfHxpc1doaXRlU3BhY2UodFswXSkpJiZpc0hleERpZ2l0KHRbMV0pJiZpc0hleERpZ2l0KHRbMl0pJiZpc0hleERpZ2l0KHRbM10pJiZpc0hleERpZ2l0KHRbNF0pJiZpc0hleERpZ2l0KHRbNV0pJiZpc0hleERpZ2l0KHRbNl0pJiZpc0hleERpZ2l0KHRbN10pKTtlPW5ldyBTdHJlYW0oaT9kZWNyeXB0KHQsNTU2NjUsNCk6ZnVuY3Rpb24gZGVjcnlwdEFzY2lpKGUsdCxpKXtsZXQgYT0wfHQ7Y29uc3Qgcz1lLmxlbmd0aCxyPW5ldyBVaW50OEFycmF5KHM+Pj4xKTtsZXQgbixnO2ZvcihuPTAsZz0wO248cztuKyspe2NvbnN0IHQ9ZVtuXTtpZighaXNIZXhEaWdpdCh0KSljb250aW51ZTtuKys7bGV0IGk7Zm9yKDtuPHMmJiFpc0hleERpZ2l0KGk9ZVtuXSk7KW4rKztpZihuPHMpe2NvbnN0IGU9cGFyc2VJbnQoU3RyaW5nLmZyb21DaGFyQ29kZSh0LGkpLDE2KTtyW2crK109ZV5hPj44O2E9NTI4NDUqKGUrYSkrMjI3MTkmNjU1MzV9fXJldHVybiByLnNsaWNlKGksZyl9KHQsNTU2NjUsNCkpfXRoaXMuc2VhY0FuYWx5c2lzRW5hYmxlZD0hIWk7dGhpcy5zdHJlYW09ZTt0aGlzLm5leHRDaGFyKCl9cmVhZE51bWJlckFycmF5KCl7dGhpcy5nZXRUb2tlbigpO2NvbnN0IGU9W107Zm9yKDs7KXtjb25zdCB0PXRoaXMuZ2V0VG9rZW4oKTtpZihudWxsPT09dHx8Il0iPT09dHx8In0iPT09dClicmVhaztlLnB1c2gocGFyc2VGbG9hdCh0fHwwKSl9cmV0dXJuIGV9cmVhZE51bWJlcigpe2NvbnN0IGU9dGhpcy5nZXRUb2tlbigpO3JldHVybiBwYXJzZUZsb2F0KGV8fDApfXJlYWRJbnQoKXtjb25zdCBlPXRoaXMuZ2V0VG9rZW4oKTtyZXR1cm4gMHxwYXJzZUludChlfHwwLDEwKX1yZWFkQm9vbGVhbigpe3JldHVybiJ0cnVlIj09PXRoaXMuZ2V0VG9rZW4oKT8xOjB9bmV4dENoYXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Q2hhcj10aGlzLnN0cmVhbS5nZXRCeXRlKCl9cHJldkNoYXIoKXt0aGlzLnN0cmVhbS5za2lwKC0yKTtyZXR1cm4gdGhpcy5jdXJyZW50Q2hhcj10aGlzLnN0cmVhbS5nZXRCeXRlKCl9Z2V0VG9rZW4oKXtsZXQgZT0hMSx0PXRoaXMuY3VycmVudENoYXI7Zm9yKDs7KXtpZigtMT09PXQpcmV0dXJuIG51bGw7aWYoZSkxMCE9PXQmJjEzIT09dHx8KGU9ITEpO2Vsc2UgaWYoMzc9PT10KWU9ITA7ZWxzZSBpZighaXNXaGl0ZVNwYWNlKHQpKWJyZWFrO3Q9dGhpcy5uZXh0Q2hhcigpfWlmKGlzU3BlY2lhbCh0KSl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQpfWxldCBpPSIiO2Rve2krPVN0cmluZy5mcm9tQ2hhckNvZGUodCk7dD10aGlzLm5leHRDaGFyKCl9d2hpbGUodD49MCYmIWlzV2hpdGVTcGFjZSh0KSYmIWlzU3BlY2lhbCh0KSk7cmV0dXJuIGl9cmVhZENoYXJTdHJpbmdzKGUsdCl7cmV0dXJuLTE9PT10P2U6ZGVjcnlwdChlLDQzMzAsdCl9ZXh0cmFjdEZvbnRQcm9ncmFtKGUpe2NvbnN0IHQ9dGhpcy5zdHJlYW0saT1bXSxhPVtdLHM9T2JqZWN0LmNyZWF0ZShudWxsKTtzLmxlbklWPTQ7Y29uc3Qgcj17c3VicnM6W10sY2hhcnN0cmluZ3M6W10scHJvcGVydGllczp7cHJpdmF0ZURhdGE6c319O2xldCBuLGcsbyxjO2Zvcig7bnVsbCE9PShuPXRoaXMuZ2V0VG9rZW4oKSk7KWlmKCIvIj09PW4pe249dGhpcy5nZXRUb2tlbigpO3N3aXRjaChuKXtjYXNlIkNoYXJTdHJpbmdzIjp0aGlzLmdldFRva2VuKCk7dGhpcy5nZXRUb2tlbigpO3RoaXMuZ2V0VG9rZW4oKTt0aGlzLmdldFRva2VuKCk7Zm9yKDs7KXtuPXRoaXMuZ2V0VG9rZW4oKTtpZihudWxsPT09bnx8ImVuZCI9PT1uKWJyZWFrO2lmKCIvIiE9PW4pY29udGludWU7Y29uc3QgZT10aGlzLmdldFRva2VuKCk7Zz10aGlzLnJlYWRJbnQoKTt0aGlzLmdldFRva2VuKCk7bz1nPjA/dC5nZXRCeXRlcyhnKTpuZXcgVWludDhBcnJheSgwKTtjPXIucHJvcGVydGllcy5wcml2YXRlRGF0YS5sZW5JVjtjb25zdCBpPXRoaXMucmVhZENoYXJTdHJpbmdzKG8sYyk7dGhpcy5uZXh0Q2hhcigpO249dGhpcy5nZXRUb2tlbigpOyJub2FjY2VzcyI9PT1uP3RoaXMuZ2V0VG9rZW4oKToiLyI9PT1uJiZ0aGlzLnByZXZDaGFyKCk7YS5wdXNoKHtnbHlwaDplLGVuY29kZWQ6aX0pfWJyZWFrO2Nhc2UiU3VicnMiOnRoaXMucmVhZEludCgpO3RoaXMuZ2V0VG9rZW4oKTtmb3IoOyJkdXAiPT09dGhpcy5nZXRUb2tlbigpOyl7Y29uc3QgZT10aGlzLnJlYWRJbnQoKTtnPXRoaXMucmVhZEludCgpO3RoaXMuZ2V0VG9rZW4oKTtvPWc+MD90LmdldEJ5dGVzKGcpOm5ldyBVaW50OEFycmF5KDApO2M9ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhLmxlbklWO2NvbnN0IGE9dGhpcy5yZWFkQ2hhclN0cmluZ3MobyxjKTt0aGlzLm5leHRDaGFyKCk7bj10aGlzLmdldFRva2VuKCk7Im5vYWNjZXNzIj09PW4mJnRoaXMuZ2V0VG9rZW4oKTtpW2VdPWF9YnJlYWs7Y2FzZSJCbHVlVmFsdWVzIjpjYXNlIk90aGVyQmx1ZXMiOmNhc2UiRmFtaWx5Qmx1ZXMiOmNhc2UiRmFtaWx5T3RoZXJCbHVlcyI6Y29uc3QgZT10aGlzLnJlYWROdW1iZXJBcnJheSgpO2UubGVuZ3RoPjAmJmUubGVuZ3RoLDA7YnJlYWs7Y2FzZSJTdGVtU25hcEgiOmNhc2UiU3RlbVNuYXBWIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTticmVhaztjYXNlIlN0ZEhXIjpjYXNlIlN0ZFZXIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkTnVtYmVyQXJyYXkoKVswXTticmVhaztjYXNlIkJsdWVTaGlmdCI6Y2FzZSJsZW5JViI6Y2FzZSJCbHVlRnV6eiI6Y2FzZSJCbHVlU2NhbGUiOmNhc2UiTGFuZ3VhZ2VHcm91cCI6ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW25dPXRoaXMucmVhZE51bWJlcigpO2JyZWFrO2Nhc2UiRXhwYW5zaW9uRmFjdG9yIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkTnVtYmVyKCl8fC4wNjticmVhaztjYXNlIkZvcmNlQm9sZCI6ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW25dPXRoaXMucmVhZEJvb2xlYW4oKX19Zm9yKGNvbnN0e2VuY29kZWQ6dCxnbHlwaDpzfW9mIGEpe2NvbnN0IGE9bmV3IFR5cGUxQ2hhclN0cmluZyxuPWEuY29udmVydCh0LGksdGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkKTtsZXQgZz1hLm91dHB1dDtuJiYoZz1bMTRdKTtjb25zdCBvPXtnbHlwaE5hbWU6cyxjaGFyc3RyaW5nOmcsd2lkdGg6YS53aWR0aCxsc2I6YS5sc2Isc2VhYzphLnNlYWN9OyIubm90ZGVmIj09PXM/ci5jaGFyc3RyaW5ncy51bnNoaWZ0KG8pOnIuY2hhcnN0cmluZ3MucHVzaChvKTtpZihlLmJ1aWx0SW5FbmNvZGluZyl7Y29uc3QgdD1lLmJ1aWx0SW5FbmNvZGluZy5pbmRleE9mKHMpO3Q+LTEmJnZvaWQgMD09PWUud2lkdGhzW3RdJiZ0Pj1lLmZpcnN0Q2hhciYmdDw9ZS5sYXN0Q2hhciYmKGUud2lkdGhzW3RdPWEud2lkdGgpfX1yZXR1cm4gcn1leHRyYWN0Rm9udEhlYWRlcihlKXtsZXQgdDtmb3IoO251bGwhPT0odD10aGlzLmdldFRva2VuKCkpOylpZigiLyI9PT10KXt0PXRoaXMuZ2V0VG9rZW4oKTtzd2l0Y2godCl7Y2FzZSJGb250TWF0cml4Ijpjb25zdCBpPXRoaXMucmVhZE51bWJlckFycmF5KCk7ZS5mb250TWF0cml4PWk7YnJlYWs7Y2FzZSJFbmNvZGluZyI6Y29uc3QgYT10aGlzLmdldFRva2VuKCk7bGV0IHM7aWYoL15cZCskLy50ZXN0KGEpKXtzPVtdO2NvbnN0IGU9MHxwYXJzZUludChhLDEwKTt0aGlzLmdldFRva2VuKCk7Zm9yKGxldCBpPTA7aTxlO2krKyl7dD10aGlzLmdldFRva2VuKCk7Zm9yKDsiZHVwIiE9PXQmJiJkZWYiIT09dDspe3Q9dGhpcy5nZXRUb2tlbigpO2lmKG51bGw9PT10KXJldHVybn1pZigiZGVmIj09PXQpYnJlYWs7Y29uc3QgZT10aGlzLnJlYWRJbnQoKTt0aGlzLmdldFRva2VuKCk7Y29uc3QgaT10aGlzLmdldFRva2VuKCk7c1tlXT1pO3RoaXMuZ2V0VG9rZW4oKX19ZWxzZSBzPWdldEVuY29kaW5nKGEpO2UuYnVpbHRJbkVuY29kaW5nPXM7YnJlYWs7Y2FzZSJGb250QkJveCI6Y29uc3Qgcj10aGlzLnJlYWROdW1iZXJBcnJheSgpO2UuYXNjZW50PU1hdGgubWF4KHJbM10sclsxXSk7ZS5kZXNjZW50PU1hdGgubWluKHJbMV0sclszXSk7ZS5hc2NlbnRTY2FsZWQ9ITB9fX19ZnVuY3Rpb24gZmluZEJsb2NrKGUsdCxpKXtjb25zdCBhPWUubGVuZ3RoLHM9dC5sZW5ndGgscj1hLXM7bGV0IG49aSxnPSExO2Zvcig7bjxyOyl7bGV0IGk9MDtmb3IoO2k8cyYmZVtuK2ldPT09dFtpXTspaSsrO2lmKGk+PXMpe24rPWk7Zm9yKDtuPGEmJmlzV2hpdGVTcGFjZShlW25dKTspbisrO2c9ITA7YnJlYWt9bisrfXJldHVybntmb3VuZDpnLGxlbmd0aDpufX1jbGFzcyBUeXBlMUZvbnR7Y29uc3RydWN0b3IoZSx0LGkpe2xldCBhPWkubGVuZ3RoMSxzPWkubGVuZ3RoMixyPXQucGVla0J5dGVzKDYpO2NvbnN0IG49MTI4PT09clswXSYmMT09PXJbMV07aWYobil7dC5za2lwKDYpO2E9cls1XTw8MjR8cls0XTw8MTZ8clszXTw8OHxyWzJdfWNvbnN0IGc9ZnVuY3Rpb24gZ2V0SGVhZGVyQmxvY2soZSx0KXtjb25zdCBpPVsxMDEsMTAxLDEyMCwxMDEsOTldLGE9ZS5wb3M7bGV0IHMscixuLGc7dHJ5e3M9ZS5nZXRCeXRlcyh0KTtyPXMubGVuZ3RofWNhdGNoe31pZihyPT09dCl7bj1maW5kQmxvY2socyxpLHQtMippLmxlbmd0aCk7aWYobi5mb3VuZCYmbi5sZW5ndGg9PT10KXJldHVybntzdHJlYW06bmV3IFN0cmVhbShzKSxsZW5ndGg6dH19d2FybignSW52YWxpZCAiTGVuZ3RoMSIgcHJvcGVydHkgaW4gVHlwZTEgZm9udCAtLSB0cnlpbmcgdG8gcmVjb3Zlci4nKTtlLnBvcz1hO2Zvcig7Oyl7bj1maW5kQmxvY2soZS5wZWVrQnl0ZXMoMjA0OCksaSwwKTtpZigwPT09bi5sZW5ndGgpYnJlYWs7ZS5wb3MrPW4ubGVuZ3RoO2lmKG4uZm91bmQpe2c9ZS5wb3MtYTticmVha319ZS5wb3M9YTtpZihnKXJldHVybntzdHJlYW06bmV3IFN0cmVhbShlLmdldEJ5dGVzKGcpKSxsZW5ndGg6Z307d2FybignVW5hYmxlIHRvIHJlY292ZXIgIkxlbmd0aDEiIHByb3BlcnR5IGluIFR5cGUxIGZvbnQgLS0gdXNpbmcgYXMgaXMuJyk7cmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKGUuZ2V0Qnl0ZXModCkpLGxlbmd0aDp0fX0odCxhKTtuZXcgVHlwZTFQYXJzZXIoZy5zdHJlYW0sITEsS2kpLmV4dHJhY3RGb250SGVhZGVyKGkpO2lmKG4pe3I9dC5nZXRCeXRlcyg2KTtzPXJbNV08PDI0fHJbNF08PDE2fHJbM108PDh8clsyXX1jb25zdCBvPWZ1bmN0aW9uIGdldEVleGVjQmxvY2soZSx0KXtjb25zdCBpPWUuZ2V0Qnl0ZXMoKTtpZigwPT09aS5sZW5ndGgpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJnZXRFZXhlY0Jsb2NrIC0gbm8gZm9udCBwcm9ncmFtIGZvdW5kLiIpO3JldHVybntzdHJlYW06bmV3IFN0cmVhbShpKSxsZW5ndGg6aS5sZW5ndGh9fSh0KSxjPW5ldyBUeXBlMVBhcnNlcihvLnN0cmVhbSwhMCxLaSkuZXh0cmFjdEZvbnRQcm9ncmFtKGkpO2Zvcihjb25zdCBlIGluIGMucHJvcGVydGllcylpW2VdPWMucHJvcGVydGllc1tlXTtjb25zdCBDPWMuY2hhcnN0cmluZ3MsaD10aGlzLmdldFR5cGUyQ2hhcnN0cmluZ3MoQyksbD10aGlzLmdldFR5cGUyU3VicnMoYy5zdWJycyk7dGhpcy5jaGFyc3RyaW5ncz1DO3RoaXMuZGF0YT10aGlzLndyYXAoZSxoLHRoaXMuY2hhcnN0cmluZ3MsbCxpKTt0aGlzLnNlYWNzPXRoaXMuZ2V0U2VhY3MoYy5jaGFyc3RyaW5ncyl9Z2V0IG51bUdseXBocygpe3JldHVybiB0aGlzLmNoYXJzdHJpbmdzLmxlbmd0aCsxfWdldENoYXJzZXQoKXtjb25zdCBlPVsiLm5vdGRlZiJdO2Zvcihjb25zdHtnbHlwaE5hbWU6dH1vZiB0aGlzLmNoYXJzdHJpbmdzKWUucHVzaCh0KTtyZXR1cm4gZX1nZXRHbHlwaE1hcHBpbmcoZSl7Y29uc3QgdD10aGlzLmNoYXJzdHJpbmdzO2lmKGUuY29tcG9zaXRlKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBhPTAscz10Lmxlbmd0aDthPHM7YSsrKXtpW2UuY01hcC5jaGFyQ29kZU9mKGEpXT1hKzF9cmV0dXJuIGl9Y29uc3QgaT1bIi5ub3RkZWYiXTtsZXQgYSxzO2ZvcihzPTA7czx0Lmxlbmd0aDtzKyspaS5wdXNoKHRbc10uZ2x5cGhOYW1lKTtjb25zdCByPWUuYnVpbHRJbkVuY29kaW5nO2lmKHIpe2E9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3QgZSBpbiByKXtzPWkuaW5kZXhPZihyW2VdKTtzPj0wJiYoYVtlXT1zKX19cmV0dXJuIHR5cGUxRm9udEdseXBoTWFwcGluZyhlLGEsaSl9aGFzR2x5cGhJZChlKXtpZihlPDB8fGU+PXRoaXMubnVtR2x5cGhzKXJldHVybiExO2lmKDA9PT1lKXJldHVybiEwO3JldHVybiB0aGlzLmNoYXJzdHJpbmdzW2UtMV0uY2hhcnN0cmluZy5sZW5ndGg+MH1nZXRTZWFjcyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT1lW2ldO2Euc2VhYyYmKHRbaSsxXT1hLnNlYWMpfXJldHVybiB0fWdldFR5cGUyQ2hhcnN0cmluZ3MoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBvZiBlKXQucHVzaChpLmNoYXJzdHJpbmcpO3JldHVybiB0fWdldFR5cGUyU3VicnMoZSl7bGV0IHQ9MDtjb25zdCBpPWUubGVuZ3RoO3Q9aTwxMTMzPzEwNzppPDMzNzY5PzExMzE6MzI3Njg7Y29uc3QgYT1bXTtsZXQgcztmb3Iocz0wO3M8dDtzKyspYS5wdXNoKFsxMV0pO2ZvcihzPTA7czxpO3MrKylhLnB1c2goZVtzXSk7cmV0dXJuIGF9d3JhcChlLHQsaSxhLHMpe2NvbnN0IHI9bmV3IENGRjtyLmhlYWRlcj1uZXcgQ0ZGSGVhZGVyKDEsMCw0LDQpO3IubmFtZXM9W2VdO2NvbnN0IG49bmV3IENGRlRvcERpY3Q7bi5zZXRCeU5hbWUoInZlcnNpb24iLDM5MSk7bi5zZXRCeU5hbWUoIk5vdGljZSIsMzkyKTtuLnNldEJ5TmFtZSgiRnVsbE5hbWUiLDM5Myk7bi5zZXRCeU5hbWUoIkZhbWlseU5hbWUiLDM5NCk7bi5zZXRCeU5hbWUoIldlaWdodCIsMzk1KTtuLnNldEJ5TmFtZSgiRW5jb2RpbmciLG51bGwpO24uc2V0QnlOYW1lKCJGb250TWF0cml4IixzLmZvbnRNYXRyaXgpO24uc2V0QnlOYW1lKCJGb250QkJveCIscy5iYm94KTtuLnNldEJ5TmFtZSgiY2hhcnNldCIsbnVsbCk7bi5zZXRCeU5hbWUoIkNoYXJTdHJpbmdzIixudWxsKTtuLnNldEJ5TmFtZSgiUHJpdmF0ZSIsbnVsbCk7ci50b3BEaWN0PW47Y29uc3QgZz1uZXcgQ0ZGU3RyaW5ncztnLmFkZCgiVmVyc2lvbiAwLjExIik7Zy5hZGQoIlNlZSBvcmlnaW5hbCBub3RpY2UiKTtnLmFkZChlKTtnLmFkZChlKTtnLmFkZCgiTWVkaXVtIik7ci5zdHJpbmdzPWc7ci5nbG9iYWxTdWJySW5kZXg9bmV3IENGRkluZGV4O2NvbnN0IG89dC5sZW5ndGgsYz1bIi5ub3RkZWYiXTtsZXQgQyxoO2ZvcihDPTA7QzxvO0MrKyl7Y29uc3QgZT1pW0NdLmdseXBoTmFtZTstMT09PWJpLmluZGV4T2YoZSkmJmcuYWRkKGUpO2MucHVzaChlKX1yLmNoYXJzZXQ9bmV3IENGRkNoYXJzZXQoITEsMCxjKTtjb25zdCBsPW5ldyBDRkZJbmRleDtsLmFkZChbMTM5LDE0XSk7Zm9yKEM9MDtDPG87QysrKWwuYWRkKHRbQ10pO3IuY2hhclN0cmluZ3M9bDtjb25zdCBRPW5ldyBDRkZQcml2YXRlRGljdDtRLnNldEJ5TmFtZSgiU3VicnMiLG51bGwpO2NvbnN0IEU9WyJCbHVlVmFsdWVzIiwiT3RoZXJCbHVlcyIsIkZhbWlseUJsdWVzIiwiRmFtaWx5T3RoZXJCbHVlcyIsIlN0ZW1TbmFwSCIsIlN0ZW1TbmFwViIsIkJsdWVTaGlmdCIsIkJsdWVGdXp6IiwiQmx1ZVNjYWxlIiwiTGFuZ3VhZ2VHcm91cCIsIkV4cGFuc2lvbkZhY3RvciIsIkZvcmNlQm9sZCIsIlN0ZEhXIiwiU3RkVlciXTtmb3IoQz0wLGg9RS5sZW5ndGg7QzxoO0MrKyl7Y29uc3QgZT1FW0NdO2lmKCEoZSBpbiBzLnByaXZhdGVEYXRhKSljb250aW51ZTtjb25zdCB0PXMucHJpdmF0ZURhdGFbZV07aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0IGU9dC5sZW5ndGgtMTtlPjA7ZS0tKXRbZV0tPXRbZS0xXTtRLnNldEJ5TmFtZShlLHQpfXIudG9wRGljdC5wcml2YXRlRGljdD1RO2NvbnN0IHU9bmV3IENGRkluZGV4O2ZvcihDPTAsaD1hLmxlbmd0aDtDPGg7QysrKXUuYWRkKGFbQ10pO1Euc3VicnNJbmRleD11O3JldHVybiBuZXcgQ0ZGQ29tcGlsZXIocikuY29tcGlsZSgpfX1jb25zdCBRYT1bWzU3MzQ0LDYzNzQzXSxbMTA0ODU3NiwxMTE0MTA5XV0sRWE9MWUzLHVhPVsiYXNjZW50IiwiYmJveCIsImJsYWNrIiwiYm9sZCIsImNoYXJQcm9jT3BlcmF0b3JMaXN0IiwiY29tcG9zaXRlIiwiY3NzRm9udEluZm8iLCJkYXRhIiwiZGVmYXVsdFZNZXRyaWNzIiwiZGVmYXVsdFdpZHRoIiwiZGVzY2VudCIsImZhbGxiYWNrTmFtZSIsImZvbnRNYXRyaXgiLCJpc0ludmFsaWRQREZqc0ZvbnQiLCJpc1R5cGUzRm9udCIsIml0YWxpYyIsImxvYWRlZE5hbWUiLCJtaW1ldHlwZSIsIm1pc3NpbmdGaWxlIiwibmFtZSIsInJlbWVhc3VyZSIsInN1YnR5cGUiLCJzeXN0ZW1Gb250SW5mbyIsInR5cGUiLCJ2ZXJ0aWNhbCJdLGRhPVsiY01hcCIsImRlZmF1bHRFbmNvZGluZyIsImRpZmZlcmVuY2VzIiwiaXNNb25vc3BhY2UiLCJpc1NlcmlmRm9udCIsImlzU3ltYm9saWNGb250Iiwic2VhY01hcCIsInRvRm9udENoYXIiLCJ0b1VuaWNvZGUiLCJ2bWV0cmljcyIsIndpZHRocyJdO2Z1bmN0aW9uIGFkanVzdFdpZHRocyhlKXtpZighZS5mb250TWF0cml4KXJldHVybjtpZihlLmZvbnRNYXRyaXhbMF09PT1hWzBdKXJldHVybjtjb25zdCB0PS4wMDEvZS5mb250TWF0cml4WzBdLGk9ZS53aWR0aHM7Zm9yKGNvbnN0IGUgaW4gaSlpW2VdKj10O2UuZGVmYXVsdFdpZHRoKj10fWZ1bmN0aW9uIGFtZW5kRmFsbGJhY2tUb1VuaWNvZGUoZSl7aWYoIWUuZmFsbGJhY2tUb1VuaWNvZGUpcmV0dXJuO2lmKGUudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApcmV0dXJuO2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgaW4gZS5mYWxsYmFja1RvVW5pY29kZSllLnRvVW5pY29kZS5oYXMoaSl8fCh0W2ldPWUuZmFsbGJhY2tUb1VuaWNvZGVbaV0pO3QubGVuZ3RoPjAmJmUudG9Vbmljb2RlLmFtZW5kKHQpfWNsYXNzIGZvbnRzX0dseXBoe2NvbnN0cnVjdG9yKGUsdCxpLGEscyxyLG4sZyxvKXt0aGlzLm9yaWdpbmFsQ2hhckNvZGU9ZTt0aGlzLmZvbnRDaGFyPXQ7dGhpcy51bmljb2RlPWk7dGhpcy5hY2NlbnQ9YTt0aGlzLndpZHRoPXM7dGhpcy52bWV0cmljPXI7dGhpcy5vcGVyYXRvckxpc3RJZD1uO3RoaXMuaXNTcGFjZT1nO3RoaXMuaXNJbkZvbnQ9b31nZXQgY2F0ZWdvcnkoKXtyZXR1cm4gc2hhZG93KHRoaXMsImNhdGVnb3J5IixmdW5jdGlvbiBnZXRDaGFyVW5pY29kZUNhdGVnb3J5KGUpe2NvbnN0IHQ9dmkuZ2V0KGUpO2lmKHQpcmV0dXJuIHQ7Y29uc3QgaT1lLm1hdGNoKFlpKSxhPXtpc1doaXRlc3BhY2U6ISFpPy5bMV0saXNaZXJvV2lkdGhEaWFjcml0aWM6ISFpPy5bMl0saXNJbnZpc2libGVGb3JtYXRNYXJrOiEhaT8uWzNdfTt2aS5zZXQoZSxhKTtyZXR1cm4gYX0odGhpcy51bmljb2RlKSwhMCl9fWZ1bmN0aW9uIGludDE2KGUsdCl7cmV0dXJuKGU8PDgpK3R9ZnVuY3Rpb24gd3JpdGVTaWduZWRJbnQxNihlLHQsaSl7ZVt0KzFdPWk7ZVt0XT1pPj4+OH1mdW5jdGlvbiBzaWduZWRJbnQxNihlLHQpe2NvbnN0IGk9KGU8PDgpK3Q7cmV0dXJuIDMyNzY4Jmk/aS02NTUzNjppfWZ1bmN0aW9uIHN0cmluZzE2KGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjgmMjU1LDI1NSZlKX1mdW5jdGlvbiBzYWZlU3RyaW5nMTYoZSl7ZT4zMjc2Nz9lPTMyNzY3OmU8LTMyNzY4JiYoZT0tMzI3NjgpO3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjgmMjU1LDI1NSZlKX1mdW5jdGlvbiBpc1RydWVUeXBlQ29sbGVjdGlvbkZpbGUoZSl7cmV0dXJuInR0Y2YiPT09Ynl0ZXNUb1N0cmluZyhlLnBlZWtCeXRlcyg0KSl9ZnVuY3Rpb24gZ2V0Rm9udEZpbGVUeXBlKGUse3R5cGU6dCxzdWJ0eXBlOmksY29tcG9zaXRlOmF9KXtsZXQgcyxyO2lmKGZ1bmN0aW9uIGlzVHJ1ZVR5cGVGaWxlKGUpe2NvbnN0IHQ9ZS5wZWVrQnl0ZXMoNCk7cmV0dXJuIDY1NTM2PT09cmVhZFVpbnQzMih0LDApfHwidHJ1ZSI9PT1ieXRlc1RvU3RyaW5nKHQpfShlKXx8aXNUcnVlVHlwZUNvbGxlY3Rpb25GaWxlKGUpKXM9YT8iQ0lERm9udFR5cGUyIjoiVHJ1ZVR5cGUiO2Vsc2UgaWYoZnVuY3Rpb24gaXNPcGVuVHlwZUZpbGUoZSl7cmV0dXJuIk9UVE8iPT09Ynl0ZXNUb1N0cmluZyhlLnBlZWtCeXRlcyg0KSl9KGUpKXM9YT8iQ0lERm9udFR5cGUyIjoiT3BlblR5cGUiO2Vsc2UgaWYoZnVuY3Rpb24gaXNUeXBlMUZpbGUoZSl7Y29uc3QgdD1lLnBlZWtCeXRlcygyKTtyZXR1cm4gMzc9PT10WzBdJiYzMz09PXRbMV18fDEyOD09PXRbMF0mJjE9PT10WzFdfShlKSlzPWE/IkNJREZvbnRUeXBlMCI6Ik1NVHlwZTEiPT09dD8iTU1UeXBlMSI6IlR5cGUxIjtlbHNlIGlmKGZ1bmN0aW9uIGlzQ0ZGRmlsZShlKXtjb25zdCB0PWUucGVla0J5dGVzKDQpO3JldHVybiB0WzBdPj0xJiZ0WzNdPj0xJiZ0WzNdPD00fShlKSlpZihhKXtzPSJDSURGb250VHlwZTAiO3I9IkNJREZvbnRUeXBlMEMifWVsc2V7cz0iTU1UeXBlMSI9PT10PyJNTVR5cGUxIjoiVHlwZTEiO3I9IlR5cGUxQyJ9ZWxzZXt3YXJuKCJnZXRGb250RmlsZVR5cGU6IFVuYWJsZSB0byBkZXRlY3QgY29ycmVjdCBmb250IGZpbGUgVHlwZS9TdWJ0eXBlLiIpO3M9dDtyPWl9cmV0dXJuW3Mscl19ZnVuY3Rpb24gYXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChlLHQpe2Zvcihjb25zdCBpIGluIHQpZVsraV09dFtpXX1mdW5jdGlvbiBidWlsZFRvRm9udENoYXIoZSx0LGkpe2NvbnN0IGE9W107bGV0IHM7Zm9yKGxldCBpPTAscj1lLmxlbmd0aDtpPHI7aSsrKXtzPWdldFVuaWNvZGVGb3JHbHlwaChlW2ldLHQpOy0xIT09cyYmKGFbaV09cyl9Zm9yKGNvbnN0IGUgaW4gaSl7cz1nZXRVbmljb2RlRm9yR2x5cGgoaVtlXSx0KTstMSE9PXMmJihhWytlXT1zKX1yZXR1cm4gYX1mdW5jdGlvbiBpc01hY05hbWVSZWNvcmQoZSl7cmV0dXJuIDE9PT1lLnBsYXRmb3JtJiYwPT09ZS5lbmNvZGluZyYmMD09PWUubGFuZ3VhZ2V9ZnVuY3Rpb24gaXNXaW5OYW1lUmVjb3JkKGUpe3JldHVybiAzPT09ZS5wbGF0Zm9ybSYmMT09PWUuZW5jb2RpbmcmJjEwMzM9PT1lLmxhbmd1YWdlfWZ1bmN0aW9uIGNvbnZlcnRDaWRTdHJpbmcoZSx0LGk9ITEpe3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAxOnJldHVybiB0LmNoYXJDb2RlQXQoMCk7Y2FzZSAyOnJldHVybiB0LmNoYXJDb2RlQXQoMCk8PDh8dC5jaGFyQ29kZUF0KDEpfWNvbnN0IGE9YFVuc3VwcG9ydGVkIENJRCBzdHJpbmcgKGNoYXJDb2RlICR7ZX0pOiAiJHt0fSIuYDtpZihpKXRocm93IG5ldyBGb3JtYXRFcnJvcihhKTt3YXJuKGEpO3JldHVybiB0fWZ1bmN0aW9uIGFkanVzdE1hcHBpbmcoZSx0LGksYSl7Y29uc3Qgcz1PYmplY3QuY3JlYXRlKG51bGwpLHI9bmV3IE1hcCxuPVtdLGc9bmV3IFNldDtsZXQgbz0wO2xldCBjPVFhW29dWzBdLEM9UWFbb11bMV07Zm9yKGNvbnN0IGwgaW4gZSl7bGV0IFE9ZVtsXTtpZighdChRKSljb250aW51ZTtpZihjPkMpe28rKztpZihvPj1RYS5sZW5ndGgpe3dhcm4oIlJhbiBvdXQgb2Ygc3BhY2UgaW4gZm9udCBwcml2YXRlIHVzZSBhcmVhLiIpO2JyZWFrfWM9UWFbb11bMF07Qz1RYVtvXVsxXX1jb25zdCBFPWMrKzswPT09USYmKFE9aSk7bGV0IHU9YS5nZXQobCk7InN0cmluZyI9PXR5cGVvZiB1JiYodT11LmNvZGVQb2ludEF0KDApKTtpZih1JiYhKGg9dSxRYVswXVswXTw9aCYmaDw9UWFbMF1bMV18fFFhWzFdWzBdPD1oJiZoPD1RYVsxXVsxXSkmJiFnLmhhcyhRKSl7ci5zZXQodSxRKTtnLmFkZChRKX1zW0VdPVE7bltsXT1FfXZhciBoO3JldHVybnt0b0ZvbnRDaGFyOm4sY2hhckNvZGVUb0dseXBoSWQ6cyx0b1VuaWNvZGVFeHRyYU1hcDpyLG5leHRBdmFpbGFibGVGb250Q2hhckNvZGU6Y319ZnVuY3Rpb24gY3JlYXRlQ21hcFRhYmxlKGUsdCxpKXtjb25zdCBhPWZ1bmN0aW9uIGdldFJhbmdlcyhlLHQsaSl7Y29uc3QgYT1bXTtmb3IoY29uc3QgdCBpbiBlKWVbdF0+PWl8fGEucHVzaCh7Zm9udENoYXJDb2RlOjB8dCxnbHlwaElkOmVbdF19KTtpZih0KWZvcihjb25zdFtlLHNdb2YgdClzPj1pfHxhLnB1c2goe2ZvbnRDaGFyQ29kZTplLGdseXBoSWQ6c30pOzA9PT1hLmxlbmd0aCYmYS5wdXNoKHtmb250Q2hhckNvZGU6MCxnbHlwaElkOjB9KTthLnNvcnQoKGZ1bmN0aW9uIGZvbnRHZXRSYW5nZXNTb3J0KGUsdCl7cmV0dXJuIGUuZm9udENoYXJDb2RlLXQuZm9udENoYXJDb2RlfSkpO2NvbnN0IHM9W10scj1hLmxlbmd0aDtmb3IobGV0IGU9MDtlPHI7KXtjb25zdCB0PWFbZV0uZm9udENoYXJDb2RlLGk9W2FbZV0uZ2x5cGhJZF07KytlO2xldCBuPXQ7Zm9yKDtlPHImJm4rMT09PWFbZV0uZm9udENoYXJDb2RlOyl7aS5wdXNoKGFbZV0uZ2x5cGhJZCk7KytuOysrZTtpZig2NTUzNT09PW4pYnJlYWt9cy5wdXNoKFt0LG4saV0pfXJldHVybiBzfShlLHQsaSkscz1hLmF0KC0xKVsxXT42NTUzNT8yOjE7bGV0IHIsbixnLG8sYz0iXDBcMCIrc3RyaW5nMTYocykrIlwwA1wwASIrc3RyaW5nMzIoNCs4KnMpO2ZvcihyPWEubGVuZ3RoLTE7cj49MCYmIShhW3JdWzBdPD02NTUzNSk7LS1yKTtjb25zdCBDPXIrMTthW3JdWzBdPDY1NTM1JiY2NTUzNT09PWFbcl1bMV0mJihhW3JdWzFdPTY1NTM0KTtjb25zdCBoPWFbcl1bMV08NjU1MzU/MTowLGw9QytoLFE9T3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMobCwyKTtsZXQgRSx1LGQsZixwPSIiLG09IiIseT0iIix3PSIiLEQ9IiIsYj0wO2ZvcihyPTAsbj1DO3I8bjtyKyspe0U9YVtyXTt1PUVbMF07ZD1FWzFdO3ArPXN0cmluZzE2KHUpO20rPXN0cmluZzE2KGQpO2Y9RVsyXTtsZXQgZT0hMDtmb3IoZz0xLG89Zi5sZW5ndGg7ZzxvOysrZylpZihmW2ddIT09ZltnLTFdKzEpe2U9ITE7YnJlYWt9aWYoZSl7eSs9c3RyaW5nMTYoZlswXS11JjY1NTM1KTt3Kz1zdHJpbmcxNigwKX1lbHNle2NvbnN0IGU9MioobC1yKSsyKmI7Yis9ZC11KzE7eSs9c3RyaW5nMTYoMCk7dys9c3RyaW5nMTYoZSk7Zm9yKGc9MCxvPWYubGVuZ3RoO2c8bzsrK2cpRCs9c3RyaW5nMTYoZltnXSl9fWlmKGg+MCl7bSs9IsO/w78iO3ArPSLDv8O/Ijt5Kz0iXDABIjt3Kz0iXDBcMCJ9Y29uc3QgRj0iXDBcMCIrc3RyaW5nMTYoMipsKStzdHJpbmcxNihRLnJhbmdlKStzdHJpbmcxNihRLmVudHJ5KStzdHJpbmcxNihRLnJhbmdlU2hpZnQpK20rIlwwXDAiK3AreSt3K0Q7bGV0IFM9IiIsaz0iIjtpZihzPjEpe2MrPSJcMANcMFxuIitzdHJpbmczMig0Kzgqcys0K0YubGVuZ3RoKTtTPSIiO2ZvcihyPTAsbj1hLmxlbmd0aDtyPG47cisrKXtFPWFbcl07dT1FWzBdO2Y9RVsyXTtsZXQgZT1mWzBdO2ZvcihnPTEsbz1mLmxlbmd0aDtnPG87KytnKWlmKGZbZ10hPT1mW2ctMV0rMSl7ZD1FWzBdK2ctMTtTKz1zdHJpbmczMih1KStzdHJpbmczMihkKStzdHJpbmczMihlKTt1PWQrMTtlPWZbZ119Uys9c3RyaW5nMzIodSkrc3RyaW5nMzIoRVsxXSkrc3RyaW5nMzIoZSl9az0iXDBcZlwwXDAiK3N0cmluZzMyKFMubGVuZ3RoKzE2KSsiXDBcMFwwXDAiK3N0cmluZzMyKFMubGVuZ3RoLzEyKX1yZXR1cm4gYysiXDAEIitzdHJpbmcxNihGLmxlbmd0aCs0KStGK2srU31mdW5jdGlvbiBjcmVhdGVPUzJUYWJsZShlLHQsaSl7aXx8PXt1bml0c1BlckVtOjAseU1heDowLHlNaW46MCxhc2NlbnQ6MCxkZXNjZW50OjB9O2xldCBhPTAscz0wLHI9MCxuPTAsZz1udWxsLG89MCxjPS0xO2lmKHQpe2ZvcihsZXQgZSBpbiB0KXtlfD0wOyhnPmV8fCFnKSYmKGc9ZSk7bzxlJiYobz1lKTtjPWdldFVuaWNvZGVSYW5nZUZvcihlLGMpO2lmKGM8MzIpYXw9MTw8YztlbHNlIGlmKGM8NjQpc3w9MTw8Yy0zMjtlbHNlIGlmKGM8OTYpcnw9MTw8Yy02NDtlbHNle2lmKCEoYzwxMjMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5pY29kZSByYW5nZXMgQml0cyA+IDEyMyBhcmUgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzYWdlIik7bnw9MTw8Yy05Nn19bz42NTUzNSYmKG89NjU1MzUpfWVsc2V7Zz0wO289MjU1fWNvbnN0IEM9ZS5iYm94fHxbMCwwLDAsMF0saD1pLnVuaXRzUGVyRW18fChlLmZvbnRNYXRyaXg/MS9NYXRoLm1heCguLi5lLmZvbnRNYXRyaXguc2xpY2UoMCw0KS5tYXAoTWF0aC5hYnMpKToxZTMpLGw9ZS5hc2NlbnRTY2FsZWQ/MTpoL0VhLFE9aS5hc2NlbnR8fE1hdGgucm91bmQobCooZS5hc2NlbnR8fENbM10pKTtsZXQgRT1pLmRlc2NlbnR8fE1hdGgucm91bmQobCooZS5kZXNjZW50fHxDWzFdKSk7RT4wJiZlLmRlc2NlbnQ+MCYmQ1sxXTwwJiYoRT0tRSk7Y29uc3QgdT1pLnlNYXh8fFEsZD0taS55TWlufHwtRTtyZXR1cm4iXDADAiQBw7RcMAVcMFwwAsKKAsK7XDBcMFwwwowCwooCwrtcMFwwAcOfXHgwMDEBAlwwXDBcMFwwBiIrU3RyaW5nLmZyb21DaGFyQ29kZShlLmZpeGVkUGl0Y2g/OTowKSsiXDBcMFwwXDBcMFwwIitzdHJpbmczMihhKStzdHJpbmczMihzKStzdHJpbmczMihyKStzdHJpbmczMihuKSsiKjIxKiIrc3RyaW5nMTYoZS5pdGFsaWNBbmdsZT8xOjApK3N0cmluZzE2KGd8fGUuZmlyc3RDaGFyKStzdHJpbmcxNihvfHxlLmxhc3RDaGFyKStzdHJpbmcxNihRKStzdHJpbmcxNihFKSsiXDBkIitzdHJpbmcxNih1KStzdHJpbmcxNihkKSsiXDBcMFwwXDBcMFwwXDBcMCIrc3RyaW5nMTYoZS54SGVpZ2h0KStzdHJpbmcxNihlLmNhcEhlaWdodCkrc3RyaW5nMTYoMCkrc3RyaW5nMTYoZ3x8ZS5maXJzdENoYXIpKyJcMAMifWZ1bmN0aW9uIGNyZWF0ZVBvc3RUYWJsZShlKXtyZXR1cm4iXDADXDBcMCIrc3RyaW5nMzIoTWF0aC5mbG9vcig2NTUzNiplLml0YWxpY0FuZ2xlKSkrIlwwXDBcMFwwIitzdHJpbmczMihlLmZpeGVkUGl0Y2g/MTowKSsiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifWZ1bmN0aW9uIGNyZWF0ZVBvc3RzY3JpcHROYW1lKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoL1teXHgyMS1ceDdFXXxbW1xdKCl7fTw+LyVdL2csIiIpLnNsaWNlKDAsNjMpfWZ1bmN0aW9uIGNyZWF0ZU5hbWVUYWJsZShlLHQpe3R8fCh0PVtbXSxbXV0pO2NvbnN0IGk9W3RbMF1bMF18fCJPcmlnaW5hbCBsaWNlbmNlIix0WzBdWzFdfHxlLHRbMF1bMl18fCJVbmtub3duIix0WzBdWzNdfHwidW5pcXVlSUQiLHRbMF1bNF18fGUsdFswXVs1XXx8IlZlcnNpb24gMC4xMSIsdFswXVs2XXx8Y3JlYXRlUG9zdHNjcmlwdE5hbWUoZSksdFswXVs3XXx8IlVua25vd24iLHRbMF1bOF18fCJVbmtub3duIix0WzBdWzldfHwiVW5rbm93biJdLGE9W107bGV0IHMscixuLGcsbztmb3Iocz0wLHI9aS5sZW5ndGg7czxyO3MrKyl7bz10WzFdW3NdfHxpW3NdO2NvbnN0IGU9W107Zm9yKG49MCxnPW8ubGVuZ3RoO248ZztuKyspZS5wdXNoKHN0cmluZzE2KG8uY2hhckNvZGVBdChuKSkpO2EucHVzaChlLmpvaW4oIiIpKX1jb25zdCBjPVtpLGFdLEM9WyJcMAEiLCJcMAMiXSxoPVsiXDBcMCIsIlwwASJdLGw9WyJcMFwwIiwiBFx0Il0sUT1pLmxlbmd0aCpDLmxlbmd0aDtsZXQgRT0iXDBcMCIrc3RyaW5nMTYoUSkrc3RyaW5nMTYoMTIqUSs2KSx1PTA7Zm9yKHM9MCxyPUMubGVuZ3RoO3M8cjtzKyspe2NvbnN0IGU9Y1tzXTtmb3Iobj0wLGc9ZS5sZW5ndGg7bjxnO24rKyl7bz1lW25dO0UrPUNbc10raFtzXStsW3NdK3N0cmluZzE2KG4pK3N0cmluZzE2KG8ubGVuZ3RoKStzdHJpbmcxNih1KTt1Kz1vLmxlbmd0aH19RSs9aS5qb2luKCIiKSthLmpvaW4oIiIpO3JldHVybiBFfWNsYXNzIEZvbnR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMubmFtZT1lO3RoaXMucHNOYW1lPW51bGw7dGhpcy5taW1ldHlwZT1udWxsO3RoaXMuZGlzYWJsZUZvbnRGYWNlPSExO3RoaXMubG9hZGVkTmFtZT1pLmxvYWRlZE5hbWU7dGhpcy5pc1R5cGUzRm9udD1pLmlzVHlwZTNGb250O3RoaXMubWlzc2luZ0ZpbGU9ITE7dGhpcy5jc3NGb250SW5mbz1pLmNzc0ZvbnRJbmZvO3RoaXMuX2NoYXJzQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLl9nbHlwaENhY2hlPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGE9ISEoaS5mbGFncyZxaSk7aWYoIWEmJiFpLmlzU2ltdWxhdGVkRmxhZ3Mpe2NvbnN0IHQ9ZS5yZXBsYWNlQWxsKC9bLF9dL2csIi0iKS5zcGxpdCgiLSIsMSlbMF0saT16aSgpO2Zvcihjb25zdCBlIG9mIHQuc3BsaXQoIisiKSlpZihpW2VdKXthPSEwO2JyZWFrfX10aGlzLmlzU2VyaWZGb250PWE7dGhpcy5pc1N5bWJvbGljRm9udD0hIShpLmZsYWdzJk9pKTt0aGlzLmlzTW9ub3NwYWNlPSEhKGkuZmxhZ3MmVGkpO2xldHt0eXBlOnMsc3VidHlwZTpyfT1pO3RoaXMudHlwZT1zO3RoaXMuc3VidHlwZT1yO3RoaXMuc3lzdGVtRm9udEluZm89aS5zeXN0ZW1Gb250SW5mbztjb25zdCBuPWUubWF0Y2goL15JbnZhbGlkUERGanNGb250XyguKilfXGQrJC8pO3RoaXMuaXNJbnZhbGlkUERGanNGb250PSEhbjt0aGlzLmlzSW52YWxpZFBERmpzRm9udD90aGlzLmZhbGxiYWNrTmFtZT1uWzFdOnRoaXMuaXNNb25vc3BhY2U/dGhpcy5mYWxsYmFja05hbWU9Im1vbm9zcGFjZSI6dGhpcy5pc1NlcmlmRm9udD90aGlzLmZhbGxiYWNrTmFtZT0ic2VyaWYiOnRoaXMuZmFsbGJhY2tOYW1lPSJzYW5zLXNlcmlmIjtpZih0aGlzLnN5c3RlbUZvbnRJbmZvPy5ndWVzc0ZhbGxiYWNrKXt0aGlzLnN5c3RlbUZvbnRJbmZvLmd1ZXNzRmFsbGJhY2s9ITE7dGhpcy5zeXN0ZW1Gb250SW5mby5jc3MrPWAsJHt0aGlzLmZhbGxiYWNrTmFtZX1gfXRoaXMuZGlmZmVyZW5jZXM9aS5kaWZmZXJlbmNlczt0aGlzLndpZHRocz1pLndpZHRoczt0aGlzLmRlZmF1bHRXaWR0aD1pLmRlZmF1bHRXaWR0aDt0aGlzLmNvbXBvc2l0ZT1pLmNvbXBvc2l0ZTt0aGlzLmNNYXA9aS5jTWFwO3RoaXMuY2FwSGVpZ2h0PWkuY2FwSGVpZ2h0L0VhO3RoaXMuYXNjZW50PWkuYXNjZW50L0VhO3RoaXMuZGVzY2VudD1pLmRlc2NlbnQvRWE7dGhpcy5saW5lSGVpZ2h0PXRoaXMuYXNjZW50LXRoaXMuZGVzY2VudDt0aGlzLmZvbnRNYXRyaXg9aS5mb250TWF0cml4O3RoaXMuYmJveD1pLmJib3g7dGhpcy5kZWZhdWx0RW5jb2Rpbmc9aS5kZWZhdWx0RW5jb2Rpbmc7dGhpcy50b1VuaWNvZGU9aS50b1VuaWNvZGU7dGhpcy50b0ZvbnRDaGFyPVtdO2lmKCJUeXBlMyI9PT1pLnR5cGUpe2ZvcihsZXQgZT0wO2U8MjU2O2UrKyl0aGlzLnRvRm9udENoYXJbZV09dGhpcy5kaWZmZXJlbmNlc1tlXXx8aS5kZWZhdWx0RW5jb2RpbmdbZV07cmV0dXJufXRoaXMuY2lkRW5jb2Rpbmc9aS5jaWRFbmNvZGluZ3x8IiI7dGhpcy52ZXJ0aWNhbD0hIWkudmVydGljYWw7aWYodGhpcy52ZXJ0aWNhbCl7dGhpcy52bWV0cmljcz1pLnZtZXRyaWNzO3RoaXMuZGVmYXVsdFZNZXRyaWNzPWkuZGVmYXVsdFZNZXRyaWNzfWlmKCF0fHx0LmlzRW1wdHkpe3QmJndhcm4oJ0ZvbnQgZmlsZSBpcyBlbXB0eSBpbiAiJytlKyciICgnK3RoaXMubG9hZGVkTmFtZSsiKSIpO3RoaXMuZmFsbGJhY2tUb1N5c3RlbUZvbnQoaSk7cmV0dXJufVtzLHJdPWdldEZvbnRGaWxlVHlwZSh0LGkpO3M9PT10aGlzLnR5cGUmJnI9PT10aGlzLnN1YnR5cGV8fGluZm8oYEluY29uc2lzdGVudCBmb250IGZpbGUgVHlwZS9TdWJUeXBlLCBleHBlY3RlZDogJHt0aGlzLnR5cGV9LyR7dGhpcy5zdWJ0eXBlfSBidXQgZm91bmQ6ICR7c30vJHtyfS5gKTtsZXQgZzt0cnl7c3dpdGNoKHMpe2Nhc2UiTU1UeXBlMSI6aW5mbygiTU1UeXBlMSBmb250ICgiK2UrIiksIGZhbGxpbmcgYmFjayB0byBUeXBlMS4iKTtjYXNlIlR5cGUxIjpjYXNlIkNJREZvbnRUeXBlMCI6dGhpcy5taW1ldHlwZT0iZm9udC9vcGVudHlwZSI7Y29uc3QgYT0iVHlwZTFDIj09PXJ8fCJDSURGb250VHlwZTBDIj09PXI/bmV3IENGRkZvbnQodCxpKTpuZXcgVHlwZTFGb250KGUsdCxpKTthZGp1c3RXaWR0aHMoaSk7Zz10aGlzLmNvbnZlcnQoZSxhLGkpO2JyZWFrO2Nhc2UiT3BlblR5cGUiOmNhc2UiVHJ1ZVR5cGUiOmNhc2UiQ0lERm9udFR5cGUyIjp0aGlzLm1pbWV0eXBlPSJmb250L29wZW50eXBlIjtnPXRoaXMuY2hlY2tBbmRSZXBhaXIoZSx0LGkpO2lmKHRoaXMuaXNPcGVuVHlwZSl7YWRqdXN0V2lkdGhzKGkpO3M9Ik9wZW5UeXBlIn1icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgRm9udCAke3N9IGlzIG5vdCBzdXBwb3J0ZWRgKX19Y2F0Y2goZSl7d2FybihlKTt0aGlzLmZhbGxiYWNrVG9TeXN0ZW1Gb250KGkpO3JldHVybn1hbWVuZEZhbGxiYWNrVG9Vbmljb2RlKGkpO3RoaXMuZGF0YT1nO3RoaXMudHlwZT1zO3RoaXMuc3VidHlwZT1yO3RoaXMuZm9udE1hdHJpeD1pLmZvbnRNYXRyaXg7dGhpcy53aWR0aHM9aS53aWR0aHM7dGhpcy5kZWZhdWx0V2lkdGg9aS5kZWZhdWx0V2lkdGg7dGhpcy50b1VuaWNvZGU9aS50b1VuaWNvZGU7dGhpcy5zZWFjTWFwPWkuc2VhY01hcH1nZXQgcmVuZGVyZXIoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJlbmRlcmVyIixGb250UmVuZGVyZXJGYWN0b3J5LmNyZWF0ZSh0aGlzLEtpKSl9ZXhwb3J0RGF0YShlPSExKXtjb25zdCB0PWU/Wy4uLnVhLC4uLmRhXTp1YSxpPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGEscztmb3IoYSBvZiB0KXtzPXRoaXNbYV07dm9pZCAwIT09cyYmKGlbYV09cyl9cmV0dXJuIGl9ZmFsbGJhY2tUb1N5c3RlbUZvbnQoZSl7dGhpcy5taXNzaW5nRmlsZT0hMDtjb25zdHtuYW1lOnQsdHlwZTppfT10aGlzO2xldCBhPW5vcm1hbGl6ZUZvbnROYW1lKHQpO2NvbnN0IHM9WGkoKSxyPVZpKCksbj0hIXNbYV0sZz0hKCFyW2FdfHwhc1tyW2FdXSk7YT1zW2FdfHxyW2FdfHxhO2NvbnN0IG89YWEoKVthXTtpZihvKXtpc05hTih0aGlzLmFzY2VudCkmJih0aGlzLmFzY2VudD1vLmFzY2VudC9FYSk7aXNOYU4odGhpcy5kZXNjZW50KSYmKHRoaXMuZGVzY2VudD1vLmRlc2NlbnQvRWEpO2lzTmFOKHRoaXMuY2FwSGVpZ2h0KSYmKHRoaXMuY2FwSGVpZ2h0PW8uY2FwSGVpZ2h0L0VhKX10aGlzLmJvbGQ9L2JvbGQvZ2kudGVzdChhKTt0aGlzLml0YWxpYz0vb2JsaXF1ZXxpdGFsaWMvZ2kudGVzdChhKTt0aGlzLmJsYWNrPS9CbGFjay9nLnRlc3QodCk7Y29uc3QgYz0vTmFycm93L2cudGVzdCh0KTt0aGlzLnJlbWVhc3VyZT0oIW58fGMpJiZPYmplY3Qua2V5cyh0aGlzLndpZHRocykubGVuZ3RoPjA7aWYoKG58fGcpJiYiQ0lERm9udFR5cGUyIj09PWkmJnRoaXMuY2lkRW5jb2Rpbmcuc3RhcnRzV2l0aCgiSWRlbnRpdHktIikpe2NvbnN0IGk9ZS5jaWRUb0dpZE1hcCxhPVtdO2FwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoYSwkaSgpKTsvQXJpYWwtP0JsYWNrL2kudGVzdCh0KT9hcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGEsQWEoKSk6L0NhbGlicmkvaS50ZXN0KHQpJiZhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGEsZWEoKSk7aWYoaSl7Zm9yKGNvbnN0IGUgaW4gYSl7Y29uc3QgdD1hW2VdO3ZvaWQgMCE9PWlbdF0mJihhWytlXT1pW3RdKX1pLmxlbmd0aCE9PXRoaXMudG9Vbmljb2RlLmxlbmd0aCYmZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcCYmdGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcCYmdGhpcy50b1VuaWNvZGUuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtjb25zdCBzPWFbZV07dm9pZCAwPT09aVtzXSYmKGFbK2VdPXQpfSkpfXRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXB8fHRoaXMudG9Vbmljb2RlLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7YVsrZV09dH0pKTt0aGlzLnRvRm9udENoYXI9YTt0aGlzLnRvVW5pY29kZT1uZXcgVG9Vbmljb2RlTWFwKGEpfWVsc2UgaWYoL1N5bWJvbC9pLnRlc3QoYSkpdGhpcy50b0ZvbnRDaGFyPWJ1aWxkVG9Gb250Q2hhcih3aSx4aSgpLHRoaXMuZGlmZmVyZW5jZXMpO2Vsc2UgaWYoL0RpbmdiYXRzL2kudGVzdChhKSl0aGlzLnRvRm9udENoYXI9YnVpbGRUb0ZvbnRDaGFyKERpLE1pKCksdGhpcy5kaWZmZXJlbmNlcyk7ZWxzZSBpZihufHxnKXtjb25zdCBlPWJ1aWxkVG9Gb250Q2hhcih0aGlzLmRlZmF1bHRFbmNvZGluZyx4aSgpLHRoaXMuZGlmZmVyZW5jZXMpOyJDSURGb250VHlwZTIiIT09aXx8dGhpcy5jaWRFbmNvZGluZy5zdGFydHNXaXRoKCJJZGVudGl0eS0iKXx8dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcHx8dGhpcy50b1VuaWNvZGUuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtlWyt0XT1pfSkpO3RoaXMudG9Gb250Q2hhcj1lfWVsc2V7Y29uc3QgZT14aSgpLGk9W107dGhpcy50b1VuaWNvZGUuZm9yRWFjaCgoKHQsYSk9PntpZighdGhpcy5jb21wb3NpdGUpe2NvbnN0IGk9Z2V0VW5pY29kZUZvckdseXBoKHRoaXMuZGlmZmVyZW5jZXNbdF18fHRoaXMuZGVmYXVsdEVuY29kaW5nW3RdLGUpOy0xIT09aSYmKGE9aSl9aVsrdF09YX0pKTt0aGlzLmNvbXBvc2l0ZSYmdGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcCYmL1RhaG9tYXxWZXJkYW5hL2kudGVzdCh0KSYmYXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChpLCRpKCkpO3RoaXMudG9Gb250Q2hhcj1pfWFtZW5kRmFsbGJhY2tUb1VuaWNvZGUoZSk7dGhpcy5sb2FkZWROYW1lPWEuc3BsaXQoIi0iLDEpWzBdfWNoZWNrQW5kUmVwYWlyKGUsdCxpKXtjb25zdCBhPVsiT1MvMiIsImNtYXAiLCJoZWFkIiwiaGhlYSIsImhtdHgiLCJtYXhwIiwibmFtZSIsInBvc3QiLCJsb2NhIiwiZ2x5ZiIsImZwZ20iLCJwcmVwIiwiY3Z0ICIsIkNGRiAiXTtmdW5jdGlvbiByZWFkVGFibGVzKGUsdCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2lbIk9TLzIiXT1udWxsO2kuY21hcD1udWxsO2kuaGVhZD1udWxsO2kuaGhlYT1udWxsO2kuaG10eD1udWxsO2kubWF4cD1udWxsO2kubmFtZT1udWxsO2kucG9zdD1udWxsO2ZvcihsZXQgcz0wO3M8dDtzKyspe2NvbnN0IHQ9cmVhZFRhYmxlRW50cnkoZSk7YS5pbmNsdWRlcyh0LnRhZykmJigwIT09dC5sZW5ndGgmJihpW3QudGFnXT10KSl9cmV0dXJuIGl9ZnVuY3Rpb24gcmVhZFRhYmxlRW50cnkoZSl7Y29uc3QgdD1lLmdldFN0cmluZyg0KSxpPWUuZ2V0SW50MzIoKT4+PjAsYT1lLmdldEludDMyKCk+Pj4wLHM9ZS5nZXRJbnQzMigpPj4+MCxyPWUucG9zO2UucG9zPWUuc3RhcnR8fDA7ZS5za2lwKGEpO2NvbnN0IG49ZS5nZXRCeXRlcyhzKTtlLnBvcz1yO2lmKCJoZWFkIj09PXQpe25bOF09bls5XT1uWzEwXT1uWzExXT0wO25bMTddfD0zMn1yZXR1cm57dGFnOnQsY2hlY2tzdW06aSxsZW5ndGg6cyxvZmZzZXQ6YSxkYXRhOm59fWZ1bmN0aW9uIHJlYWRPcGVuVHlwZUhlYWRlcihlKXtyZXR1cm57dmVyc2lvbjplLmdldFN0cmluZyg0KSxudW1UYWJsZXM6ZS5nZXRVaW50MTYoKSxzZWFyY2hSYW5nZTplLmdldFVpbnQxNigpLGVudHJ5U2VsZWN0b3I6ZS5nZXRVaW50MTYoKSxyYW5nZVNoaWZ0OmUuZ2V0VWludDE2KCl9fWZ1bmN0aW9uIHNhbml0aXplR2x5cGgoZSx0LGksYSxzLHIpe2NvbnN0IG49e2xlbmd0aDowLHNpemVPZkluc3RydWN0aW9uczowfTtpZih0PDB8fHQ+PWUubGVuZ3RofHxpPmUubGVuZ3RofHxpLXQ8PTEyKXJldHVybiBuO2NvbnN0IGc9ZS5zdWJhcnJheSh0LGkpLG89c2lnbmVkSW50MTYoZ1syXSxnWzNdKSxjPXNpZ25lZEludDE2KGdbNF0sZ1s1XSksQz1zaWduZWRJbnQxNihnWzZdLGdbN10pLGg9c2lnbmVkSW50MTYoZ1s4XSxnWzldKTtpZihvPkMpe3dyaXRlU2lnbmVkSW50MTYoZywyLEMpO3dyaXRlU2lnbmVkSW50MTYoZyw2LG8pfWlmKGM+aCl7d3JpdGVTaWduZWRJbnQxNihnLDQsaCk7d3JpdGVTaWduZWRJbnQxNihnLDgsYyl9Y29uc3QgbD1zaWduZWRJbnQxNihnWzBdLGdbMV0pO2lmKGw8MCl7aWYobDwtMSlyZXR1cm4gbjthLnNldChnLHMpO24ubGVuZ3RoPWcubGVuZ3RoO3JldHVybiBufWxldCBRLEU9MTAsdT0wO2ZvcihRPTA7UTxsO1ErKyl7dT0oZ1tFXTw8OHxnW0UrMV0pKzE7RSs9Mn1jb25zdCBkPUUsZj1nW0VdPDw4fGdbRSsxXTtuLnNpemVPZkluc3RydWN0aW9ucz1mO0UrPTIrZjtjb25zdCBwPUU7bGV0IG09MDtmb3IoUT0wO1E8dTtRKyspe2NvbnN0IGU9Z1tFKytdOzE5MiZlJiYoZ1tFLTFdPTYzJmUpO2xldCB0PTI7MiZlP3Q9MToxNiZlJiYodD0wKTtsZXQgaT0yOzQmZT9pPTE6MzImZSYmKGk9MCk7Y29uc3QgYT10K2k7bSs9YTtpZig4JmUpe2NvbnN0IGU9Z1tFKytdOzA9PT1lJiYoZ1tFLTFdXj04KTtRKz1lO20rPWUqYX19aWYoMD09PW0pcmV0dXJuIG47bGV0IHk9RSttO2lmKHk+Zy5sZW5ndGgpcmV0dXJuIG47aWYoIXImJmY+MCl7YS5zZXQoZy5zdWJhcnJheSgwLGQpLHMpO2Euc2V0KFswLDBdLHMrZCk7YS5zZXQoZy5zdWJhcnJheShwLHkpLHMrZCsyKTt5LT1mO2cubGVuZ3RoLXk+MyYmKHk9eSszJi00KTtuLmxlbmd0aD15O3JldHVybiBufWlmKGcubGVuZ3RoLXk+Myl7eT15KzMmLTQ7YS5zZXQoZy5zdWJhcnJheSgwLHkpLHMpO24ubGVuZ3RoPXk7cmV0dXJuIG59YS5zZXQoZyxzKTtuLmxlbmd0aD1nLmxlbmd0aDtyZXR1cm4gbn1mdW5jdGlvbiByZWFkTmFtZVRhYmxlKGUpe2NvbnN0IGk9KHQuc3RhcnR8fDApK2Uub2Zmc2V0O3QucG9zPWk7Y29uc3QgYT1bW10sW11dLHM9W10scj1lLmxlbmd0aCxuPWkrcjtpZigwIT09dC5nZXRVaW50MTYoKXx8cjw2KXJldHVyblthLHNdO2NvbnN0IGc9dC5nZXRVaW50MTYoKSxvPXQuZ2V0VWludDE2KCk7bGV0IGMsQztmb3IoYz0wO2M8ZyYmdC5wb3MrMTI8PW47YysrKXtjb25zdCBlPXtwbGF0Zm9ybTp0LmdldFVpbnQxNigpLGVuY29kaW5nOnQuZ2V0VWludDE2KCksbGFuZ3VhZ2U6dC5nZXRVaW50MTYoKSxuYW1lOnQuZ2V0VWludDE2KCksbGVuZ3RoOnQuZ2V0VWludDE2KCksb2Zmc2V0OnQuZ2V0VWludDE2KCl9Oyhpc01hY05hbWVSZWNvcmQoZSl8fGlzV2luTmFtZVJlY29yZChlKSkmJnMucHVzaChlKX1mb3IoYz0wLEM9cy5sZW5ndGg7YzxDO2MrKyl7Y29uc3QgZT1zW2NdO2lmKGUubGVuZ3RoPD0wKWNvbnRpbnVlO2NvbnN0IHI9aStvK2Uub2Zmc2V0O2lmKHIrZS5sZW5ndGg+biljb250aW51ZTt0LnBvcz1yO2NvbnN0IGc9ZS5uYW1lO2lmKGUuZW5jb2Rpbmcpe2xldCBpPSIiO2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErPTIpaSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0LmdldFVpbnQxNigpKTthWzFdW2ddPWl9ZWxzZSBhWzBdW2ddPXQuZ2V0U3RyaW5nKGUubGVuZ3RoKX1yZXR1cm5bYSxzXX1jb25zdCBzPVswLDAsMCwwLDAsMCwwLDAsLTIsLTIsLTIsLTIsMCwwLC0yLC01LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLDAsMCwtMSwwLC0xLC0xLC0xLC0xLDEsLTEsLTk5OSwwLDEsMCwtMSwtMiwwLC0xLC0yLC0xLC0xLDAsLTEsLTEsMCwwLC05OTksLTk5OSwtMSwtMSwtMSwtMSwtMiwtOTk5LC0yLC0yLC05OTksMCwtMiwtMiwwLDAsLTIsMCwtMiwwLDAsMCwtMiwtMSwtMSwxLDEsMCwwLC0xLC0xLC0xLC0xLC0xLC0xLC0xLDAsMCwtMSwwLC0xLC0xLDAsLTk5OSwtMSwtMSwtMSwtMSwtMSwtMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwtMiwtOTk5LC05OTksLTk5OSwtOTk5LC05OTksLTEsLTEsLTIsLTIsMCwwLDAsMCwtMSwtMSwtOTk5LC0yLC0yLDAsMCwtMSwtMiwtMiwwLDAsMCwtMSwtMSwtMSwtMl07ZnVuY3Rpb24gc2FuaXRpemVUVFByb2dyYW0oZSx0KXtsZXQgaSxhLHIsbixnLG89ZS5kYXRhLGM9MCxDPTAsaD0wO2NvbnN0IGw9W10sUT1bXSxFPVtdO2xldCB1PXQudG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zLGQ9ITEsZj0wLHA9MDtmb3IobGV0IGU9by5sZW5ndGg7YzxlOyl7Y29uc3QgZT1vW2MrK107aWYoNjQ9PT1lKXthPW9bYysrXTtpZihkfHxwKWMrPWE7ZWxzZSBmb3IoaT0wO2k8YTtpKyspbC5wdXNoKG9bYysrXSl9ZWxzZSBpZig2NT09PWUpe2E9b1tjKytdO2lmKGR8fHApYys9MiphO2Vsc2UgZm9yKGk9MDtpPGE7aSsrKXtyPW9bYysrXTtsLnB1c2gocjw8OHxvW2MrK10pfX1lbHNlIGlmKDE3Nj09KDI0OCZlKSl7YT1lLTE3NisxO2lmKGR8fHApYys9YTtlbHNlIGZvcihpPTA7aTxhO2krKylsLnB1c2gob1tjKytdKX1lbHNlIGlmKDE4ND09KDI0OCZlKSl7YT1lLTE4NCsxO2lmKGR8fHApYys9MiphO2Vsc2UgZm9yKGk9MDtpPGE7aSsrKXtyPW9bYysrXTtsLnB1c2goc2lnbmVkSW50MTYocixvW2MrK10pKX19ZWxzZSBpZig0MyE9PWV8fHUpaWYoNDQhPT1lfHx1KXtpZig0NT09PWUpaWYoZCl7ZD0hMTtDPWN9ZWxzZXtnPVEucG9wKCk7aWYoIWcpe3dhcm4oIlRUOiBFTkRGIGJhZCBzdGFjayIpO3QuaGludHNWYWxpZD0hMTtyZXR1cm59bj1FLnBvcCgpO289Zy5kYXRhO2M9Zy5pO3QuZnVuY3Rpb25zU3RhY2tEZWx0YXNbbl09bC5sZW5ndGgtZy5zdGFja1RvcH1lbHNlIGlmKDEzNz09PWUpe2lmKGR8fHApe3dhcm4oIlRUOiBuZXN0ZWQgSURFRnMgbm90IGFsbG93ZWQiKTt1PSEwfWQ9ITA7aD1jfWVsc2UgaWYoODg9PT1lKSsrZjtlbHNlIGlmKDI3PT09ZSlwPWY7ZWxzZSBpZig4OT09PWUpe3A9PT1mJiYocD0wKTstLWZ9ZWxzZSBpZigyOD09PWUmJiFkJiYhcCl7Y29uc3QgZT1sLmF0KC0xKTtlPjAmJihjKz1lLTEpfX1lbHNle2lmKGR8fHApe3dhcm4oIlRUOiBuZXN0ZWQgRkRFRnMgbm90IGFsbG93ZWQiKTt1PSEwfWQ9ITA7aD1jO249bC5wb3AoKTt0LmZ1bmN0aW9uc0RlZmluZWRbbl09e2RhdGE6byxpOmN9fWVsc2UgaWYoIWQmJiFwKXtuPWwuYXQoLTEpO2lmKGlzTmFOKG4pKWluZm8oIlRUOiBDQUxMIGVtcHR5IHN0YWNrIChvciBpbnZhbGlkIGVudHJ5KS4iKTtlbHNle3QuZnVuY3Rpb25zVXNlZFtuXT0hMDtpZihuIGluIHQuZnVuY3Rpb25zU3RhY2tEZWx0YXMpe2NvbnN0IGU9bC5sZW5ndGgrdC5mdW5jdGlvbnNTdGFja0RlbHRhc1tuXTtpZihlPDApe3dhcm4oIlRUOiBDQUxMIGludmFsaWQgZnVuY3Rpb25zIHN0YWNrIGRlbHRhLiIpO3QuaGludHNWYWxpZD0hMTtyZXR1cm59bC5sZW5ndGg9ZX1lbHNlIGlmKG4gaW4gdC5mdW5jdGlvbnNEZWZpbmVkJiYhRS5pbmNsdWRlcyhuKSl7US5wdXNoKHtkYXRhOm8saTpjLHN0YWNrVG9wOmwubGVuZ3RoLTF9KTtFLnB1c2gobik7Zz10LmZ1bmN0aW9uc0RlZmluZWRbbl07aWYoIWcpe3dhcm4oIlRUOiBDQUxMIG5vbi1leGlzdGVudCBmdW5jdGlvbiIpO3QuaGludHNWYWxpZD0hMTtyZXR1cm59bz1nLmRhdGE7Yz1nLml9fX1pZighZCYmIXApe2xldCB0PTA7ZTw9MTQyP3Q9c1tlXTplPj0xOTImJmU8PTIyMz90PS0xOmU+PTIyNCYmKHQ9LTIpO2lmKGU+PTExMyYmZTw9MTE3KXthPWwucG9wKCk7aXNOYU4oYSl8fCh0PTIqLWEpfWZvcig7dDwwJiZsLmxlbmd0aD4wOyl7bC5wb3AoKTt0Kyt9Zm9yKDt0PjA7KXtsLnB1c2goTmFOKTt0LS19fX10LnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucz11O2NvbnN0IG09W29dO2M+by5sZW5ndGgmJm0ucHVzaChuZXcgVWludDhBcnJheShjLW8ubGVuZ3RoKSk7aWYoaD5DKXt3YXJuKCJUVDogY29tcGxlbWVudGluZyBhIG1pc3NpbmcgZnVuY3Rpb24gdGFpbCIpO20ucHVzaChuZXcgVWludDhBcnJheShbMzQsNDVdKSl9IWZ1bmN0aW9uIGZvbGRUVFRhYmxlKGUsdCl7aWYodC5sZW5ndGg+MSl7bGV0IGksYSxzPTA7Zm9yKGk9MCxhPXQubGVuZ3RoO2k8YTtpKyspcys9dFtpXS5sZW5ndGg7cz1zKzMmLTQ7Y29uc3Qgcj1uZXcgVWludDhBcnJheShzKTtsZXQgbj0wO2ZvcihpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXtyLnNldCh0W2ldLG4pO24rPXRbaV0ubGVuZ3RofWUuZGF0YT1yO2UubGVuZ3RoPXN9fShlLG0pfWxldCByLG4sZyxvO2lmKGlzVHJ1ZVR5cGVDb2xsZWN0aW9uRmlsZSh0PW5ldyBTdHJlYW0obmV3IFVpbnQ4QXJyYXkodC5nZXRCeXRlcygpKSkpKXtjb25zdCBlPWZ1bmN0aW9uIHJlYWRUcnVlVHlwZUNvbGxlY3Rpb25EYXRhKGUsdCl7Y29uc3R7bnVtRm9udHM6aSxvZmZzZXRUYWJsZTphfT1mdW5jdGlvbiByZWFkVHJ1ZVR5cGVDb2xsZWN0aW9uSGVhZGVyKGUpe2NvbnN0IHQ9ZS5nZXRTdHJpbmcoNCk7YXNzZXJ0KCJ0dGNmIj09PXQsIk11c3QgYmUgYSBUcnVlVHlwZSBDb2xsZWN0aW9uIGZvbnQuIik7Y29uc3QgaT1lLmdldFVpbnQxNigpLGE9ZS5nZXRVaW50MTYoKSxzPWUuZ2V0SW50MzIoKT4+PjAscj1bXTtmb3IobGV0IHQ9MDt0PHM7dCsrKXIucHVzaChlLmdldEludDMyKCk+Pj4wKTtjb25zdCBuPXt0dGNUYWc6dCxtYWpvclZlcnNpb246aSxtaW5vclZlcnNpb246YSxudW1Gb250czpzLG9mZnNldFRhYmxlOnJ9O3N3aXRjaChpKXtjYXNlIDE6cmV0dXJuIG47Y2FzZSAyOm4uZHNpZ1RhZz1lLmdldEludDMyKCk+Pj4wO24uZHNpZ0xlbmd0aD1lLmdldEludDMyKCk+Pj4wO24uZHNpZ09mZnNldD1lLmdldEludDMyKCk+Pj4wO3JldHVybiBufXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBUcnVlVHlwZSBDb2xsZWN0aW9uIG1ham9yVmVyc2lvbjogJHtpfS5gKX0oZSkscz10LnNwbGl0KCIrIik7bGV0IHI7Zm9yKGxldCBuPTA7bjxpO24rKyl7ZS5wb3M9KGUuc3RhcnR8fDApK2Fbbl07Y29uc3QgaT1yZWFkT3BlblR5cGVIZWFkZXIoZSksZz1yZWFkVGFibGVzKGUsaS5udW1UYWJsZXMpO2lmKCFnLm5hbWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdUcnVlVHlwZSBDb2xsZWN0aW9uIGZvbnQgbXVzdCBjb250YWluIGEgIm5hbWUiIHRhYmxlLicpO2NvbnN0W29dPXJlYWROYW1lVGFibGUoZy5uYW1lKTtmb3IobGV0IGU9MCxhPW8ubGVuZ3RoO2U8YTtlKyspZm9yKGxldCBhPTAsbj1vW2VdLmxlbmd0aDthPG47YSsrKXtjb25zdCBuPW9bZV1bYV0/LnJlcGxhY2VBbGwoL1xzL2csIiIpO2lmKG4pe2lmKG49PT10KXJldHVybntoZWFkZXI6aSx0YWJsZXM6Z307aWYoIShzLmxlbmd0aDwyKSlmb3IoY29uc3QgZSBvZiBzKW49PT1lJiYocj17bmFtZTplLGhlYWRlcjppLHRhYmxlczpnfSl9fX1pZihyKXt3YXJuKGBUcnVlVHlwZSBDb2xsZWN0aW9uIGRvZXMgbm90IGNvbnRhaW4gIiR7dH0iIGZvbnQsIGZhbGxpbmcgYmFjayB0byAiJHtyLm5hbWV9IiBmb250IGluc3RlYWQuYCk7cmV0dXJue2hlYWRlcjpyLmhlYWRlcix0YWJsZXM6ci50YWJsZXN9fXRocm93IG5ldyBGb3JtYXRFcnJvcihgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBkb2VzIG5vdCBjb250YWluICIke3R9IiBmb250LmApfSh0LHRoaXMubmFtZSk7cj1lLmhlYWRlcjtuPWUudGFibGVzfWVsc2V7cj1yZWFkT3BlblR5cGVIZWFkZXIodCk7bj1yZWFkVGFibGVzKHQsci5udW1UYWJsZXMpfWNvbnN0IGM9IW5bIkNGRiAiXTtpZihjKXtpZighbi5sb2NhKXRocm93IG5ldyBGb3JtYXRFcnJvcignUmVxdWlyZWQgImxvY2EiIHRhYmxlIGlzIG5vdCBmb3VuZCcpO2lmKCFuLmdseWYpe3dhcm4oJ1JlcXVpcmVkICJnbHlmIiB0YWJsZSBpcyBub3QgZm91bmQgLS0gdHJ5aW5nIHRvIHJlY292ZXIuJyk7bi5nbHlmPXt0YWc6ImdseWYiLGRhdGE6bmV3IFVpbnQ4QXJyYXkoMCl9fXRoaXMuaXNPcGVuVHlwZT0hMX1lbHNle2NvbnN0IHQ9aS5jb21wb3NpdGUmJihpLmNpZFRvR2lkTWFwPy5sZW5ndGg+MHx8IShpLmNNYXAgaW5zdGFuY2VvZiBJZGVudGl0eUNNYXApKTtpZigiT1RUTyI9PT1yLnZlcnNpb24mJiF0fHwhbi5oZWFkfHwhbi5oaGVhfHwhbi5tYXhwfHwhbi5wb3N0KXtvPW5ldyBTdHJlYW0oblsiQ0ZGICJdLmRhdGEpO2c9bmV3IENGRkZvbnQobyxpKTthZGp1c3RXaWR0aHMoaSk7cmV0dXJuIHRoaXMuY29udmVydChlLGcsaSl9ZGVsZXRlIG4uZ2x5ZjtkZWxldGUgbi5sb2NhO2RlbGV0ZSBuLmZwZ207ZGVsZXRlIG4ucHJlcDtkZWxldGUgblsiY3Z0ICJdO3RoaXMuaXNPcGVuVHlwZT0hMH1pZighbi5tYXhwKXRocm93IG5ldyBGb3JtYXRFcnJvcignUmVxdWlyZWQgIm1heHAiIHRhYmxlIGlzIG5vdCBmb3VuZCcpO3QucG9zPSh0LnN0YXJ0fHwwKStuLm1heHAub2Zmc2V0O2xldCBDPXQuZ2V0SW50MzIoKTtjb25zdCBoPXQuZ2V0VWludDE2KCk7aWYoNjU1MzYhPT1DJiYyMDQ4MCE9PUMpe2lmKDY9PT1uLm1heHAubGVuZ3RoKUM9MjA0ODA7ZWxzZXtpZighKG4ubWF4cC5sZW5ndGg+PTMyKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJyJtYXhwIiB0YWJsZSBoYXMgYSB3cm9uZyB2ZXJzaW9uIG51bWJlcicpO0M9NjU1MzZ9IWZ1bmN0aW9uIHdyaXRlVWludDMyKGUsdCxpKXtlW3QrM109MjU1Jmk7ZVt0KzJdPWk+Pj44O2VbdCsxXT1pPj4+MTY7ZVt0XT1pPj4+MjR9KG4ubWF4cC5kYXRhLDAsQyl9aWYoaS5zY2FsZUZhY3RvcnM/Lmxlbmd0aD09PWgmJmMpe2NvbnN0e3NjYWxlRmFjdG9yczplfT1pLHQ9aW50MTYobi5oZWFkLmRhdGFbNTBdLG4uaGVhZC5kYXRhWzUxXSksYT1uZXcgR2x5ZlRhYmxlKHtnbHlmVGFibGU6bi5nbHlmLmRhdGEsaXNHbHlwaExvY2F0aW9uc0xvbmc6dCxsb2NhVGFibGU6bi5sb2NhLmRhdGEsbnVtR2x5cGhzOmh9KTthLnNjYWxlKGUpO2NvbnN0e2dseWY6cyxsb2NhOnIsaXNMb2NhdGlvbkxvbmc6Z309YS53cml0ZSgpO24uZ2x5Zi5kYXRhPXM7bi5sb2NhLmRhdGE9cjtpZihnIT09ISF0KXtuLmhlYWQuZGF0YVs1MF09MDtuLmhlYWQuZGF0YVs1MV09Zz8xOjB9Y29uc3Qgbz1uLmhtdHguZGF0YTtmb3IobGV0IHQ9MDt0PGg7dCsrKXtjb25zdCBpPTQqdCxhPU1hdGgucm91bmQoZVt0XSppbnQxNihvW2ldLG9baSsxXSkpO29baV09YT4+OCYyNTU7b1tpKzFdPTI1NSZhO3dyaXRlU2lnbmVkSW50MTYobyxpKzIsTWF0aC5yb3VuZChlW3RdKnNpZ25lZEludDE2KG9baSsyXSxvW2krM10pKSl9fWxldCBsPWgrMSxRPSEwO2lmKGw+NjU1MzUpe1E9ITE7bD1oO3dhcm4oIk5vdCBlbm91Z2ggc3BhY2UgaW4gZ2x5ZnMgdG8gZHVwbGljYXRlIGZpcnN0IGdseXBoLiIpfWxldCBFPTAsdT0wO2lmKEM+PTY1NTM2JiZuLm1heHAubGVuZ3RoPj0zMil7dC5wb3MrPTg7aWYodC5nZXRVaW50MTYoKT4yKXtuLm1heHAuZGF0YVsxNF09MDtuLm1heHAuZGF0YVsxNV09Mn10LnBvcys9NDtFPXQuZ2V0VWludDE2KCk7dC5wb3MrPTQ7dT10LmdldFVpbnQxNigpfW4ubWF4cC5kYXRhWzRdPWw+Pjg7bi5tYXhwLmRhdGFbNV09MjU1Jmw7Y29uc3QgZD1mdW5jdGlvbiBzYW5pdGl6ZVRUUHJvZ3JhbXMoZSx0LGksYSl7Y29uc3Qgcz17ZnVuY3Rpb25zRGVmaW5lZDpbXSxmdW5jdGlvbnNVc2VkOltdLGZ1bmN0aW9uc1N0YWNrRGVsdGFzOltdLHRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9uczohMSxoaW50c1ZhbGlkOiEwfTtlJiZzYW5pdGl6ZVRUUHJvZ3JhbShlLHMpO3QmJnNhbml0aXplVFRQcm9ncmFtKHQscyk7ZSYmZnVuY3Rpb24gY2hlY2tJbnZhbGlkRnVuY3Rpb25zKGUsdCl7aWYoIWUudG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zKWlmKGUuZnVuY3Rpb25zRGVmaW5lZC5sZW5ndGg+dCl7d2FybigiVFQ6IG1vcmUgZnVuY3Rpb25zIGRlZmluZWQgdGhhbiBleHBlY3RlZCIpO2UuaGludHNWYWxpZD0hMX1lbHNlIGZvcihsZXQgaT0wLGE9ZS5mdW5jdGlvbnNVc2VkLmxlbmd0aDtpPGE7aSsrKXtpZihpPnQpe3dhcm4oIlRUOiBpbnZhbGlkIGZ1bmN0aW9uIGlkOiAiK2kpO2UuaGludHNWYWxpZD0hMTtyZXR1cm59aWYoZS5mdW5jdGlvbnNVc2VkW2ldJiYhZS5mdW5jdGlvbnNEZWZpbmVkW2ldKXt3YXJuKCJUVDogdW5kZWZpbmVkIGZ1bmN0aW9uOiAiK2kpO2UuaGludHNWYWxpZD0hMTtyZXR1cm59fX0ocyxhKTtpZihpJiYxJmkubGVuZ3RoKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGkubGVuZ3RoKzEpO2Uuc2V0KGkuZGF0YSk7aS5kYXRhPWV9cmV0dXJuIHMuaGludHNWYWxpZH0obi5mcGdtLG4ucHJlcCxuWyJjdnQgIl0sRSk7aWYoIWQpe2RlbGV0ZSBuLmZwZ207ZGVsZXRlIG4ucHJlcDtkZWxldGUgblsiY3Z0ICJdfSFmdW5jdGlvbiBzYW5pdGl6ZU1ldHJpY3MoZSx0LGksYSxzLHIpe2lmKCF0KXtpJiYoaS5kYXRhPW51bGwpO3JldHVybn1lLnBvcz0oZS5zdGFydHx8MCkrdC5vZmZzZXQ7ZS5wb3MrPTQ7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7ZS5wb3MrPTI7Y29uc3Qgbj1lLmdldFVpbnQxNigpO2UucG9zKz04O2UucG9zKz0yO2xldCBnPWUuZ2V0VWludDE2KCk7aWYoMCE9PW4pe2lmKCEoMiZpbnQxNihhLmRhdGFbNDRdLGEuZGF0YVs0NV0pKSl7dC5kYXRhWzIyXT0wO3QuZGF0YVsyM109MH19aWYoZz5zKXtpbmZvKGBUaGUgbnVtT2ZNZXRyaWNzICgke2d9KSBzaG91bGQgbm90IGJlIGdyZWF0ZXIgdGhhbiB0aGUgbnVtR2x5cGhzICgke3N9KS5gKTtnPXM7dC5kYXRhWzM0XT0oNjUyODAmZyk+Pjg7dC5kYXRhWzM1XT0yNTUmZ31jb25zdCBvPXMtZy0oaS5sZW5ndGgtNCpnPj4xKTtpZihvPjApe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoaS5sZW5ndGgrMipvKTtlLnNldChpLmRhdGEpO2lmKHIpe2VbaS5sZW5ndGhdPWkuZGF0YVsyXTtlW2kubGVuZ3RoKzFdPWkuZGF0YVszXX1pLmRhdGE9ZX19KHQsbi5oaGVhLG4uaG10eCxuLmhlYWQsbCxRKTtpZighbi5oZWFkKXRocm93IG5ldyBGb3JtYXRFcnJvcignUmVxdWlyZWQgImhlYWQiIHRhYmxlIGlzIG5vdCBmb3VuZCcpOyFmdW5jdGlvbiBzYW5pdGl6ZUhlYWQoZSx0LGkpe2NvbnN0IGE9ZS5kYXRhLHM9ZnVuY3Rpb24gaW50MzIoZSx0LGksYSl7cmV0dXJuKGU8PDI0KSsodDw8MTYpKyhpPDw4KSthfShhWzBdLGFbMV0sYVsyXSxhWzNdKTtpZihzPj4xNiE9MSl7aW5mbygiQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCB2ZXJzaW9uIGluIGhlYWQgdGFibGU6ICIrcyk7YVswXT0wO2FbMV09MTthWzJdPTA7YVszXT0wfWNvbnN0IHI9aW50MTYoYVs1MF0sYVs1MV0pO2lmKHI8MHx8cj4xKXtpbmZvKCJBdHRlbXB0aW5nIHRvIGZpeCBpbnZhbGlkIGluZGV4VG9Mb2NGb3JtYXQgaW4gaGVhZCB0YWJsZTogIityKTtjb25zdCBlPXQrMTtpZihpPT09ZTw8MSl7YVs1MF09MDthWzUxXT0wfWVsc2V7aWYoaSE9PWU8PDIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJDb3VsZCBub3QgZml4IGluZGV4VG9Mb2NGb3JtYXQ6ICIrcik7YVs1MF09MDthWzUxXT0xfX19KG4uaGVhZCxoLGM/bi5sb2NhLmxlbmd0aDowKTtsZXQgZj1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGMpe2NvbnN0IGU9aW50MTYobi5oZWFkLmRhdGFbNTBdLG4uaGVhZC5kYXRhWzUxXSksdD1mdW5jdGlvbiBzYW5pdGl6ZUdseXBoTG9jYXRpb25zKGUsdCxpLGEscyxyLG4pe2xldCBnLG8sYztpZihhKXtnPTQ7bz1mdW5jdGlvbiBmb250SXRlbURlY29kZUxvbmcoZSx0KXtyZXR1cm4gZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdfTtjPWZ1bmN0aW9uIGZvbnRJdGVtRW5jb2RlTG9uZyhlLHQsaSl7ZVt0XT1pPj4+MjQmMjU1O2VbdCsxXT1pPj4xNiYyNTU7ZVt0KzJdPWk+PjgmMjU1O2VbdCszXT0yNTUmaX19ZWxzZXtnPTI7bz1mdW5jdGlvbiBmb250SXRlbURlY29kZShlLHQpe3JldHVybiBlW3RdPDw5fGVbdCsxXTw8MX07Yz1mdW5jdGlvbiBmb250SXRlbUVuY29kZShlLHQsaSl7ZVt0XT1pPj45JjI1NTtlW3QrMV09aT4+MSYyNTV9fWNvbnN0IEM9cj9pKzE6aSxoPWcqKDErQyksbD1uZXcgVWludDhBcnJheShoKTtsLnNldChlLmRhdGEuc3ViYXJyYXkoMCxoKSk7ZS5kYXRhPWw7Y29uc3QgUT10LmRhdGEsRT1RLmxlbmd0aCx1PW5ldyBVaW50OEFycmF5KEUpO2xldCBkLGY7Y29uc3QgcD1bXTtmb3IoZD0wLGY9MDtkPGkrMTtkKyssZis9Zyl7bGV0IGU9byhsLGYpO2U+RSYmKGU9RSk7cC5wdXNoKHtpbmRleDpkLG9mZnNldDplLGVuZE9mZnNldDowfSl9cC5zb3J0KCgoZSx0KT0+ZS5vZmZzZXQtdC5vZmZzZXQpKTtmb3IoZD0wO2Q8aTtkKyspcFtkXS5lbmRPZmZzZXQ9cFtkKzFdLm9mZnNldDtwLnNvcnQoKChlLHQpPT5lLmluZGV4LXQuaW5kZXgpKTtmb3IoZD0wO2Q8aTtkKyspe2NvbnN0e29mZnNldDplLGVuZE9mZnNldDp0fT1wW2RdO2lmKDAhPT1lfHwwIT09dClicmVhaztjb25zdCBpPXBbZCsxXS5vZmZzZXQ7aWYoMCE9PWkpe3BbZF0uZW5kT2Zmc2V0PWk7YnJlYWt9fWNvbnN0IG09cC5hdCgtMik7MCE9PW0ub2Zmc2V0JiYwPT09bS5lbmRPZmZzZXQmJihtLmVuZE9mZnNldD1FKTtjb25zdCB5PU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IHc9MDtjKGwsMCx3KTtmb3IoZD0wLGY9ZztkPGk7ZCsrLGYrPWcpe2NvbnN0IGU9c2FuaXRpemVHbHlwaChRLHBbZF0ub2Zmc2V0LHBbZF0uZW5kT2Zmc2V0LHUsdyxzKSx0PWUubGVuZ3RoOzA9PT10JiYoeVtkXT0hMCk7ZS5zaXplT2ZJbnN0cnVjdGlvbnM+biYmKG49ZS5zaXplT2ZJbnN0cnVjdGlvbnMpO3crPXQ7YyhsLGYsdyl9aWYoMD09PXcpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoWzAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw0OSwwXSk7Zm9yKGQ9MCxmPWc7ZDxDO2QrKyxmKz1nKWMobCxmLGUubGVuZ3RoKTt0LmRhdGE9ZX1lbHNlIGlmKHIpe2NvbnN0IGk9byhsLGcpO2lmKHUubGVuZ3RoPmkrdyl0LmRhdGE9dS5zdWJhcnJheSgwLGkrdyk7ZWxzZXt0LmRhdGE9bmV3IFVpbnQ4QXJyYXkoaSt3KTt0LmRhdGEuc2V0KHUuc3ViYXJyYXkoMCx3KSl9dC5kYXRhLnNldCh1LnN1YmFycmF5KDAsaSksdyk7YyhlLmRhdGEsbC5sZW5ndGgtZyx3K2kpfWVsc2UgdC5kYXRhPXUuc3ViYXJyYXkoMCx3KTtyZXR1cm57bWlzc2luZ0dseXBoczp5LG1heFNpemVPZkluc3RydWN0aW9uczpufX0obi5sb2NhLG4uZ2x5ZixoLGUsZCxRLHUpO2Y9dC5taXNzaW5nR2x5cGhzO2lmKEM+PTY1NTM2JiZuLm1heHAubGVuZ3RoPj0zMil7bi5tYXhwLmRhdGFbMjZdPXQubWF4U2l6ZU9mSW5zdHJ1Y3Rpb25zPj44O24ubWF4cC5kYXRhWzI3XT0yNTUmdC5tYXhTaXplT2ZJbnN0cnVjdGlvbnN9fWlmKCFuLmhoZWEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdSZXF1aXJlZCAiaGhlYSIgdGFibGUgaXMgbm90IGZvdW5kJyk7aWYoMD09PW4uaGhlYS5kYXRhWzEwXSYmMD09PW4uaGhlYS5kYXRhWzExXSl7bi5oaGVhLmRhdGFbMTBdPTI1NTtuLmhoZWEuZGF0YVsxMV09MjU1fWNvbnN0IHA9e3VuaXRzUGVyRW06aW50MTYobi5oZWFkLmRhdGFbMThdLG4uaGVhZC5kYXRhWzE5XSkseU1heDpzaWduZWRJbnQxNihuLmhlYWQuZGF0YVs0Ml0sbi5oZWFkLmRhdGFbNDNdKSx5TWluOnNpZ25lZEludDE2KG4uaGVhZC5kYXRhWzM4XSxuLmhlYWQuZGF0YVszOV0pLGFzY2VudDpzaWduZWRJbnQxNihuLmhoZWEuZGF0YVs0XSxuLmhoZWEuZGF0YVs1XSksZGVzY2VudDpzaWduZWRJbnQxNihuLmhoZWEuZGF0YVs2XSxuLmhoZWEuZGF0YVs3XSksbGluZUdhcDpzaWduZWRJbnQxNihuLmhoZWEuZGF0YVs4XSxuLmhoZWEuZGF0YVs5XSl9O3RoaXMuYXNjZW50PXAuYXNjZW50L3AudW5pdHNQZXJFbTt0aGlzLmRlc2NlbnQ9cC5kZXNjZW50L3AudW5pdHNQZXJFbTt0aGlzLmxpbmVHYXA9cC5saW5lR2FwL3AudW5pdHNQZXJFbTtpZih0aGlzLmNzc0ZvbnRJbmZvPy5saW5lSGVpZ2h0KXt0aGlzLmxpbmVIZWlnaHQ9dGhpcy5jc3NGb250SW5mby5tZXRyaWNzLmxpbmVIZWlnaHQ7dGhpcy5saW5lR2FwPXRoaXMuY3NzRm9udEluZm8ubWV0cmljcy5saW5lR2FwfWVsc2UgdGhpcy5saW5lSGVpZ2h0PXRoaXMuYXNjZW50LXRoaXMuZGVzY2VudCt0aGlzLmxpbmVHYXA7bi5wb3N0JiZmdW5jdGlvbiByZWFkUG9zdFNjcmlwdFRhYmxlKGUsaSxhKXtjb25zdCBzPSh0LnN0YXJ0fHwwKStlLm9mZnNldDt0LnBvcz1zO2NvbnN0IHI9cytlLmxlbmd0aCxuPXQuZ2V0SW50MzIoKTt0LnNraXAoMjgpO2xldCBnLG8sYz0hMDtzd2l0Y2gobil7Y2FzZSA2NTUzNjpnPVdpO2JyZWFrO2Nhc2UgMTMxMDcyOmNvbnN0IGU9dC5nZXRVaW50MTYoKTtpZihlIT09YSl7Yz0hMTticmVha31jb25zdCBzPVtdO2ZvcihvPTA7bzxlOysrbyl7Y29uc3QgZT10LmdldFVpbnQxNigpO2lmKGU+PTMyNzY4KXtjPSExO2JyZWFrfXMucHVzaChlKX1pZighYylicmVhaztjb25zdCBDPVtdLGg9W107Zm9yKDt0LnBvczxyOyl7Y29uc3QgZT10LmdldEJ5dGUoKTtoLmxlbmd0aD1lO2ZvcihvPTA7bzxlOysrbyloW29dPVN0cmluZy5mcm9tQ2hhckNvZGUodC5nZXRCeXRlKCkpO0MucHVzaChoLmpvaW4oIiIpKX1nPVtdO2ZvcihvPTA7bzxlOysrbyl7Y29uc3QgZT1zW29dO2U8MjU4P2cucHVzaChXaVtlXSk6Zy5wdXNoKENbZS0yNThdKX1icmVhaztjYXNlIDE5NjYwODpicmVhaztkZWZhdWx0Ondhcm4oIlVua25vd24vdW5zdXBwb3J0ZWQgcG9zdCB0YWJsZSB2ZXJzaW9uICIrbik7Yz0hMTtpLmRlZmF1bHRFbmNvZGluZyYmKGc9aS5kZWZhdWx0RW5jb2RpbmcpfWkuZ2x5cGhOYW1lcz1nO3JldHVybiBjfShuLnBvc3QsaSxoKTtuLnBvc3Q9e3RhZzoicG9zdCIsZGF0YTpjcmVhdGVQb3N0VGFibGUoaSl9O2NvbnN0IG09T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBoYXNHbHlwaChlKXtyZXR1cm4hZltlXX1pZihpLmNvbXBvc2l0ZSl7Y29uc3QgZT1pLmNpZFRvR2lkTWFwfHxbXSx0PTA9PT1lLmxlbmd0aDtpLmNNYXAuZm9yRWFjaCgoZnVuY3Rpb24oaSxhKXsic3RyaW5nIj09dHlwZW9mIGEmJihhPWNvbnZlcnRDaWRTdHJpbmcoaSxhLCEwKSk7aWYoYT42NTUzNSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1heCBzaXplIG9mIENJRCBpcyA2NSw1MzUiKTtsZXQgcz0tMTt0P3M9YTp2b2lkIDAhPT1lW2FdJiYocz1lW2FdKTtzPj0wJiZzPGgmJmhhc0dseXBoKHMpJiYobVtpXT1zKX0pKX1lbHNle2NvbnN0IGU9ZnVuY3Rpb24gcmVhZENtYXBUYWJsZShlLHQsaSxhKXtpZighZSl7d2FybigiTm8gY21hcCB0YWJsZSBhdmFpbGFibGUuIik7cmV0dXJue3BsYXRmb3JtSWQ6LTEsZW5jb2RpbmdJZDotMSxtYXBwaW5nczpbXSxoYXNTaG9ydENtYXA6ITF9fWxldCBzLHI9KHQuc3RhcnR8fDApK2Uub2Zmc2V0O3QucG9zPXI7dC5za2lwKDIpO2NvbnN0IG49dC5nZXRVaW50MTYoKTtsZXQgZyxvPSExO2ZvcihsZXQgZT0wO2U8bjtlKyspe2NvbnN0IHM9dC5nZXRVaW50MTYoKSxyPXQuZ2V0VWludDE2KCksYz10LmdldEludDMyKCk+Pj4wO2xldCBDPSExO2lmKGc/LnBsYXRmb3JtSWQhPT1zfHxnPy5lbmNvZGluZ0lkIT09cil7aWYoMCE9PXN8fDAhPT1yJiYxIT09ciYmMyE9PXIpaWYoMT09PXMmJjA9PT1yKUM9ITA7ZWxzZSBpZigzIT09c3x8MSE9PXJ8fCFhJiZnKXtpZihpJiYzPT09cyYmMD09PXIpe0M9ITA7bGV0IGk9ITA7aWYoZTxuLTEpe2NvbnN0IGU9dC5wZWVrQnl0ZXMoMik7aW50MTYoZVswXSxlWzFdKTxzJiYoaT0hMSl9aSYmKG89ITApfX1lbHNle0M9ITA7aXx8KG89ITApfWVsc2UgQz0hMDtDJiYoZz17cGxhdGZvcm1JZDpzLGVuY29kaW5nSWQ6cixvZmZzZXQ6Y30pO2lmKG8pYnJlYWt9fWcmJih0LnBvcz1yK2cub2Zmc2V0KTtpZighZ3x8LTE9PT10LnBlZWtCeXRlKCkpe3dhcm4oIkNvdWxkIG5vdCBmaW5kIGEgcHJlZmVycmVkIGNtYXAgdGFibGUuIik7cmV0dXJue3BsYXRmb3JtSWQ6LTEsZW5jb2RpbmdJZDotMSxtYXBwaW5nczpbXSxoYXNTaG9ydENtYXA6ITF9fWNvbnN0IGM9dC5nZXRVaW50MTYoKTtsZXQgQz0hMTtjb25zdCBoPVtdO2xldCBsLFE7aWYoMD09PWMpe3Quc2tpcCg0KTtmb3IobD0wO2w8MjU2O2wrKyl7Y29uc3QgZT10LmdldEJ5dGUoKTtlJiZoLnB1c2goe2NoYXJDb2RlOmwsZ2x5cGhJZDplfSl9Qz0hMH1lbHNlIGlmKDI9PT1jKXt0LnNraXAoNCk7Y29uc3QgZT1bXTtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8MjU2O2ErKyl7Y29uc3QgYT10LmdldFVpbnQxNigpPj4zO2UucHVzaChhKTtpPU1hdGgubWF4KGEsaSl9Y29uc3QgYT1bXTtmb3IobGV0IGU9MDtlPD1pO2UrKylhLnB1c2goe2ZpcnN0Q29kZTp0LmdldFVpbnQxNigpLGVudHJ5Q291bnQ6dC5nZXRVaW50MTYoKSxpZERlbHRhOnNpZ25lZEludDE2KHQuZ2V0Qnl0ZSgpLHQuZ2V0Qnl0ZSgpKSxpZFJhbmdlUG9zOnQucG9zK3QuZ2V0VWludDE2KCl9KTtmb3IobGV0IGk9MDtpPDI1NjtpKyspaWYoMD09PWVbaV0pe3QucG9zPWFbMF0uaWRSYW5nZVBvcysyKmk7UT10LmdldFVpbnQxNigpO2gucHVzaCh7Y2hhckNvZGU6aSxnbHlwaElkOlF9KX1lbHNle2NvbnN0IHM9YVtlW2ldXTtmb3IobD0wO2w8cy5lbnRyeUNvdW50O2wrKyl7Y29uc3QgZT0oaTw8OCkrbCtzLmZpcnN0Q29kZTt0LnBvcz1zLmlkUmFuZ2VQb3MrMipsO1E9dC5nZXRVaW50MTYoKTswIT09USYmKFE9KFErcy5pZERlbHRhKSU2NTUzNik7aC5wdXNoKHtjaGFyQ29kZTplLGdseXBoSWQ6UX0pfX19ZWxzZSBpZig0PT09Yyl7dC5za2lwKDQpO2NvbnN0IGU9dC5nZXRVaW50MTYoKT4+MTt0LnNraXAoNik7Y29uc3QgaT1bXTtsZXQgYTtmb3IoYT0wO2E8ZTthKyspaS5wdXNoKHtlbmQ6dC5nZXRVaW50MTYoKX0pO3Quc2tpcCgyKTtmb3IoYT0wO2E8ZTthKyspaVthXS5zdGFydD10LmdldFVpbnQxNigpO2ZvcihhPTA7YTxlO2ErKylpW2FdLmRlbHRhPXQuZ2V0VWludDE2KCk7bGV0IG4sZz0wO2ZvcihhPTA7YTxlO2ErKyl7cz1pW2FdO2NvbnN0IHI9dC5nZXRVaW50MTYoKTtpZihyKXtuPShyPj4xKS0oZS1hKTtzLm9mZnNldEluZGV4PW47Zz1NYXRoLm1heChnLG4rcy5lbmQtcy5zdGFydCsxKX1lbHNlIHMub2Zmc2V0SW5kZXg9LTF9Y29uc3Qgbz1bXTtmb3IobD0wO2w8ZztsKyspby5wdXNoKHQuZ2V0VWludDE2KCkpO2ZvcihhPTA7YTxlO2ErKyl7cz1pW2FdO3I9cy5zdGFydDtjb25zdCBlPXMuZW5kLHQ9cy5kZWx0YTtuPXMub2Zmc2V0SW5kZXg7Zm9yKGw9cjtsPD1lO2wrKylpZig2NTUzNSE9PWwpe1E9bjwwP2w6b1tuK2wtcl07UT1RK3QmNjU1MzU7aC5wdXNoKHtjaGFyQ29kZTpsLGdseXBoSWQ6UX0pfX19ZWxzZSBpZig2PT09Yyl7dC5za2lwKDQpO2NvbnN0IGU9dC5nZXRVaW50MTYoKSxpPXQuZ2V0VWludDE2KCk7Zm9yKGw9MDtsPGk7bCsrKXtRPXQuZ2V0VWludDE2KCk7Y29uc3QgaT1lK2w7aC5wdXNoKHtjaGFyQ29kZTppLGdseXBoSWQ6UX0pfX1lbHNle2lmKDEyIT09Yyl7d2FybigiY21hcCB0YWJsZSBoYXMgdW5zdXBwb3J0ZWQgZm9ybWF0OiAiK2MpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX17dC5za2lwKDEwKTtjb25zdCBlPXQuZ2V0SW50MzIoKT4+PjA7Zm9yKGw9MDtsPGU7bCsrKXtjb25zdCBlPXQuZ2V0SW50MzIoKT4+PjAsaT10LmdldEludDMyKCk+Pj4wO2xldCBhPXQuZ2V0SW50MzIoKT4+PjA7Zm9yKGxldCB0PWU7dDw9aTt0KyspaC5wdXNoKHtjaGFyQ29kZTp0LGdseXBoSWQ6YSsrfSl9fX1oLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY2hhckNvZGUtdC5jaGFyQ29kZX0pKTtmb3IobGV0IGU9MTtlPGgubGVuZ3RoO2UrKylpZihoW2UtMV0uY2hhckNvZGU9PT1oW2VdLmNoYXJDb2RlKXtoLnNwbGljZShlLDEpO2UtLX1yZXR1cm57cGxhdGZvcm1JZDpnLnBsYXRmb3JtSWQsZW5jb2RpbmdJZDpnLmVuY29kaW5nSWQsbWFwcGluZ3M6aCxoYXNTaG9ydENtYXA6Q319KG4uY21hcCx0LHRoaXMuaXNTeW1ib2xpY0ZvbnQsaS5oYXNFbmNvZGluZyksYT1lLnBsYXRmb3JtSWQscz1lLmVuY29kaW5nSWQscj1lLm1hcHBpbmdzO2xldCBnPVtdLG89ITE7IWkuaGFzRW5jb2Rpbmd8fCJNYWNSb21hbkVuY29kaW5nIiE9PWkuYmFzZUVuY29kaW5nTmFtZSYmIldpbkFuc2lFbmNvZGluZyIhPT1pLmJhc2VFbmNvZGluZ05hbWV8fChnPWdldEVuY29kaW5nKGkuYmFzZUVuY29kaW5nTmFtZSkpO2lmKGkuaGFzRW5jb2RpbmcmJiF0aGlzLmlzU3ltYm9saWNGb250JiYoMz09PWEmJjE9PT1zfHwxPT09YSYmMD09PXMpKXtjb25zdCBlPXhpKCk7Zm9yKGxldCB0PTA7dDwyNTY7dCsrKXtsZXQgbjtuPXZvaWQgMCE9PXRoaXMuZGlmZmVyZW5jZXNbdF0/dGhpcy5kaWZmZXJlbmNlc1t0XTpnLmxlbmd0aCYmIiIhPT1nW3RdP2dbdF06bWlbdF07aWYoIW4pY29udGludWU7Y29uc3Qgbz1yZWNvdmVyR2x5cGhOYW1lKG4sZSk7bGV0IGM7Mz09PWEmJjE9PT1zP2M9ZVtvXToxPT09YSYmMD09PXMmJihjPXBpLmluZGV4T2YobykpO2lmKHZvaWQgMD09PWMpe2lmKCFpLmdseXBoTmFtZXMmJmkuaGFzSW5jbHVkZWRUb1VuaWNvZGVNYXAmJiEodGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcCkpe2NvbnN0IGU9dGhpcy50b1VuaWNvZGUuZ2V0KHQpO2UmJihjPWUuY29kZVBvaW50QXQoMCkpfWlmKHZvaWQgMD09PWMpY29udGludWV9Zm9yKGNvbnN0IGUgb2YgcilpZihlLmNoYXJDb2RlPT09Yyl7bVt0XT1lLmdseXBoSWQ7YnJlYWt9fX1lbHNlIGlmKDA9PT1hKXtmb3IoY29uc3QgZSBvZiByKW1bZS5jaGFyQ29kZV09ZS5nbHlwaElkO289ITB9ZWxzZSBpZigzPT09YSYmMD09PXMpZm9yKGNvbnN0IGUgb2Ygcil7bGV0IHQ9ZS5jaGFyQ29kZTt0Pj02MTQ0MCYmdDw9NjE2OTUmJih0Jj0yNTUpO21bdF09ZS5nbHlwaElkfWVsc2UgZm9yKGNvbnN0IGUgb2YgciltW2UuY2hhckNvZGVdPWUuZ2x5cGhJZDtpZihpLmdseXBoTmFtZXMmJihnLmxlbmd0aHx8dGhpcy5kaWZmZXJlbmNlcy5sZW5ndGgpKWZvcihsZXQgZT0wO2U8MjU2OysrZSl7aWYoIW8mJnZvaWQgMCE9PW1bZV0pY29udGludWU7Y29uc3QgdD10aGlzLmRpZmZlcmVuY2VzW2VdfHxnW2VdO2lmKCF0KWNvbnRpbnVlO2NvbnN0IGE9aS5nbHlwaE5hbWVzLmluZGV4T2YodCk7YT4wJiZoYXNHbHlwaChhKSYmKG1bZV09YSl9fTA9PT1tLmxlbmd0aCYmKG1bMF09MCk7bGV0IHk9bC0xO1F8fCh5PTApO2lmKCFpLmNzc0ZvbnRJbmZvKXtjb25zdCBlPWFkanVzdE1hcHBpbmcobSxoYXNHbHlwaCx5LHRoaXMudG9Vbmljb2RlKTt0aGlzLnRvRm9udENoYXI9ZS50b0ZvbnRDaGFyO24uY21hcD17dGFnOiJjbWFwIixkYXRhOmNyZWF0ZUNtYXBUYWJsZShlLmNoYXJDb2RlVG9HbHlwaElkLGUudG9Vbmljb2RlRXh0cmFNYXAsbCl9O25bIk9TLzIiXSYmZnVuY3Rpb24gdmFsaWRhdGVPUzJUYWJsZShlLHQpe3QucG9zPSh0LnN0YXJ0fHwwKStlLm9mZnNldDtjb25zdCBpPXQuZ2V0VWludDE2KCk7dC5za2lwKDYwKTtjb25zdCBhPXQuZ2V0VWludDE2KCk7aWYoaTw0JiY3NjgmYSlyZXR1cm4hMTtpZih0LmdldFVpbnQxNigpPnQuZ2V0VWludDE2KCkpcmV0dXJuITE7dC5za2lwKDYpO2lmKDA9PT10LmdldFVpbnQxNigpKXJldHVybiExO2UuZGF0YVs4XT1lLmRhdGFbOV09MDtyZXR1cm4hMH0oblsiT1MvMiJdLHQpfHwoblsiT1MvMiJdPXt0YWc6Ik9TLzIiLGRhdGE6Y3JlYXRlT1MyVGFibGUoaSxlLmNoYXJDb2RlVG9HbHlwaElkLHApfSl9aWYoIWMpdHJ5e289bmV3IFN0cmVhbShuWyJDRkYgIl0uZGF0YSk7Zz1uZXcgQ0ZGUGFyc2VyKG8saSxLaSkucGFyc2UoKTtnLmR1cGxpY2F0ZUZpcnN0R2x5cGgoKTtjb25zdCBlPW5ldyBDRkZDb21waWxlcihnKTtuWyJDRkYgIl0uZGF0YT1lLmNvbXBpbGUoKX1jYXRjaHt3YXJuKCJGYWlsZWQgdG8gY29tcGlsZSBmb250ICIraS5sb2FkZWROYW1lKX1pZihuLm5hbWUpe2NvbnN0W3QsYV09cmVhZE5hbWVUYWJsZShuLm5hbWUpO24ubmFtZS5kYXRhPWNyZWF0ZU5hbWVUYWJsZShlLHQpO3RoaXMucHNOYW1lPXRbMF1bNl18fG51bGw7aS5jb21wb3NpdGV8fGZ1bmN0aW9uIGFkanVzdFRydWVUeXBlVG9Vbmljb2RlKGUsdCxpKXtpZihlLmlzSW50ZXJuYWxGb250KXJldHVybjtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXJldHVybjtpZihlLmhhc0VuY29kaW5nKXJldHVybjtpZihlLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwKXJldHVybjtpZighdClyZXR1cm47aWYoMD09PWkubGVuZ3RoKXJldHVybjtpZihlLmRlZmF1bHRFbmNvZGluZz09PXlpKXJldHVybjtmb3IoY29uc3QgZSBvZiBpKWlmKCFpc1dpbk5hbWVSZWNvcmQoZSkpcmV0dXJuO2NvbnN0IGE9eWkscz1bXSxyPXhpKCk7Zm9yKGNvbnN0IGUgaW4gYSl7Y29uc3QgdD1hW2VdO2lmKCIiPT09dCljb250aW51ZTtjb25zdCBpPXJbdF07dm9pZCAwIT09aSYmKHNbZV09U3RyaW5nLmZyb21DaGFyQ29kZShpKSl9cy5sZW5ndGg+MCYmZS50b1VuaWNvZGUuYW1lbmQocyl9KGksdGhpcy5pc1N5bWJvbGljRm9udCxhKX1lbHNlIG4ubmFtZT17dGFnOiJuYW1lIixkYXRhOmNyZWF0ZU5hbWVUYWJsZSh0aGlzLm5hbWUpfTtjb25zdCB3PW5ldyBPcGVuVHlwZUZpbGVCdWlsZGVyKHIudmVyc2lvbik7Zm9yKGNvbnN0IGUgaW4gbil3LmFkZFRhYmxlKGUsbltlXS5kYXRhKTtyZXR1cm4gdy50b0FycmF5KCl9Y29udmVydChlLHQsaSl7aS5maXhlZFBpdGNoPSExO2kuYnVpbHRJbkVuY29kaW5nJiZmdW5jdGlvbiBhZGp1c3RUeXBlMVRvVW5pY29kZShlLHQpe2lmKGUuaXNJbnRlcm5hbEZvbnQpcmV0dXJuO2lmKGUuaGFzSW5jbHVkZWRUb1VuaWNvZGVNYXApcmV0dXJuO2lmKHQ9PT1lLmRlZmF1bHRFbmNvZGluZylyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47Y29uc3QgaT1bXSxhPXhpKCk7Zm9yKGNvbnN0IHMgaW4gdCl7aWYoZS5oYXNFbmNvZGluZyYmKGUuYmFzZUVuY29kaW5nTmFtZXx8dm9pZCAwIT09ZS5kaWZmZXJlbmNlc1tzXSkpY29udGludWU7Y29uc3Qgcj1nZXRVbmljb2RlRm9yR2x5cGgodFtzXSxhKTstMSE9PXImJihpW3NdPVN0cmluZy5mcm9tQ2hhckNvZGUocikpfWkubGVuZ3RoPjAmJmUudG9Vbmljb2RlLmFtZW5kKGkpfShpLGkuYnVpbHRJbkVuY29kaW5nKTtsZXQgcz0xO3QgaW5zdGFuY2VvZiBDRkZGb250JiYocz10Lm51bUdseXBocy0xKTtjb25zdCByPXQuZ2V0R2x5cGhNYXBwaW5nKGkpO2xldCBuPW51bGwsZz1yLG89bnVsbDtpZighaS5jc3NGb250SW5mbyl7bj1hZGp1c3RNYXBwaW5nKHIsdC5oYXNHbHlwaElkLmJpbmQodCkscyx0aGlzLnRvVW5pY29kZSk7dGhpcy50b0ZvbnRDaGFyPW4udG9Gb250Q2hhcjtnPW4uY2hhckNvZGVUb0dseXBoSWQ7bz1uLnRvVW5pY29kZUV4dHJhTWFwfWNvbnN0IGM9dC5udW1HbHlwaHM7ZnVuY3Rpb24gZ2V0Q2hhckNvZGVzKGUsdCl7bGV0IGk9bnVsbDtmb3IoY29uc3QgYSBpbiBlKXQ9PT1lW2FdJiYoaXx8PVtdKS5wdXNoKDB8YSk7cmV0dXJuIGl9ZnVuY3Rpb24gY3JlYXRlQ2hhckNvZGUoZSx0KXtmb3IoY29uc3QgaSBpbiBlKWlmKHQ9PT1lW2ldKXJldHVybiAwfGk7bi5jaGFyQ29kZVRvR2x5cGhJZFtuLm5leHRBdmFpbGFibGVGb250Q2hhckNvZGVdPXQ7cmV0dXJuIG4ubmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZSsrfWNvbnN0IEM9dC5zZWFjcztpZihuJiZDPy5sZW5ndGgpe2NvbnN0IGU9aS5mb250TWF0cml4fHxhLHM9dC5nZXRDaGFyc2V0KCksZz1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgdCBpbiBDKXt0fD0wO2NvbnN0IGk9Q1t0XSxhPW1pW2lbMl1dLG89bWlbaVszXV0sYz1zLmluZGV4T2YoYSksaD1zLmluZGV4T2Yobyk7aWYoYzwwfHxoPDApY29udGludWU7Y29uc3QgbD17eDppWzBdKmVbMF0raVsxXSplWzJdK2VbNF0seTppWzBdKmVbMV0raVsxXSplWzNdK2VbNV19LFE9Z2V0Q2hhckNvZGVzKHIsdCk7aWYoUSlmb3IoY29uc3QgZSBvZiBRKXtjb25zdCB0PW4uY2hhckNvZGVUb0dseXBoSWQsaT1jcmVhdGVDaGFyQ29kZSh0LGMpLGE9Y3JlYXRlQ2hhckNvZGUodCxoKTtnW2VdPXtiYXNlRm9udENoYXJDb2RlOmksYWNjZW50Rm9udENoYXJDb2RlOmEsYWNjZW50T2Zmc2V0Omx9fX1pLnNlYWNNYXA9Z31jb25zdCBoPWkuZm9udE1hdHJpeD8xL01hdGgubWF4KC4uLmkuZm9udE1hdHJpeC5zbGljZSgwLDQpLm1hcChNYXRoLmFicykpOjFlMyxsPW5ldyBPcGVuVHlwZUZpbGVCdWlsZGVyKCJPVFRPIik7bC5hZGRUYWJsZSgiQ0ZGICIsdC5kYXRhKTtsLmFkZFRhYmxlKCJPUy8yIixjcmVhdGVPUzJUYWJsZShpLGcpKTtsLmFkZFRhYmxlKCJjbWFwIixjcmVhdGVDbWFwVGFibGUoZyxvLGMpKTtsLmFkZFRhYmxlKCJoZWFkIiwiXDABXDBcMFwwXDAQXDBcMFwwXDBcMF8PPMO1XDBcMCIrc2FmZVN0cmluZzE2KGgpKyJcMFwwXDBcMMKeXHZ+J1wwXDBcMFwwwp5cdn4nXDBcMCIrc2FmZVN0cmluZzE2KGkuZGVzY2VudCkrIg/DvyIrc2FmZVN0cmluZzE2KGkuYXNjZW50KStzdHJpbmcxNihpLml0YWxpY0FuZ2xlPzI6MCkrIlwwEVwwXDBcMFwwXDBcMCIpO2wuYWRkVGFibGUoImhoZWEiLCJcMAFcMFwwIitzYWZlU3RyaW5nMTYoaS5hc2NlbnQpK3NhZmVTdHJpbmcxNihpLmRlc2NlbnQpKyJcMFwww7/Dv1wwXDBcMFwwXDBcMCIrc2FmZVN0cmluZzE2KGkuY2FwSGVpZ2h0KStzYWZlU3RyaW5nMTYoTWF0aC50YW4oaS5pdGFsaWNBbmdsZSkqaS54SGVpZ2h0KSsiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIitzdHJpbmcxNihjKSk7bC5hZGRUYWJsZSgiaG10eCIsZnVuY3Rpb24gZm9udEZpZWxkc0htdHgoKXtjb25zdCBlPXQuY2hhcnN0cmluZ3MsaT10LmNmZj90LmNmZi53aWR0aHM6bnVsbDtsZXQgYT0iXDBcMFwwXDAiO2ZvcihsZXQgdD0xLHM9Yzt0PHM7dCsrKXtsZXQgcz0wO2lmKGUpe2NvbnN0IGk9ZVt0LTFdO3M9IndpZHRoImluIGk/aS53aWR0aDowfWVsc2UgaSYmKHM9TWF0aC5jZWlsKGlbdF18fDApKTthKz1zdHJpbmcxNihzKStzdHJpbmcxNigwKX1yZXR1cm4gYX0oKSk7bC5hZGRUYWJsZSgibWF4cCIsIlwwXDBQXDAiK3N0cmluZzE2KGMpKTtsLmFkZFRhYmxlKCJuYW1lIixjcmVhdGVOYW1lVGFibGUoZSkpO2wuYWRkVGFibGUoInBvc3QiLGNyZWF0ZVBvc3RUYWJsZShpKSk7cmV0dXJuIGwudG9BcnJheSgpfWdldCBfc3BhY2VXaWR0aCgpe2NvbnN0IGU9WyJzcGFjZSIsIm1pbnVzIiwib25lIiwiaSIsIkkiXTtsZXQgdDtmb3IoY29uc3QgaSBvZiBlKXtpZihpIGluIHRoaXMud2lkdGhzKXt0PXRoaXMud2lkdGhzW2ldO2JyZWFrfWNvbnN0IGU9eGkoKVtpXTtsZXQgYT0wO2lmKHRoaXMuY29tcG9zaXRlJiZ0aGlzLmNNYXAuY29udGFpbnMoZSkpe2E9dGhpcy5jTWFwLmxvb2t1cChlKTsic3RyaW5nIj09dHlwZW9mIGEmJihhPWNvbnZlcnRDaWRTdHJpbmcoZSxhKSl9IWEmJnRoaXMudG9Vbmljb2RlJiYoYT10aGlzLnRvVW5pY29kZS5jaGFyQ29kZU9mKGUpKTthPD0wJiYoYT1lKTt0PXRoaXMud2lkdGhzW2FdO2lmKHQpYnJlYWt9cmV0dXJuIHNoYWRvdyh0aGlzLCJfc3BhY2VXaWR0aCIsdHx8dGhpcy5kZWZhdWx0V2lkdGgpfV9jaGFyVG9HbHlwaChlLHQ9ITEpe2xldCBpLGEscyxyPXRoaXMuX2dseXBoQ2FjaGVbZV07aWYocj8uaXNTcGFjZT09PXQpcmV0dXJuIHI7bGV0IG49ZTtpZih0aGlzLmNNYXA/LmNvbnRhaW5zKGUpKXtuPXRoaXMuY01hcC5sb29rdXAoZSk7InN0cmluZyI9PXR5cGVvZiBuJiYobj1jb252ZXJ0Q2lkU3RyaW5nKGUsbikpfWE9dGhpcy53aWR0aHNbbl07Im51bWJlciIhPXR5cGVvZiBhJiYoYT10aGlzLmRlZmF1bHRXaWR0aCk7Y29uc3QgZz10aGlzLnZtZXRyaWNzPy5bbl07bGV0IG89dGhpcy50b1VuaWNvZGUuZ2V0KGUpfHxlOyJudW1iZXIiPT10eXBlb2YgbyYmKG89U3RyaW5nLmZyb21DaGFyQ29kZShvKSk7bGV0IGM9dm9pZCAwIT09dGhpcy50b0ZvbnRDaGFyW2VdO2k9dGhpcy50b0ZvbnRDaGFyW2VdfHxlO2lmKHRoaXMubWlzc2luZ0ZpbGUpe2NvbnN0IHQ9dGhpcy5kaWZmZXJlbmNlc1tlXXx8dGhpcy5kZWZhdWx0RW5jb2RpbmdbZV07aWYoKCIubm90ZGVmIj09PXR8fCIiPT09dCkmJiJUeXBlMSI9PT10aGlzLnR5cGUpe2k9MzI7aWYoIiI9PT10KXthfHw9dGhpcy5fc3BhY2VXaWR0aDtvPVN0cmluZy5mcm9tQ2hhckNvZGUoaSl9fWk9ZnVuY3Rpb24gbWFwU3BlY2lhbFVuaWNvZGVWYWx1ZXMoZSl7cmV0dXJuIGU+PTY1NTIwJiZlPD02NTUzNT8wOmU+PTYyOTc2JiZlPD02Mzc0Mz9IaSgpW2VdfHxlOjE3Mz09PWU/NDU6ZX0oaSl9dGhpcy5pc1R5cGUzRm9udCYmKHM9aSk7bGV0IEM9bnVsbDtpZih0aGlzLnNlYWNNYXA/LltlXSl7Yz0hMDtjb25zdCB0PXRoaXMuc2VhY01hcFtlXTtpPXQuYmFzZUZvbnRDaGFyQ29kZTtDPXtmb250Q2hhcjpTdHJpbmcuZnJvbUNvZGVQb2ludCh0LmFjY2VudEZvbnRDaGFyQ29kZSksb2Zmc2V0OnQuYWNjZW50T2Zmc2V0fX1sZXQgaD0iIjsibnVtYmVyIj09dHlwZW9mIGkmJihpPD0xMTE0MTExP2g9U3RyaW5nLmZyb21Db2RlUG9pbnQoaSk6d2FybihgY2hhclRvR2x5cGggLSBpbnZhbGlkIGZvbnRDaGFyQ29kZTogJHtpfWApKTtpZih0aGlzLm1pc3NpbmdGaWxlJiZ0aGlzLnZlcnRpY2FsJiYxPT09aC5sZW5ndGgpe2NvbnN0IGU9amkoKVtoLmNoYXJDb2RlQXQoMCldO2UmJihoPW89U3RyaW5nLmZyb21DaGFyQ29kZShlKSl9cj1uZXcgZm9udHNfR2x5cGgoZSxoLG8sQyxhLGcscyx0LGMpO3JldHVybiB0aGlzLl9nbHlwaENhY2hlW2VdPXJ9Y2hhcnNUb0dseXBocyhlKXtsZXQgdD10aGlzLl9jaGFyc0NhY2hlW2VdO2lmKHQpcmV0dXJuIHQ7dD1bXTtpZih0aGlzLmNNYXApe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKSxhPWUubGVuZ3RoO2xldCBzPTA7Zm9yKDtzPGE7KXt0aGlzLmNNYXAucmVhZENoYXJDb2RlKGUscyxpKTtjb25zdHtjaGFyY29kZTphLGxlbmd0aDpyfT1pO3MrPXI7Y29uc3Qgbj10aGlzLl9jaGFyVG9HbHlwaChhLDE9PT1yJiYzMj09PWUuY2hhckNvZGVBdChzLTEpKTt0LnB1c2gobil9fWVsc2UgZm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7KytpKXtjb25zdCBhPWUuY2hhckNvZGVBdChpKSxzPXRoaXMuX2NoYXJUb0dseXBoKGEsMzI9PT1hKTt0LnB1c2gocyl9cmV0dXJuIHRoaXMuX2NoYXJzQ2FjaGVbZV09dH1nZXRDaGFyUG9zaXRpb25zKGUpe2NvbnN0IHQ9W107aWYodGhpcy5jTWFwKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGE9MDtmb3IoO2E8ZS5sZW5ndGg7KXt0aGlzLmNNYXAucmVhZENoYXJDb2RlKGUsYSxpKTtjb25zdCBzPWkubGVuZ3RoO3QucHVzaChbYSxhK3NdKTthKz1zfX1lbHNlIGZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhOysraSl0LnB1c2goW2ksaSsxXSk7cmV0dXJuIHR9Z2V0IGdseXBoQ2FjaGVWYWx1ZXMoKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLl9nbHlwaENhY2hlKX1lbmNvZGVTdHJpbmcoZSl7Y29uc3QgdD1bXSxpPVtdLGhhc0N1cnJlbnRCdWZFcnJvcnM9KCk9PnQubGVuZ3RoJTI9PTEsYT10aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwP2U9PnRoaXMudG9Vbmljb2RlLmNoYXJDb2RlT2YoZSk6ZT0+dGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihTdHJpbmcuZnJvbUNvZGVQb2ludChlKSk7Zm9yKGxldCBzPTAscj1lLmxlbmd0aDtzPHI7cysrKXtjb25zdCByPWUuY29kZVBvaW50QXQocyk7cj41NTI5NSYmKHI8NTczNDR8fHI+NjU1MzMpJiZzKys7aWYodGhpcy50b1VuaWNvZGUpe2NvbnN0IGU9YShyKTtpZigtMSE9PWUpe2lmKGhhc0N1cnJlbnRCdWZFcnJvcnMoKSl7dC5wdXNoKGkuam9pbigiIikpO2kubGVuZ3RoPTB9Zm9yKGxldCB0PSh0aGlzLmNNYXA/dGhpcy5jTWFwLmdldENoYXJDb2RlTGVuZ3RoKGUpOjEpLTE7dD49MDt0LS0paS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCp0JjI1NSkpO2NvbnRpbnVlfX1pZighaGFzQ3VycmVudEJ1ZkVycm9ycygpKXt0LnB1c2goaS5qb2luKCIiKSk7aS5sZW5ndGg9MH1pLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQocikpfXQucHVzaChpLmpvaW4oIiIpKTtyZXR1cm4gdH19Y2xhc3MgRXJyb3JGb250e2NvbnN0cnVjdG9yKGUpe3RoaXMuZXJyb3I9ZTt0aGlzLmxvYWRlZE5hbWU9ImdfZm9udF9lcnJvciI7dGhpcy5taXNzaW5nRmlsZT0hMH1jaGFyc1RvR2x5cGhzKCl7cmV0dXJuW119ZW5jb2RlU3RyaW5nKGUpe3JldHVybltlXX1leHBvcnREYXRhKGU9ITEpe3JldHVybntlcnJvcjp0aGlzLmVycm9yfX19Y29uc3QgZmE9MixwYT0zLG1hPTQseWE9NSx3YT02LERhPTc7Y2xhc3MgUGF0dGVybntjb25zdHJ1Y3Rvcigpe3VucmVhY2hhYmxlKCJDYW5ub3QgaW5pdGlhbGl6ZSBQYXR0ZXJuLiIpfXN0YXRpYyBwYXJzZVNoYWRpbmcoZSx0LGksYSxzKXtjb25zdCByPWUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2UuZGljdDplLG49ci5nZXQoIlNoYWRpbmdUeXBlIik7dHJ5e3N3aXRjaChuKXtjYXNlIGZhOmNhc2UgcGE6cmV0dXJuIG5ldyBSYWRpYWxBeGlhbFNoYWRpbmcocix0LGksYSxzKTtjYXNlIG1hOmNhc2UgeWE6Y2FzZSB3YTpjYXNlIERhOnJldHVybiBuZXcgTWVzaFNoYWRpbmcoZSx0LGksYSxzKTtkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5zdXBwb3J0ZWQgU2hhZGluZ1R5cGU6ICIrbil9fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oZSk7cmV0dXJuIG5ldyBEdW1teVNoYWRpbmd9fX1jbGFzcyBCYXNlU2hhZGluZ3tzdGF0aWMgU01BTExfTlVNQkVSPTFlLTY7Z2V0SVIoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBnZXRJUmAgY2FsbGVkLiIpfX1jbGFzcyBSYWRpYWxBeGlhbFNoYWRpbmcgZXh0ZW5kcyBCYXNlU2hhZGluZ3tjb25zdHJ1Y3RvcihlLHQsaSxhLHMpe3N1cGVyKCk7dGhpcy5zaGFkaW5nVHlwZT1lLmdldCgiU2hhZGluZ1R5cGUiKTtsZXQgcj0wO3RoaXMuc2hhZGluZ1R5cGU9PT1mYT9yPTQ6dGhpcy5zaGFkaW5nVHlwZT09PXBhJiYocj02KTt0aGlzLmNvb3Jkc0Fycj1lLmdldEFycmF5KCJDb29yZHMiKTtpZighaXNOdW1iZXJBcnJheSh0aGlzLmNvb3Jkc0FycixyKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlJhZGlhbEF4aWFsU2hhZGluZzogSW52YWxpZCAvQ29vcmRzIGFycmF5LiIpO2NvbnN0IG49Q29sb3JTcGFjZS5wYXJzZSh7Y3M6ZS5nZXRSYXcoIkNTIil8fGUuZ2V0UmF3KCJDb2xvclNwYWNlIikseHJlZjp0LHJlc291cmNlczppLHBkZkZ1bmN0aW9uRmFjdG9yeTphLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KTt0aGlzLmJib3g9bG9va3VwTm9ybWFsUmVjdChlLmdldEFycmF5KCJCQm94IiksbnVsbCk7bGV0IGc9MCxvPTE7Y29uc3QgYz1lLmdldEFycmF5KCJEb21haW4iKTtpc051bWJlckFycmF5KGMsMikmJihbZyxvXT1jKTtsZXQgQz0hMSxoPSExO2NvbnN0IGw9ZS5nZXRBcnJheSgiRXh0ZW5kIik7KGZ1bmN0aW9uIGlzQm9vbGVhbkFycmF5KGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJihudWxsPT09dHx8ZS5sZW5ndGg9PT10KSYmZS5ldmVyeSgoZT0+ImJvb2xlYW4iPT10eXBlb2YgZSkpfSkobCwyKSYmKFtDLGhdPWwpO2lmKCEodGhpcy5zaGFkaW5nVHlwZSE9PXBhfHxDJiZoKSl7Y29uc3RbZSx0LGksYSxzLHJdPXRoaXMuY29vcmRzQXJyLG49TWF0aC5oeXBvdChlLWEsdC1zKTtpPD1yK24mJnI8PWkrbiYmd2FybigiVW5zdXBwb3J0ZWQgcmFkaWFsIGdyYWRpZW50LiIpfXRoaXMuZXh0ZW5kU3RhcnQ9Qzt0aGlzLmV4dGVuZEVuZD1oO2NvbnN0IFE9ZS5nZXRSYXcoIkZ1bmN0aW9uIiksRT1hLmNyZWF0ZUZyb21BcnJheShRKSx1PShvLWcpLzg0MCxkPXRoaXMuY29sb3JTdG9wcz1bXTtpZihnPj1vfHx1PD0wKXtpbmZvKCJCYWQgc2hhZGluZyBkb21haW4uIik7cmV0dXJufWNvbnN0IGY9bmV3IEZsb2F0MzJBcnJheShuLm51bUNvbXBzKSxwPW5ldyBGbG9hdDMyQXJyYXkoMSk7bGV0IG0seT0wO3BbMF09ZztFKHAsMCxmLDApO2xldCB3PW4uZ2V0UmdiKGYsMCk7Y29uc3QgRD1VdGlsLm1ha2VIZXhDb2xvcih3WzBdLHdbMV0sd1syXSk7ZC5wdXNoKFswLERdKTtsZXQgYj0xO3BbMF09Zyt1O0UocCwwLGYsMCk7bGV0IEY9bi5nZXRSZ2IoZiwwKSxTPUZbMF0td1swXSsxLGs9RlsxXS13WzFdKzEsUj1GWzJdLXdbMl0rMSxOPUZbMF0td1swXS0xLEc9RlsxXS13WzFdLTEseD1GWzJdLXdbMl0tMTtmb3IobGV0IGU9MjtlPDg0MDtlKyspe3BbMF09ZytlKnU7RShwLDAsZiwwKTttPW4uZ2V0UmdiKGYsMCk7Y29uc3QgdD1lLXk7Uz1NYXRoLm1pbihTLChtWzBdLXdbMF0rMSkvdCk7az1NYXRoLm1pbihrLChtWzFdLXdbMV0rMSkvdCk7Uj1NYXRoLm1pbihSLChtWzJdLXdbMl0rMSkvdCk7Tj1NYXRoLm1heChOLChtWzBdLXdbMF0tMSkvdCk7Rz1NYXRoLm1heChHLChtWzFdLXdbMV0tMSkvdCk7eD1NYXRoLm1heCh4LChtWzJdLXdbMl0tMSkvdCk7aWYoIShOPD1TJiZHPD1rJiZ4PD1SKSl7Y29uc3QgZT1VdGlsLm1ha2VIZXhDb2xvcihGWzBdLEZbMV0sRlsyXSk7ZC5wdXNoKFtiLzg0MCxlXSk7Uz1tWzBdLUZbMF0rMTtrPW1bMV0tRlsxXSsxO1I9bVsyXS1GWzJdKzE7Tj1tWzBdLUZbMF0tMTtHPW1bMV0tRlsxXS0xO3g9bVsyXS1GWzJdLTE7eT1iO3c9Rn1iPWU7Rj1tfWNvbnN0IFU9VXRpbC5tYWtlSGV4Q29sb3IoRlswXSxGWzFdLEZbMl0pO2QucHVzaChbMSxVXSk7bGV0IE09InRyYW5zcGFyZW50IjtpZihlLmhhcygiQmFja2dyb3VuZCIpKXttPW4uZ2V0UmdiKGUuZ2V0KCJCYWNrZ3JvdW5kIiksMCk7TT1VdGlsLm1ha2VIZXhDb2xvcihtWzBdLG1bMV0sbVsyXSl9aWYoIUMpe2QudW5zaGlmdChbMCxNXSk7ZFsxXVswXSs9QmFzZVNoYWRpbmcuU01BTExfTlVNQkVSfWlmKCFoKXtkLmF0KC0xKVswXS09QmFzZVNoYWRpbmcuU01BTExfTlVNQkVSO2QucHVzaChbMSxNXSl9dGhpcy5jb2xvclN0b3BzPWR9Z2V0SVIoKXtjb25zdHtjb29yZHNBcnI6ZSxzaGFkaW5nVHlwZTp0fT10aGlzO2xldCBpLGEscyxyLG47aWYodD09PWZhKXthPVtlWzBdLGVbMV1dO3M9W2VbMl0sZVszXV07cj1udWxsO249bnVsbDtpPSJheGlhbCJ9ZWxzZSBpZih0PT09cGEpe2E9W2VbMF0sZVsxXV07cz1bZVszXSxlWzRdXTtyPWVbMl07bj1lWzVdO2k9InJhZGlhbCJ9ZWxzZSB1bnJlYWNoYWJsZShgZ2V0UGF0dGVybiB0eXBlIHVua25vd246ICR7dH1gKTtyZXR1cm5bIlJhZGlhbEF4aWFsIixpLHRoaXMuYmJveCx0aGlzLmNvbG9yU3RvcHMsYSxzLHIsbl19fWNsYXNzIE1lc2hTdHJlYW1SZWFkZXJ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0cmVhbT1lO3RoaXMuY29udGV4dD10O3RoaXMuYnVmZmVyPTA7dGhpcy5idWZmZXJMZW5ndGg9MDtjb25zdCBpPXQubnVtQ29tcHM7dGhpcy50bXBDb21wc0J1Zj1uZXcgRmxvYXQzMkFycmF5KGkpO2NvbnN0IGE9dC5jb2xvclNwYWNlLm51bUNvbXBzO3RoaXMudG1wQ3NDb21wc0J1Zj10LmNvbG9yRm4/bmV3IEZsb2F0MzJBcnJheShhKTp0aGlzLnRtcENvbXBzQnVmfWdldCBoYXNEYXRhKCl7aWYodGhpcy5zdHJlYW0uZW5kKXJldHVybiB0aGlzLnN0cmVhbS5wb3M8dGhpcy5zdHJlYW0uZW5kO2lmKHRoaXMuYnVmZmVyTGVuZ3RoPjApcmV0dXJuITA7Y29uc3QgZT10aGlzLnN0cmVhbS5nZXRCeXRlKCk7aWYoZTwwKXJldHVybiExO3RoaXMuYnVmZmVyPWU7dGhpcy5idWZmZXJMZW5ndGg9ODtyZXR1cm4hMH1yZWFkQml0cyhlKXtsZXQgdD10aGlzLmJ1ZmZlcixpPXRoaXMuYnVmZmVyTGVuZ3RoO2lmKDMyPT09ZSl7aWYoMD09PWkpcmV0dXJuKHRoaXMuc3RyZWFtLmdldEJ5dGUoKTw8MjR8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDwxNnx0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDh8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpKT4+PjA7dD10PDwyNHx0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDE2fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTw8OHx0aGlzLnN0cmVhbS5nZXRCeXRlKCk7Y29uc3QgZT10aGlzLnN0cmVhbS5nZXRCeXRlKCk7dGhpcy5idWZmZXI9ZSYoMTw8aSktMTtyZXR1cm4odDw8OC1pfCgyNTUmZSk+PmkpPj4+MH1pZig4PT09ZSYmMD09PWkpcmV0dXJuIHRoaXMuc3RyZWFtLmdldEJ5dGUoKTtmb3IoO2k8ZTspe3Q9dDw8OHx0aGlzLnN0cmVhbS5nZXRCeXRlKCk7aSs9OH1pLT1lO3RoaXMuYnVmZmVyTGVuZ3RoPWk7dGhpcy5idWZmZXI9dCYoMTw8aSktMTtyZXR1cm4gdD4+aX1hbGlnbigpe3RoaXMuYnVmZmVyPTA7dGhpcy5idWZmZXJMZW5ndGg9MH1yZWFkRmxhZygpe3JldHVybiB0aGlzLnJlYWRCaXRzKHRoaXMuY29udGV4dC5iaXRzUGVyRmxhZyl9cmVhZENvb3JkaW5hdGUoKXtjb25zdCBlPXRoaXMuY29udGV4dC5iaXRzUGVyQ29vcmRpbmF0ZSx0PXRoaXMucmVhZEJpdHMoZSksaT10aGlzLnJlYWRCaXRzKGUpLGE9dGhpcy5jb250ZXh0LmRlY29kZSxzPWU8MzI/MS8oKDE8PGUpLTEpOjIuMzI4MzA2NDM2NTM4Njk2M2UtMTA7cmV0dXJuW3QqcyooYVsxXS1hWzBdKSthWzBdLGkqcyooYVszXS1hWzJdKSthWzJdXX1yZWFkQ29tcG9uZW50cygpe2NvbnN0IGU9dGhpcy5jb250ZXh0Lm51bUNvbXBzLHQ9dGhpcy5jb250ZXh0LmJpdHNQZXJDb21wb25lbnQsaT10PDMyPzEvKCgxPDx0KS0xKToyLjMyODMwNjQzNjUzODY5NjNlLTEwLGE9dGhpcy5jb250ZXh0LmRlY29kZSxzPXRoaXMudG1wQ29tcHNCdWY7Zm9yKGxldCByPTAsbj00O3I8ZTtyKyssbis9Mil7Y29uc3QgZT10aGlzLnJlYWRCaXRzKHQpO3Nbcl09ZSppKihhW24rMV0tYVtuXSkrYVtuXX1jb25zdCByPXRoaXMudG1wQ3NDb21wc0J1Zjt0aGlzLmNvbnRleHQuY29sb3JGbiYmdGhpcy5jb250ZXh0LmNvbG9yRm4ocywwLHIsMCk7cmV0dXJuIHRoaXMuY29udGV4dC5jb2xvclNwYWNlLmdldFJnYihyLDApfX1sZXQgYmE9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBnZXRCKGUpe3JldHVybiBiYVtlXXx8PWZ1bmN0aW9uIGJ1aWxkQihlKXtjb25zdCB0PVtdO2ZvcihsZXQgaT0wO2k8PWU7aSsrKXtjb25zdCBhPWkvZSxzPTEtYTt0LnB1c2gobmV3IEZsb2F0MzJBcnJheShbcyoqMywzKmEqcyoqMiwzKmEqKjIqcyxhKiozXSkpfXJldHVybiB0fShlKX1jbGFzcyBNZXNoU2hhZGluZyBleHRlbmRzIEJhc2VTaGFkaW5ne3N0YXRpYyBNSU5fU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVD0zO3N0YXRpYyBNQVhfU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVD0yMDtzdGF0aWMgVFJJQU5HTEVfREVOU0lUWT0yMDtjb25zdHJ1Y3RvcihlLHQsaSxhLHMpe3N1cGVyKCk7aWYoIShlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNZXNoIGRhdGEgaXMgbm90IGEgc3RyZWFtIik7Y29uc3Qgcj1lLmRpY3Q7dGhpcy5zaGFkaW5nVHlwZT1yLmdldCgiU2hhZGluZ1R5cGUiKTt0aGlzLmJib3g9bG9va3VwTm9ybWFsUmVjdChyLmdldEFycmF5KCJCQm94IiksbnVsbCk7Y29uc3Qgbj1Db2xvclNwYWNlLnBhcnNlKHtjczpyLmdldFJhdygiQ1MiKXx8ci5nZXRSYXcoIkNvbG9yU3BhY2UiKSx4cmVmOnQscmVzb3VyY2VzOmkscGRmRnVuY3Rpb25GYWN0b3J5OmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pO3RoaXMuYmFja2dyb3VuZD1yLmhhcygiQmFja2dyb3VuZCIpP24uZ2V0UmdiKHIuZ2V0KCJCYWNrZ3JvdW5kIiksMCk6bnVsbDtjb25zdCBnPXIuZ2V0UmF3KCJGdW5jdGlvbiIpLG89Zz9hLmNyZWF0ZUZyb21BcnJheShnKTpudWxsO3RoaXMuY29vcmRzPVtdO3RoaXMuY29sb3JzPVtdO3RoaXMuZmlndXJlcz1bXTtjb25zdCBjPXtiaXRzUGVyQ29vcmRpbmF0ZTpyLmdldCgiQml0c1BlckNvb3JkaW5hdGUiKSxiaXRzUGVyQ29tcG9uZW50OnIuZ2V0KCJCaXRzUGVyQ29tcG9uZW50IiksYml0c1BlckZsYWc6ci5nZXQoIkJpdHNQZXJGbGFnIiksZGVjb2RlOnIuZ2V0QXJyYXkoIkRlY29kZSIpLGNvbG9yRm46byxjb2xvclNwYWNlOm4sbnVtQ29tcHM6bz8xOm4ubnVtQ29tcHN9LEM9bmV3IE1lc2hTdHJlYW1SZWFkZXIoZSxjKTtsZXQgaD0hMTtzd2l0Y2godGhpcy5zaGFkaW5nVHlwZSl7Y2FzZSBtYTp0aGlzLl9kZWNvZGVUeXBlNFNoYWRpbmcoQyk7YnJlYWs7Y2FzZSB5YTpjb25zdCBlPTB8ci5nZXQoIlZlcnRpY2VzUGVyUm93Iik7aWYoZTwyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBWZXJ0aWNlc1BlclJvdyIpO3RoaXMuX2RlY29kZVR5cGU1U2hhZGluZyhDLGUpO2JyZWFrO2Nhc2Ugd2E6dGhpcy5fZGVjb2RlVHlwZTZTaGFkaW5nKEMpO2g9ITA7YnJlYWs7Y2FzZSBEYTp0aGlzLl9kZWNvZGVUeXBlN1NoYWRpbmcoQyk7aD0hMDticmVhaztkZWZhdWx0OnVucmVhY2hhYmxlKCJVbnN1cHBvcnRlZCBtZXNoIHR5cGUuIil9aWYoaCl7dGhpcy5fdXBkYXRlQm91bmRzKCk7Zm9yKGxldCBlPTAsdD10aGlzLmZpZ3VyZXMubGVuZ3RoO2U8dDtlKyspdGhpcy5fYnVpbGRGaWd1cmVGcm9tUGF0Y2goZSl9dGhpcy5fdXBkYXRlQm91bmRzKCk7dGhpcy5fcGFja0RhdGEoKX1fZGVjb2RlVHlwZTRTaGFkaW5nKGUpe2NvbnN0IHQ9dGhpcy5jb29yZHMsaT10aGlzLmNvbG9ycyxhPVtdLHM9W107bGV0IHI9MDtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IG49ZS5yZWFkRmxhZygpLGc9ZS5yZWFkQ29vcmRpbmF0ZSgpLG89ZS5yZWFkQ29tcG9uZW50cygpO2lmKDA9PT1yKXtpZighKDA8PW4mJm48PTIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlNCBmbGFnIik7c3dpdGNoKG4pe2Nhc2UgMDpyPTM7YnJlYWs7Y2FzZSAxOnMucHVzaChzLmF0KC0yKSxzLmF0KC0xKSk7cj0xO2JyZWFrO2Nhc2UgMjpzLnB1c2gocy5hdCgtMykscy5hdCgtMSkpO3I9MX1hLnB1c2gobil9cy5wdXNoKHQubGVuZ3RoKTt0LnB1c2goZyk7aS5wdXNoKG8pO3ItLTtlLmFsaWduKCl9dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6InRyaWFuZ2xlcyIsY29vcmRzOm5ldyBJbnQzMkFycmF5KHMpLGNvbG9yczpuZXcgSW50MzJBcnJheShzKX0pfV9kZWNvZGVUeXBlNVNoYWRpbmcoZSx0KXtjb25zdCBpPXRoaXMuY29vcmRzLGE9dGhpcy5jb2xvcnMscz1bXTtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IHQ9ZS5yZWFkQ29vcmRpbmF0ZSgpLHI9ZS5yZWFkQ29tcG9uZW50cygpO3MucHVzaChpLmxlbmd0aCk7aS5wdXNoKHQpO2EucHVzaChyKX10aGlzLmZpZ3VyZXMucHVzaCh7dHlwZToibGF0dGljZSIsY29vcmRzOm5ldyBJbnQzMkFycmF5KHMpLGNvbG9yczpuZXcgSW50MzJBcnJheShzKSx2ZXJ0aWNlc1BlclJvdzp0fSl9X2RlY29kZVR5cGU2U2hhZGluZyhlKXtjb25zdCB0PXRoaXMuY29vcmRzLGk9dGhpcy5jb2xvcnMsYT1uZXcgSW50MzJBcnJheSgxNikscz1uZXcgSW50MzJBcnJheSg0KTtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IHI9ZS5yZWFkRmxhZygpO2lmKCEoMDw9ciYmcjw9MykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGU2IGZsYWciKTtjb25zdCBuPXQubGVuZ3RoO2ZvcihsZXQgaT0wLGE9MCE9PXI/ODoxMjtpPGE7aSsrKXQucHVzaChlLnJlYWRDb29yZGluYXRlKCkpO2NvbnN0IGc9aS5sZW5ndGg7Zm9yKGxldCB0PTAsYT0wIT09cj8yOjQ7dDxhO3QrKylpLnB1c2goZS5yZWFkQ29tcG9uZW50cygpKTtsZXQgbyxjLEMsaDtzd2l0Y2gocil7Y2FzZSAwOmFbMTJdPW4rMzthWzEzXT1uKzQ7YVsxNF09bis1O2FbMTVdPW4rNjthWzhdPW4rMjthWzExXT1uKzc7YVs0XT1uKzE7YVs3XT1uKzg7YVswXT1uO2FbMV09bisxMTthWzJdPW4rMTA7YVszXT1uKzk7c1syXT1nKzE7c1szXT1nKzI7c1swXT1nO3NbMV09ZyszO2JyZWFrO2Nhc2UgMTpvPWFbMTJdO2M9YVsxM107Qz1hWzE0XTtoPWFbMTVdO2FbMTJdPWg7YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1DO2FbMTFdPW4rMzthWzRdPWM7YVs3XT1uKzQ7YVswXT1vO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O289c1syXTtjPXNbM107c1syXT1jO3NbM109ZztzWzBdPW87c1sxXT1nKzE7YnJlYWs7Y2FzZSAyOm89YVsxNV07Yz1hWzExXTthWzEyXT1hWzNdO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09YVs3XTthWzExXT1uKzM7YVs0XT1jO2FbN109bis0O2FbMF09bzthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtvPXNbM107c1syXT1zWzFdO3NbM109ZztzWzBdPW87c1sxXT1nKzE7YnJlYWs7Y2FzZSAzOmFbMTJdPWFbMF07YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1hWzFdO2FbMTFdPW4rMzthWzRdPWFbMl07YVs3XT1uKzQ7YVswXT1hWzNdO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O3NbMl09c1swXTtzWzNdPWc7c1swXT1zWzFdO3NbMV09ZysxfWFbNV09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFthWzBdXVswXS10W2FbMTVdXVswXSs2Kih0W2FbNF1dWzBdK3RbYVsxXV1bMF0pLTIqKHRbYVsxMl1dWzBdK3RbYVszXV1bMF0pKzMqKHRbYVsxM11dWzBdK3RbYVs3XV1bMF0pKS85LCgtNCp0W2FbMF1dWzFdLXRbYVsxNV1dWzFdKzYqKHRbYVs0XV1bMV0rdFthWzFdXVsxXSktMioodFthWzEyXV1bMV0rdFthWzNdXVsxXSkrMyoodFthWzEzXV1bMV0rdFthWzddXVsxXSkpLzldKTthWzZdPXQubGVuZ3RoO3QucHVzaChbKC00KnRbYVszXV1bMF0tdFthWzEyXV1bMF0rNioodFthWzJdXVswXSt0W2FbN11dWzBdKS0yKih0W2FbMF1dWzBdK3RbYVsxNV1dWzBdKSszKih0W2FbNF1dWzBdK3RbYVsxNF1dWzBdKSkvOSwoLTQqdFthWzNdXVsxXS10W2FbMTJdXVsxXSs2Kih0W2FbMl1dWzFdK3RbYVs3XV1bMV0pLTIqKHRbYVswXV1bMV0rdFthWzE1XV1bMV0pKzMqKHRbYVs0XV1bMV0rdFthWzE0XV1bMV0pKS85XSk7YVs5XT10Lmxlbmd0aDt0LnB1c2goWygtNCp0W2FbMTJdXVswXS10W2FbM11dWzBdKzYqKHRbYVs4XV1bMF0rdFthWzEzXV1bMF0pLTIqKHRbYVswXV1bMF0rdFthWzE1XV1bMF0pKzMqKHRbYVsxMV1dWzBdK3RbYVsxXV1bMF0pKS85LCgtNCp0W2FbMTJdXVsxXS10W2FbM11dWzFdKzYqKHRbYVs4XV1bMV0rdFthWzEzXV1bMV0pLTIqKHRbYVswXV1bMV0rdFthWzE1XV1bMV0pKzMqKHRbYVsxMV1dWzFdK3RbYVsxXV1bMV0pKS85XSk7YVsxMF09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFthWzE1XV1bMF0tdFthWzBdXVswXSs2Kih0W2FbMTFdXVswXSt0W2FbMTRdXVswXSktMioodFthWzEyXV1bMF0rdFthWzNdXVswXSkrMyoodFthWzJdXVswXSt0W2FbOF1dWzBdKSkvOSwoLTQqdFthWzE1XV1bMV0tdFthWzBdXVsxXSs2Kih0W2FbMTFdXVsxXSt0W2FbMTRdXVsxXSktMioodFthWzEyXV1bMV0rdFthWzNdXVsxXSkrMyoodFthWzJdXVsxXSt0W2FbOF1dWzFdKSkvOV0pO3RoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJwYXRjaCIsY29vcmRzOm5ldyBJbnQzMkFycmF5KGEpLGNvbG9yczpuZXcgSW50MzJBcnJheShzKX0pfX1fZGVjb2RlVHlwZTdTaGFkaW5nKGUpe2NvbnN0IHQ9dGhpcy5jb29yZHMsaT10aGlzLmNvbG9ycyxhPW5ldyBJbnQzMkFycmF5KDE2KSxzPW5ldyBJbnQzMkFycmF5KDQpO2Zvcig7ZS5oYXNEYXRhOyl7Y29uc3Qgcj1lLnJlYWRGbGFnKCk7aWYoISgwPD1yJiZyPD0zKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gdHlwZTcgZmxhZyIpO2NvbnN0IG49dC5sZW5ndGg7Zm9yKGxldCBpPTAsYT0wIT09cj8xMjoxNjtpPGE7aSsrKXQucHVzaChlLnJlYWRDb29yZGluYXRlKCkpO2NvbnN0IGc9aS5sZW5ndGg7Zm9yKGxldCB0PTAsYT0wIT09cj8yOjQ7dDxhO3QrKylpLnB1c2goZS5yZWFkQ29tcG9uZW50cygpKTtsZXQgbyxjLEMsaDtzd2l0Y2gocil7Y2FzZSAwOmFbMTJdPW4rMzthWzEzXT1uKzQ7YVsxNF09bis1O2FbMTVdPW4rNjthWzhdPW4rMjthWzldPW4rMTM7YVsxMF09bisxNDthWzExXT1uKzc7YVs0XT1uKzE7YVs1XT1uKzEyO2FbNl09bisxNTthWzddPW4rODthWzBdPW47YVsxXT1uKzExO2FbMl09bisxMDthWzNdPW4rOTtzWzJdPWcrMTtzWzNdPWcrMjtzWzBdPWc7c1sxXT1nKzM7YnJlYWs7Y2FzZSAxOm89YVsxMl07Yz1hWzEzXTtDPWFbMTRdO2g9YVsxNV07YVsxMl09aDthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPUM7YVs5XT1uKzk7YVsxMF09bisxMDthWzExXT1uKzM7YVs0XT1jO2FbNV09bis4O2FbNl09bisxMTthWzddPW4rNDthWzBdPW87YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7bz1zWzJdO2M9c1szXTtzWzJdPWM7c1szXT1nO3NbMF09bztzWzFdPWcrMTticmVhaztjYXNlIDI6bz1hWzE1XTtjPWFbMTFdO2FbMTJdPWFbM107YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1hWzddO2FbOV09bis5O2FbMTBdPW4rMTA7YVsxMV09biszO2FbNF09YzthWzVdPW4rODthWzZdPW4rMTE7YVs3XT1uKzQ7YVswXT1vO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O289c1szXTtzWzJdPXNbMV07c1szXT1nO3NbMF09bztzWzFdPWcrMTticmVhaztjYXNlIDM6YVsxMl09YVswXTthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPWFbMV07YVs5XT1uKzk7YVsxMF09bisxMDthWzExXT1uKzM7YVs0XT1hWzJdO2FbNV09bis4O2FbNl09bisxMTthWzddPW4rNDthWzBdPWFbM107YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7c1syXT1zWzBdO3NbM109ZztzWzBdPXNbMV07c1sxXT1nKzF9dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6InBhdGNoIixjb29yZHM6bmV3IEludDMyQXJyYXkoYSksY29sb3JzOm5ldyBJbnQzMkFycmF5KHMpfSl9fV9idWlsZEZpZ3VyZUZyb21QYXRjaChlKXtjb25zdCB0PXRoaXMuZmlndXJlc1tlXTthc3NlcnQoInBhdGNoIj09PXQudHlwZSwiVW5leHBlY3RlZCBwYXRjaCBtZXNoIGZpZ3VyZSIpO2NvbnN0IGk9dGhpcy5jb29yZHMsYT10aGlzLmNvbG9ycyxzPXQuY29vcmRzLHI9dC5jb2xvcnMsbj1NYXRoLm1pbihpW3NbMF1dWzBdLGlbc1szXV1bMF0saVtzWzEyXV1bMF0saVtzWzE1XV1bMF0pLGc9TWF0aC5taW4oaVtzWzBdXVsxXSxpW3NbM11dWzFdLGlbc1sxMl1dWzFdLGlbc1sxNV1dWzFdKSxvPU1hdGgubWF4KGlbc1swXV1bMF0saVtzWzNdXVswXSxpW3NbMTJdXVswXSxpW3NbMTVdXVswXSksYz1NYXRoLm1heChpW3NbMF1dWzFdLGlbc1szXV1bMV0saVtzWzEyXV1bMV0saVtzWzE1XV1bMV0pO2xldCBDPU1hdGguY2VpbCgoby1uKSpNZXNoU2hhZGluZy5UUklBTkdMRV9ERU5TSVRZLyh0aGlzLmJvdW5kc1syXS10aGlzLmJvdW5kc1swXSkpO0M9TWF0aC5tYXgoTWVzaFNoYWRpbmcuTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsTWF0aC5taW4oTWVzaFNoYWRpbmcuTUFYX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsQykpO2xldCBoPU1hdGguY2VpbCgoYy1nKSpNZXNoU2hhZGluZy5UUklBTkdMRV9ERU5TSVRZLyh0aGlzLmJvdW5kc1szXS10aGlzLmJvdW5kc1sxXSkpO2g9TWF0aC5tYXgoTWVzaFNoYWRpbmcuTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsTWF0aC5taW4oTWVzaFNoYWRpbmcuTUFYX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsaCkpO2NvbnN0IGw9QysxLFE9bmV3IEludDMyQXJyYXkoKGgrMSkqbCksRT1uZXcgSW50MzJBcnJheSgoaCsxKSpsKTtsZXQgdT0wO2NvbnN0IGQ9bmV3IFVpbnQ4QXJyYXkoMyksZj1uZXcgVWludDhBcnJheSgzKSxwPWFbclswXV0sbT1hW3JbMV1dLHk9YVtyWzJdXSx3PWFbclszXV0sRD1nZXRCKGgpLGI9Z2V0QihDKTtmb3IobGV0IGU9MDtlPD1oO2UrKyl7ZFswXT0ocFswXSooaC1lKSt5WzBdKmUpL2h8MDtkWzFdPShwWzFdKihoLWUpK3lbMV0qZSkvaHwwO2RbMl09KHBbMl0qKGgtZSkreVsyXSplKS9ofDA7ZlswXT0obVswXSooaC1lKSt3WzBdKmUpL2h8MDtmWzFdPShtWzFdKihoLWUpK3dbMV0qZSkvaHwwO2ZbMl09KG1bMl0qKGgtZSkrd1syXSplKS9ofDA7Zm9yKGxldCB0PTA7dDw9Qzt0KyssdSsrKXtpZighKDAhPT1lJiZlIT09aHx8MCE9PXQmJnQhPT1DKSljb250aW51ZTtsZXQgcj0wLG49MCxnPTA7Zm9yKGxldCBhPTA7YTw9MzthKyspZm9yKGxldCBvPTA7bzw9MztvKyssZysrKXtjb25zdCBjPURbZV1bYV0qYlt0XVtvXTtyKz1pW3NbZ11dWzBdKmM7bis9aVtzW2ddXVsxXSpjfVFbdV09aS5sZW5ndGg7aS5wdXNoKFtyLG5dKTtFW3VdPWEubGVuZ3RoO2NvbnN0IG89bmV3IFVpbnQ4QXJyYXkoMyk7b1swXT0oZFswXSooQy10KStmWzBdKnQpL0N8MDtvWzFdPShkWzFdKihDLXQpK2ZbMV0qdCkvQ3wwO29bMl09KGRbMl0qKEMtdCkrZlsyXSp0KS9DfDA7YS5wdXNoKG8pfX1RWzBdPXNbMF07RVswXT1yWzBdO1FbQ109c1szXTtFW0NdPXJbMV07UVtsKmhdPXNbMTJdO0VbbCpoXT1yWzJdO1FbbCpoK0NdPXNbMTVdO0VbbCpoK0NdPXJbM107dGhpcy5maWd1cmVzW2VdPXt0eXBlOiJsYXR0aWNlIixjb29yZHM6USxjb2xvcnM6RSx2ZXJ0aWNlc1BlclJvdzpsfX1fdXBkYXRlQm91bmRzKCl7bGV0IGU9dGhpcy5jb29yZHNbMF1bMF0sdD10aGlzLmNvb3Jkc1swXVsxXSxpPWUsYT10O2ZvcihsZXQgcz0xLHI9dGhpcy5jb29yZHMubGVuZ3RoO3M8cjtzKyspe2NvbnN0IHI9dGhpcy5jb29yZHNbc11bMF0sbj10aGlzLmNvb3Jkc1tzXVsxXTtlPWU+cj9yOmU7dD10Pm4/bjp0O2k9aTxyP3I6aTthPWE8bj9uOmF9dGhpcy5ib3VuZHM9W2UsdCxpLGFdfV9wYWNrRGF0YSgpe2xldCBlLHQsaSxhO2NvbnN0IHM9dGhpcy5jb29yZHMscj1uZXcgRmxvYXQzMkFycmF5KDIqcy5sZW5ndGgpO2ZvcihlPTAsaT0wLHQ9cy5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1zW2VdO3JbaSsrXT10WzBdO3JbaSsrXT10WzFdfXRoaXMuY29vcmRzPXI7Y29uc3Qgbj10aGlzLmNvbG9ycyxnPW5ldyBVaW50OEFycmF5KDMqbi5sZW5ndGgpO2ZvcihlPTAsaT0wLHQ9bi5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1uW2VdO2dbaSsrXT10WzBdO2dbaSsrXT10WzFdO2dbaSsrXT10WzJdfXRoaXMuY29sb3JzPWc7Y29uc3Qgbz10aGlzLmZpZ3VyZXM7Zm9yKGU9MCx0PW8ubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9b1tlXSxzPXQuY29vcmRzLHI9dC5jb2xvcnM7Zm9yKGk9MCxhPXMubGVuZ3RoO2k8YTtpKyspe3NbaV0qPTI7cltpXSo9M319fWdldElSKCl7Y29uc3R7Ym91bmRzOmV9PXRoaXM7aWYoZVsyXS1lWzBdPT0wfHxlWzNdLWVbMV09PTApdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIE1lc2hTaGFkaW5nIGJvdW5kczogWyR7ZX1dLmApO3JldHVyblsiTWVzaCIsdGhpcy5zaGFkaW5nVHlwZSx0aGlzLmNvb3Jkcyx0aGlzLmNvbG9ycyx0aGlzLmZpZ3VyZXMsZSx0aGlzLmJib3gsdGhpcy5iYWNrZ3JvdW5kXX19Y2xhc3MgRHVtbXlTaGFkaW5nIGV4dGVuZHMgQmFzZVNoYWRpbmd7Z2V0SVIoKXtyZXR1cm5bIkR1bW15Il19fWZ1bmN0aW9uIGdldFRpbGluZ1BhdHRlcm5JUihlLHQsYSl7Y29uc3Qgcz1sb29rdXBNYXRyaXgodC5nZXRBcnJheSgiTWF0cml4IiksaSkscj1sb29rdXBOb3JtYWxSZWN0KHQuZ2V0QXJyYXkoIkJCb3giKSxudWxsKTtpZighcnx8clsyXS1yWzBdPT0wfHxyWzNdLXJbMV09PTApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvQkJveCBhcnJheS4iKTtjb25zdCBuPXQuZ2V0KCJYU3RlcCIpO2lmKCJudW1iZXIiIT10eXBlb2Ygbil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9YU3RlcCB2YWx1ZS4iKTtjb25zdCBnPXQuZ2V0KCJZU3RlcCIpO2lmKCJudW1iZXIiIT10eXBlb2YgZyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9ZU3RlcCB2YWx1ZS4iKTtjb25zdCBvPXQuZ2V0KCJQYWludFR5cGUiKTtpZighTnVtYmVyLmlzSW50ZWdlcihvKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9QYWludFR5cGUgdmFsdWUuIik7Y29uc3QgYz10LmdldCgiVGlsaW5nVHlwZSIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL1RpbGluZ1R5cGUgdmFsdWUuIik7cmV0dXJuWyJUaWxpbmdQYXR0ZXJuIixhLGUscyxyLG4sZyxvLGNdfWNvbnN0IEZhPVsxLjM4NzcsMSwxLDEsLjk3ODAxLC45MjQ4MiwuODk1NTIsLjkxMTMzLC44MTk4OCwuOTc1NjYsLjk4MTUyLC45MzU0OCwuOTM1NDgsMS4yNzk4LC44NTI4NCwuOTI3OTQsMSwuOTYxMzQsMS41NDY1NywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjgyODQ1LC44Mjg0NSwuODUyODQsLjg1Mjg0LC44NTI4NCwuNzU4NTksLjkyMTM4LC44MzkwOCwuNzc2MiwuNzMyOTMsLjg3Mjg5LC43MzEzMywuNzUxNCwuODE5MjEsLjg3MzU2LC45NTk1OCwuNTk1MjYsLjc1NzI3LC42OTIyNSwxLjA0OTI0LC45MTIxLC44Njk0MywuNzk3OTUsLjg4MTk4LC43Nzk1OCwuNzA4NjQsLjgxMDU1LC45MDM5OSwuODg2NTMsLjk2MDE3LC44MjU3NywuNzc4OTIsLjc4MjU3LC45NzUwNywxLjU0NjU3LC45NzUwNywuODUyODQsLjg5NTUyLC45MDE3NiwuODg3NjIsLjg3ODUsLjc1MjQxLC44Nzg1LC45MDUxOCwuOTUwMTUsLjc3NjE4LC44Nzg1LC44ODQwMSwuOTE5MTYsLjg2MzA0LC44ODQwMSwuOTE0ODgsLjg3ODUsLjg4MDEsLjg3ODUsLjg3ODUsLjkxMzQzLC43MTczLDEuMDQxMDYsLjg3ODUsLjg1MDc1LC45NTc5NCwuODI2MTYsLjg1MTYyLC43OTQ5MiwuODgzMzEsMS42OTgwOCwuODgzMzEsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS43ODAxLC44OTU1MiwxLjI0NDg3LDEuMTMyNTQsMS4xMjQwMSwuOTY4MzksLjg1Mjg0LC42ODc4NywuNzA2NDUsLjg1NTkyLC45MDc0NywxLjAxNDY2LDEuMDA4OCwuOTAzMjMsMSwxLjA3NDYzLDEsLjkxMDU2LC43NTgwNiwxLjE5MTE4LC45NjgzOSwuNzg4NjQsLjgyODQ1LC44NDEzMywuNzU4NTksLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjc3NTM5LC43MzI5MywuNzMxMzMsLjczMTMzLC43MzEzMywuNzMxMzMsLjk1OTU4LC45NTk1OCwuOTU5NTgsLjk1OTU4LC44ODUwNiwuOTEyMSwuODY5NDMsLjg2OTQzLC44Njk0MywuODY5NDMsLjg2OTQzLC44NTI4NCwuODc1MDgsLjkwMzk5LC45MDM5OSwuOTAzOTksLjkwMzk5LC43Nzg5MiwuNzk3OTUsLjkwODA3LC44ODc2MiwuODg3NjIsLjg4NzYyLC44ODc2MiwuODg3NjIsLjg4NzYyLC44NzE1LC43NTI0MSwuOTA1MTgsLjkwNTE4LC45MDUxOCwuOTA1MTgsLjg4NDAxLC44ODQwMSwuODg0MDEsLjg4NDAxLC44Nzg1LC44Nzg1LC44ODAxLC44ODAxLC44ODAxLC44ODAxLC44ODAxLC45MDc0NywuODkwNDksLjg3ODUsLjg3ODUsLjg3ODUsLjg3ODUsLjg1MTYyLC44Nzg1LC44NTE2MiwuODM5MDgsLjg4NzYyLC44MzkwOCwuODg3NjIsLjgzOTA4LC44ODc2MiwuNzMyOTMsLjc1MjQxLC43MzI5MywuNzUyNDEsLjczMjkzLC43NTI0MSwuNzMyOTMsLjc1MjQxLC44NzI4OSwuODMwMTYsLjg4NTA2LC45MzEyNSwuNzMxMzMsLjkwNTE4LC43MzEzMywuOTA1MTgsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC43MzEzMywuOTA1MTgsLjgxOTIxLC43NzYxOCwuODE5MjEsLjc3NjE4LC44MTkyMSwuNzc2MTgsMSwxLC44NzM1NiwuODc4NSwuOTEwNzUsLjg5NjA4LC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuNzYyMjksLjkwMTY3LC41OTUyNiwuOTE5MTYsMSwxLC44NjMwNCwuNjkyMjUsLjg4NDAxLDEsMSwuNzA0MjQsLjc5NDY4LC45MTkyNiwuODgxNzUsLjcwODIzLC45NDkwMywuOTEyMSwuODc4NSwxLDEsLjkxMjEsLjg3ODUsLjg3ODAyLC44ODY1NiwuODc4NSwuODY5NDMsLjg4MDEsLjg2OTQzLC44ODAxLC44Njk0MywuODgwMSwuODc0MDIsLjg5MjkxLC43Nzk1OCwuOTEzNDMsMSwxLC43Nzk1OCwuOTEzNDMsLjcwODY0LC43MTczLC43MDg2NCwuNzE3MywuNzA4NjQsLjcxNzMsLjcwODY0LC43MTczLDEsMSwuODEwNTUsLjc1ODQxLC44MTA1NSwxLjA2NDUyLC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45NjAxNywuOTU3OTQsLjc3ODkyLC44NTE2MiwuNzc4OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC43ODI1NywuNzk0OTIsLjkyOTcsLjU2ODkyLC44MzkwOCwuODg3NjIsLjc3NTM5LC44NzE1LC44NzUwOCwuODkwNDksMSwxLC44MTA1NSwxLjA0MTA2LDEuMjA1MjgsMS4yMDUyOCwxLDEuMTU1NDMsLjcwNjc0LC45ODM4NywuOTQ3MjEsMS4zMzQzMSwxLjQ1ODk0LC45NTE2MSwxLjA2MzAzLC44MzkwOCwuODAzNTIsLjU3MTg0LC42OTY1LC41NjI4OSwuODIwMDEsLjU2MDI5LC44MTIzNSwxLjAyOTg4LC44MzkwOCwuNzc2MiwuNjgxNTYsLjgwMzY3LC43MzEzMywuNzgyNTcsLjg3MzU2LC44Njk0MywuOTU5NTgsLjc1NzI3LC44OTAxOSwxLjA0OTI0LC45MTIxLC43NjQ4LC44Njk0MywuODczNTYsLjc5Nzk1LC43ODI3NSwuODEwNTUsLjc3ODkyLC45NzYyLC44MjU3NywuOTk4MTksLjg0ODk2LC45NTk1OCwuNzc4OTIsLjk2MTA4LDEuMDE0MDcsLjg5MDQ5LDEuMDI5ODgsLjk0MjExLC45NjEwOCwuODkzNiwuODQwMjEsLjg3ODQyLC45NjM5OSwuNzkxMDksLjg5MDQ5LDEuMDA4MTMsMS4wMjk4OCwuODYwNzcsLjg3NDQ1LC45MjA5OSwuODQ3MjMsLjg2NTEzLC44ODAxLC43NTYzOCwuODU3MTQsLjc4MjE2LC43OTU4NiwuODc5NjUsLjk0MjExLC45Nzc0NywuNzgyODcsLjk3OTI2LC44NDk3MSwxLjAyOTg4LC45NDIxMSwuODgwMSwuOTQyMTEsLjg0OTcxLC43MzEzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTAyNjQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNTE4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDU0OCwxLDEsMSwxLDEsMSwuOTYwMTcsLjk1Nzk0LC45NjAxNywuOTU3OTQsLjk2MDE3LC45NTc5NCwuNzc4OTIsLjg1MTYyLDEsMSwuODk1NTIsLjkwNTI3LDEsLjkwMzYzLC45Mjc5NCwuOTI3OTQsLjkyNzk0LC45Mjc5NCwuODcwMTIsLjg3MDEyLC44NzAxMiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjcxMTQzLDEuMDYxNTIsMSwxLDEuMDMzNzIsMS4wMzM3MiwuOTcxNzEsMS40OTU2LDIuMjgwNywuOTM4MzUsLjgzNDA2LC45MTEzMywuODQxMDcsLjkxMTMzLDEsMSwxLC43MjAyMSwxLDEuMjMxMDgsLjgzNDg5LC44ODUyNSwuODg1MjUsLjgxNDk5LC45MDUyNywxLjgxMDU1LC45MDUyNywxLjgxMDU1LDEuMzEwMDYsMS41MzcxMSwuOTQ0MzQsMS4wODY5NiwxLC45NTAxOCwuNzcxOTIsLjg1Mjg0LC45MDc0NywxLjE3NTM0LC42OTgyNSwuOTcxNiwxLjM3MDc3LC45MDc0NywuOTA3NDcsLjg1MzU2LC45MDc0NywuOTA3NDcsMS40NDk0NywuODUyODQsLjg5NDEsLjg5NDEsLjcwNTcyLC44LC43MDU3MiwuNzA1NzIsLjcwNTcyLC43MDU3MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk5ODYyLC45OTg2MiwxLDEsMSwxLDEsMS4wODAwNCwuOTEwMjcsMSwxLDEsLjk5ODYyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDcyNywuOTA3MjcsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFNhPXtsaW5lSGVpZ2h0OjEuMjIwNyxsaW5lR2FwOi4yMjA3fSxrYT1bMS4zODc3LDEsMSwxLC45NzgwMSwuOTI0ODIsLjg5NTUyLC45MTEzMywuODE5ODgsLjk3NTY2LC45ODE1MiwuOTM1NDgsLjkzNTQ4LDEuMjc5OCwuODUyODQsLjkyNzk0LDEsLjk2MTM0LDEuNTYyMzksLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC44Mjg0NSwuODI4NDUsLjg1Mjg0LC44NTI4NCwuODUyODQsLjc1ODU5LC45MjEzOCwuODM5MDgsLjc3NjIsLjcxODA1LC44NzI4OSwuNzMxMzMsLjc1MTQsLjgxOTIxLC44NzM1NiwuOTU5NTgsLjU5NTI2LC43NTcyNywuNjkyMjUsMS4wNDkyNCwuOTA4NzIsLjg1OTM4LC43OTc5NSwuODcwNjgsLjc3OTU4LC42OTc2NiwuODEwNTUsLjkwMzk5LC44ODY1MywuOTYwNjgsLjgyNTc3LC43Nzg5MiwuNzgyNTcsLjk3NTA3LDEuNTI5LC45NzUwNywuODUyODQsLjg5NTUyLC45MDE3NiwuOTQ5MDgsLjg2NDExLC43NDAxMiwuODY0MTEsLjg4MzIzLC45NTAxNSwuODY0MTEsLjg2MzMxLC44ODQwMSwuOTE5MTYsLjg2MzA0LC44ODQwMSwuOTAzOSwuODYzMzEsLjg2MzMxLC44NjQxMSwuODY0MTEsLjkwNDY0LC43MDg1MiwxLjA0MTA2LC44NjMzMSwuODQzNzIsLjk1Nzk0LC44MjYxNiwuODQ1NDgsLjc5NDkyLC44ODMzMSwxLjY5ODA4LC44ODMzMSwuODUyODQsLjk3ODAxLC44OTU1MiwuOTExMzMsLjg5NTUyLC45MTEzMywxLjc4MDEsLjg5NTUyLDEuMjQ0ODcsMS4xMzI1NCwxLjE5MTI5LC45NjgzOSwuODUyODQsLjY4Nzg3LC43MDY0NSwuODU1OTIsLjkwNzQ3LDEuMDE0NjYsMS4wMDg4LC45MDMyMywxLDEuMDc0NjMsMSwuOTEwNTYsLjc1ODA2LDEuMTkxMTgsLjk2ODM5LC43ODg2NCwuODI4NDUsLjg0MTMzLC43NTg1OSwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuNzc1MzksLjcxODA1LC43MzEzMywuNzMxMzMsLjczMTMzLC43MzEzMywuOTU5NTgsLjk1OTU4LC45NTk1OCwuOTU5NTgsLjg4NTA2LC45MDg3MiwuODU5MzgsLjg1OTM4LC44NTkzOCwuODU5MzgsLjg1OTM4LC44NTI4NCwuODcwNjgsLjkwMzk5LC45MDM5OSwuOTAzOTksLjkwMzk5LC43Nzg5MiwuNzk3OTUsLjkwODA3LC45NDkwOCwuOTQ5MDgsLjk0OTA4LC45NDkwOCwuOTQ5MDgsLjk0OTA4LC44NTg4NywuNzQwMTIsLjg4MzIzLC44ODMyMywuODgzMjMsLjg4MzIzLC44ODQwMSwuODg0MDEsLjg4NDAxLC44ODQwMSwuODc4NSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg2MzMxLC44NjMzMSwuOTA3NDcsLjg5MDQ5LC44NjMzMSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODQ1NDgsLjg2NDExLC44NDU0OCwuODM5MDgsLjk0OTA4LC44MzkwOCwuOTQ5MDgsLjgzOTA4LC45NDkwOCwuNzE4MDUsLjc0MDEyLC43MTgwNSwuNzQwMTIsLjcxODA1LC43NDAxMiwuNzE4MDUsLjc0MDEyLC44NzI4OSwuNzk1MzgsLjg4NTA2LC45MjcyNiwuNzMxMzMsLjg4MzIzLC43MzEzMywuODgzMjMsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC43MzEzMywuODgzMjMsLjgxOTIxLC44NjQxMSwuODE5MjEsLjg2NDExLC44MTkyMSwuODY0MTEsMSwxLC44NzM1NiwuODYzMzEsLjkxMDc1LC44Nzc3LC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuNzY0NjcsLjkwMTY3LC41OTUyNiwuOTE5MTYsMSwxLC44NjMwNCwuNjkyMjUsLjg4NDAxLDEsMSwuNzA0MjQsLjc3MzEyLC45MTkyNiwuODgxNzUsLjcwODIzLC45NDkwMywuOTA4NzIsLjg2MzMxLDEsMSwuOTA4NzIsLjg2MzMxLC44NjkwNiwuODgxMTYsLjg2MzMxLC44NTkzOCwuODYzMzEsLjg1OTM4LC44NjMzMSwuODU5MzgsLjg2MzMxLC44NzQwMiwuODY1NDksLjc3OTU4LC45MDQ2NCwxLDEsLjc3OTU4LC45MDQ2NCwuNjk3NjYsLjcwODUyLC42OTc2NiwuNzA4NTIsLjY5NzY2LC43MDg1MiwuNjk3NjYsLjcwODUyLDEsMSwuODEwNTUsLjc1ODQxLC44MTA1NSwxLjA2NDUyLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45NjA2OCwuOTU3OTQsLjc3ODkyLC44NDU0OCwuNzc4OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC43ODI1NywuNzk0OTIsLjkyOTcsLjU2ODkyLC44MzkwOCwuOTQ5MDgsLjc3NTM5LC44NTg4NywuODcwNjgsLjg5MDQ5LDEsMSwuODEwNTUsMS4wNDEwNiwxLjIwNTI4LDEuMjA1MjgsMSwxLjE1NTQzLC43MDA4OCwuOTgzODcsLjk0NzIxLDEuMzM0MzEsMS40NTg5NCwuOTUxNjEsMS40ODM4NywuODM5MDgsLjgwMzUyLC41NzExOCwuNjk2NSwuNTYzNDcsLjc5MTc5LC41NTg1MywuODAzNDYsMS4wMjk4OCwuODM5MDgsLjc3NjIsLjY3MTc0LC44NjAzNiwuNzMxMzMsLjc4MjU3LC44NzM1NiwuODY0NDEsLjk1OTU4LC43NTcyNywuODkwMTksMS4wNDkyNCwuOTA4NzIsLjc0ODg5LC44NTkzOCwuODc4OTEsLjc5Nzk1LC43OTU3LC44MTA1NSwuNzc4OTIsLjk3NDQ3LC44MjU3NywuOTc0NjYsLjg3MTc5LC45NTk1OCwuNzc4OTIsLjk0MjUyLC45NTYxMiwuODc1MywxLjAyOTg4LC45MjczMywuOTQyNTIsLjg3NDExLC44NDAyMSwuODcyOCwuOTU2MTIsLjc0MDgxLC44NzUzLDEuMDIxODksMS4wMjk4OCwuODQ4MTQsLjg3NDQ1LC45MTgyMiwuODQ3MjMsLjg1NjY4LC44NjMzMSwuODEzNDQsLjg3NTgxLC43NjQyMiwuODIwNDYsLjk2MDU3LC45MjczMywuOTkzNzUsLjc4MDIyLC45NTQ1MiwuODYwMTUsMS4wMjk4OCwuOTI3MzMsLjg2MzMxLC45MjczMywuODYwMTUsLjczMTMzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDYzMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODgzMjMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg1MTc0LDEsMSwxLDEsMSwxLC45NjA2OCwuOTU3OTQsLjk2MDY4LC45NTc5NCwuOTYwNjgsLjk1Nzk0LC43Nzg5MiwuODQ1NDgsMSwxLC44OTU1MiwuOTA1MjcsMSwuOTAzNjMsLjkyNzk0LC45Mjc5NCwuOTI3OTQsLjg5ODA3LC44NzAxMiwuODcwMTIsLjg3MDEyLC44OTU1MiwuODk1NTIsMS40MjI1OSwuNzEwOTQsMS4wNjE1MiwxLDEsMS4wMzM3MiwxLjAzMzcyLC45NzE3MSwxLjQ5NTYsMi4yODA3LC45Mjk3MiwuODM0MDYsLjkxMTMzLC44MzMyNiwuOTExMzMsMSwxLDEsLjcyMDIxLDEsMS4yMzEwOCwuODM0ODksLjg4NTI1LC44ODUyNSwuODE0OTksLjkwNjE2LDEuODEwNTUsLjkwNTI3LDEuODEwNTUsMS4zMTA3LDEuNTM3MTEsLjk0NDM0LDEuMDg2OTYsMSwuOTUwMTgsLjc3MTkyLC44NTI4NCwuOTA3NDcsMS4xNzUzNCwuNjk4MjUsLjk3MTYsMS4zNzA3NywuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDgwMDQsLjkxMDI3LDEsMSwxLC45OTg2MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA3MjcsLjkwNzI3LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxSYT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sTmE9WzEuMzg3NywxLDEsMSwxLjE3MjIzLDEuMTI5MywuODk1NTIsLjkxMTMzLC44MDM5NSwxLjAyMjY5LDEuMTU2MDEsLjkxMDU2LC45MTA1NiwxLjI3OTgsLjg1Mjg0LC44OTgwNywxLC45MDg2MSwxLjM5NTQzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTYzMDksLjk2MzA5LC44NTI4NCwuODUyODQsLjg1Mjg0LC44MzMxOSwuODgwNzEsLjg2NzUsLjgxNTUyLC43MjM0NiwuODUxOTMsLjczMjA2LC43NTIyLC44MTEwNSwuODYyNzUsLjkwNjg1LC42Mzc3LC43Nzg5MiwuNzU1OTMsMS4wMjYzOCwuODkyNDksLjg0MTE4LC43NzQ1MiwuODUzNzQsLjc1MTg2LC42Nzc4OSwuNzk3NzYsLjg4ODQ0LC44NTA2NiwuOTQzMDksLjc3ODE4LC43MzA2LC43NjY1OSwxLjEwMzY5LDEuMzgzMTMsMS4xMDM2OSwxLjA2MTM5LC44OTU1MiwuODczOSwuOTI0NSwuOTI0NSwuODMyMDMsLjkyNDUsLjg1ODY1LDEuMDk4NDIsLjkyNDUsLjkyNDUsMS4wMzI5NywxLjA3NjkyLC45MDkxOCwxLjAzMjk3LC45NDk1OSwuOTI0NSwuOTIyNzQsLjkyNDUsLjkyNDUsMS4wMjkzMywuNzc4MzIsMS4yMDU2MiwuOTI0NSwuODkxNiwuOTg5ODYsLjg2NjIxLC44OTQ1MywuNzkwMDQsLjk0MTUyLDEuNzcyNTYsLjk0MTUyLC44NTI4NCwuOTc4MDEsLjg5NTUyLC45MTEzMywuODk1NTIsLjkxMTMzLDEuOTE3MjksLjg5NTUyLDEuMTc4ODksMS4xMzI1NCwxLjE2MzU5LC45MjA5OCwuODUyODQsLjY4Nzg3LC43MTM1MywuODQ3MzcsLjkwNzQ3LDEuMDA4OCwxLjAwNDQsLjg3NjgzLDEsMS4wOTA5MSwxLC45MjIyOSwuNzM5LDEuMTU2NDIsLjkyMDk4LC43NjI4OCwuODA1MDQsLjgwOTcyLC43NTg1OSwuODY3NSwuODY3NSwuODY3NSwuODY3NSwuODY3NSwuODY3NSwuNzYzMTgsLjcyMzQ2LC43MzIwNiwuNzMyMDYsLjczMjA2LC43MzIwNiwuOTA2ODUsLjkwNjg1LC45MDY4NSwuOTA2ODUsLjg2NDc3LC44OTI0OSwuODQxMTgsLjg0MTE4LC44NDExOCwuODQxMTgsLjg0MTE4LC44NTI4NCwuODQ1NTcsLjg4ODQ0LC44ODg0NCwuODg4NDQsLjg4ODQ0LC43MzA2LC43NzQ1MiwuODYzMzEsLjkyNDUsLjkyNDUsLjkyNDUsLjkyNDUsLjkyNDUsLjkyNDUsLjg0ODQzLC44MzIwMywuODU4NjUsLjg1ODY1LC44NTg2NSwuODU4NjUsLjgyNjAxLC44MjYwMSwuODI2MDEsLjgyNjAxLC45NDQ2OSwuOTI0NSwuOTIyNzQsLjkyMjc0LC45MjI3NCwuOTIyNzQsLjkyMjc0LC45MDc0NywuODY2NTEsLjkyNDUsLjkyNDUsLjkyNDUsLjkyNDUsLjg5NDUzLC45MjQ1LC44OTQ1MywuODY3NSwuOTI0NSwuODY3NSwuOTI0NSwuODY3NSwuOTI0NSwuNzIzNDYsLjgzMjAzLC43MjM0NiwuODMyMDMsLjcyMzQ2LC44MzIwMywuNzIzNDYsLjgzMjAzLC44NTE5MywuODg3NSwuODY0NzcsLjk5MDM0LC43MzIwNiwuODU4NjUsLjczMjA2LC44NTg2NSwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjczMjA2LC44NTg2NSwuODExMDUsLjkyNDUsLjgxMTA1LC45MjQ1LC44MTEwNSwuOTI0NSwxLDEsLjg2Mjc1LC45MjQ1LC45MDg3MiwuOTM1OTEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwuODI2MDEsLjkwNjg1LDEuMDMyOTcsLjkwNjg1LC44MjYwMSwuNzc4OTYsMS4wNTYxMSwuNjM3NywxLjA3NjkyLDEsMSwuOTA5MTgsLjc1NTkzLDEuMDMyOTcsMSwxLC43NjAzMiwuOTM3NSwuOTgxNTYsLjkzNDA3LC43NzI2MSwxLjExNDI5LC44OTI0OSwuOTI0NSwxLDEsLjg5MjQ5LC45MjQ1LC45MjUzNCwuODY2OTgsLjkyNDUsLjg0MTE4LC45MjI3NCwuODQxMTgsLjkyMjc0LC44NDExOCwuOTIyNzQsLjg2NjcsLjg2MjkxLC43NTE4NiwxLjAyOTMzLDEsMSwuNzUxODYsMS4wMjkzMywuNjc3ODksLjc3ODMyLC42Nzc4OSwuNzc4MzIsLjY3Nzg5LC43NzgzMiwuNjc3ODksLjc3ODMyLDEsMSwuNzk3NzYsLjk3NjU1LC43OTc3NiwxLjIzMDIzLC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC45NDMwOSwuOTg5ODYsLjczMDYsLjg5NDUzLC43MzA2LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwuNzY2NTksLjc5MDA0LDEuMDkyMzEsLjU0ODczLC44Njc1LC45MjQ1LC43NjMxOCwuODQ4NDMsLjg0NTU3LC44NjY1MSwxLDEsLjc5Nzc2LDEuMjA1NjIsMS4xODYyMiwxLjE4NjIyLDEsMS4xNDM3LC42NzAwOSwuOTYzMzQsLjkzNjk1LDEuMzUxOTEsMS40MDkwOSwuOTUxNjEsMS40ODM4NywuODY3NSwuOTA4NjEsLjYxOTIsLjczNjMsLjY0ODI0LC44MjQxMSwuNTYzMjEsLjg1Njk2LDEuMjM1MTYsLjg2NzUsLjgxNTUyLC43Mjg2LC44NDEzNCwuNzMyMDYsLjc2NjU5LC44NjI3NSwuODQzNjksLjkwNjg1LC43Nzg5MiwuODU4NzEsMS4wMjYzOCwuODkyNDksLjc1ODI4LC44NDExOCwuODU5ODQsLjc3NDUyLC43NjQ2NiwuNzk3NzYsLjczMDYsLjkwNzgyLC43NzgxOCwuOTAzLC44NzI5MSwuOTA2ODUsLjczMDYsLjk5MDU4LDEuMDM2NjcsLjk0NjM1LDEuMjM1MTYsLjk4NDksLjk5MDU4LC45MjM5MywuODkxNiwuOTQyLDEuMDM2NjcsLjc1MDI2LC45NDYzNSwxLjAyOTcsMS4yMzUxNiwuOTA5MTgsLjk0MDQ4LC45ODIxNywuODk3NDYsLjg0MTUzLC45MjI3NCwuODI1MDcsLjg4ODMyLC44NDQzOCwuODgxNzgsMS4wMzUyNSwuOTg0OSwxLjAwMjI1LC43ODA4NiwuOTcyNDgsLjg5NDA0LDEuMjM1MTYsLjk4NDksLjkyMjc0LC45ODQ5LC44OTQwNCwuNzMyMDYsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg5NjkzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NTg2NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA5MzMsMSwxLDEsMSwxLDEsLjk0MzA5LC45ODk4NiwuOTQzMDksLjk4OTg2LC45NDMwOSwuOTg5ODYsLjczMDYsLjg5NDUzLDEsMSwuODk1NTIsLjkwNTI3LDEsLjkwMTg2LDEuMTIzMDgsMS4xMjMwOCwxLjEyMzA4LDEuMTIzMDgsMS4yNTY2LDEuMjU2NiwxLjI1NjYsLjg5NTUyLC44OTU1MiwxLjQyMjU5LC42ODk5NCwxLjAzODA5LDEsMSwxLjAxNzYsMS4wMTc2LDEuMTE1MjMsMS40OTU2LDIuMDE0NjIsLjk3ODU4LC44MjYxNiwuOTExMzMsLjgzNDM3LC45MTEzMywxLDEsMSwuNzA1MDgsMSwxLjIzMTA4LC43OTgwMSwuODQ0MjYsLjg0NDI2LC43NzQsLjkwNTcyLDEuODEwNTUsLjkwNzQ5LDEuODEwNTUsMS4yODgwOSwxLjU1NDY5LC45NDQzNCwxLjA3ODA2LDEsLjk3MDk0LC43NTg5LC44NTI4NCwuOTA3NDcsMS4xOTY1OCwuNjk4MjUsLjk3NjIyLDEuMzM1MTIsLjkwNzQ3LC45MDc0NywuODUyODQsLjkwNzQ3LC45MDc0NywxLjQ0OTQ3LC44NTI4NCwuODk0MSwuODk0MSwuNzA1NzIsLjgsLjcwNTcyLC43MDU3MiwuNzA1NzIsLjcwNTcyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTk4NjIsLjk5ODYyLDEsMSwxLDEsMSwxLjAzMzYsLjkxMDI3LDEsMSwxLC45OTg2MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA1ODU5LDEuMDU4NTksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLEdhPXtsaW5lSGVpZ2h0OjEuMjIwNyxsaW5lR2FwOi4yMjA3fSx4YT1bMS4zODc3LDEsMSwxLDEuMTcyMjMsMS4xMjkzLC44OTU1MiwuOTExMzMsLjgwMzk1LDEuMDIyNjksMS4xNTYwMSwuOTEwNTYsLjkxMDU2LDEuMjc5OCwuODUyODQsLjg5ODA3LDEsLjkwODYxLDEuMzkwMTYsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45NjMwOSwuOTYzMDksLjg1Mjg0LC44NTI4NCwuODUyODQsLjgzMzE5LC44ODA3MSwuODY3NSwuODE1NTIsLjczODM0LC44NTE5MywuNzMyMDYsLjc1MjIsLjgxMTA1LC44NjI3NSwuOTA2ODUsLjYzNzcsLjc3ODkyLC43NTU5MywxLjAyNjM4LC44OTM4NSwuODUxMjIsLjc3NDUyLC44NjUwMywuNzUxODYsLjY4ODg3LC43OTc3NiwuODg4NDQsLjg1MDY2LC45NDI1OCwuNzc4MTgsLjczMDYsLjc2NjU5LDEuMTAzNjksMS4zOTAxNiwxLjEwMzY5LDEuMDYxMzksLjg5NTUyLC44NzM5LC44NjEyOCwuOTQ0NjksLjg0NTcsLjk0NDY5LC44OTQ2NCwxLjA5ODQyLC44NDYzNiwuOTQ0NjksMS4wMzI5NywxLjA3NjkyLC45MDkxOCwxLjAzMjk3LC45NTg5NywuOTQ0NjksLjk0ODIsLjk0NDY5LC45NDQ2OSwxLjA0NjkyLC43ODIyMywxLjIwNTYyLC45NDQ2OSwuOTAzMzIsLjk4OTg2LC44NjYyMSwuOTA1MjcsLjc5MDA0LC45NDE1MiwxLjc3MjU2LC45NDE1MiwuODUyODQsLjk3ODAxLC44OTU1MiwuOTExMzMsLjg5NTUyLC45MTEzMywxLjkxNzI5LC44OTU1MiwxLjE3ODg5LDEuMTMyNTQsMS4wODcwNywuOTIwOTgsLjg1Mjg0LC42ODc4NywuNzEzNTMsLjg0NzM3LC45MDc0NywxLjAwODgsMS4wMDQ0LC44NzY4MywxLDEuMDkwOTEsMSwuOTIyMjksLjczOSwxLjE1NjQyLC45MjA5OCwuNzYyODgsLjgwNTA0LC44MDk3MiwuNzU4NTksLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjc2MzE4LC43MzgzNCwuNzMyMDYsLjczMjA2LC43MzIwNiwuNzMyMDYsLjkwNjg1LC45MDY4NSwuOTA2ODUsLjkwNjg1LC44NjQ3NywuODkzODUsLjg1MTIyLC44NTEyMiwuODUxMjIsLjg1MTIyLC44NTEyMiwuODUyODQsLjg1MzExLC44ODg0NCwuODg4NDQsLjg4ODQ0LC44ODg0NCwuNzMwNiwuNzc0NTIsLjg2MzMxLC44NjEyOCwuODYxMjgsLjg2MTI4LC44NjEyOCwuODYxMjgsLjg2MTI4LC44NjkzLC44NDU3LC44OTQ2NCwuODk0NjQsLjg5NDY0LC44OTQ2NCwuODI2MDEsLjgyNjAxLC44MjYwMSwuODI2MDEsLjk0NDY5LC45NDQ2OSwuOTQ4MiwuOTQ4MiwuOTQ4MiwuOTQ4MiwuOTQ4MiwuOTA3NDcsLjg2NjUxLC45NDQ2OSwuOTQ0NjksLjk0NDY5LC45NDQ2OSwuOTA1MjcsLjk0NDY5LC45MDUyNywuODY3NSwuODYxMjgsLjg2NzUsLjg2MTI4LC44Njc1LC44NjEyOCwuNzM4MzQsLjg0NTcsLjczODM0LC44NDU3LC43MzgzNCwuODQ1NywuNzM4MzQsLjg0NTcsLjg1MTkzLC45MjQ1NCwuODY0NzcsLjk5MjEsLjczMjA2LC44OTQ2NCwuNzMyMDYsLjg5NDY0LC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuNzMyMDYsLjg5NDY0LC44MTEwNSwuODQ2MzYsLjgxMTA1LC44NDYzNiwuODExMDUsLjg0NjM2LDEsMSwuODYyNzUsLjk0NDY5LC45MDg3MiwuOTU3ODYsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwuODI2MDEsLjkwNjg1LDEuMDMyOTcsLjkwNjg1LC44MjYwMSwuNzc3NDEsMS4wNTYxMSwuNjM3NywxLjA3NjkyLDEsMSwuOTA5MTgsLjc1NTkzLDEuMDMyOTcsMSwxLC43NjAzMiwuOTA0NTIsLjk4MTU2LDEuMTE4NDIsLjc3MjYxLDEuMTE0MjksLjg5Mzg1LC45NDQ2OSwxLDEsLjg5Mzg1LC45NDQ2OSwuOTU4NzcsLjg2OTAxLC45NDQ2OSwuODUxMjIsLjk0ODIsLjg1MTIyLC45NDgyLC44NTEyMiwuOTQ4MiwuODY2NywuOTAwMTYsLjc1MTg2LDEuMDQ2OTIsMSwxLC43NTE4NiwxLjA0NjkyLC42ODg4NywuNzgyMjMsLjY4ODg3LC43ODIyMywuNjg4ODcsLjc4MjIzLC42ODg4NywuNzgyMjMsMSwxLC43OTc3NiwuOTIxODgsLjc5Nzc2LDEuMjMwMjMsLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjk0MjU4LC45ODk4NiwuNzMwNiwuOTA1MjcsLjczMDYsLjc2NjU5LC43OTAwNCwuNzY2NTksLjc5MDA0LC43NjY1OSwuNzkwMDQsMS4wOTIzMSwuNTQ4NzMsLjg2NzUsLjg2MTI4LC43NjMxOCwuODY5MywuODUzMTEsLjg2NjUxLDEsMSwuNzk3NzYsMS4yMDU2MiwxLjE4NjIyLDEuMTg2MjIsMSwxLjE0MzcsLjY3NzQyLC45NjMzNCwuOTM2OTUsMS4zNTE5MSwxLjQwOTA5LC45NTE2MSwxLjQ4Mzg3LC44NjY4NiwuOTA4NjEsLjYyMjY3LC43NDM1OSwuNjU2NDksLjg1NDk4LC41Njk2MywuODgyNTQsMS4yMzUxNiwuODY3NSwuODE1NTIsLjc1NDQzLC44NDUwMywuNzMyMDYsLjc2NjU5LC44NjI3NSwuODUxMjIsLjkwNjg1LC43Nzg5MiwuODU3NDYsMS4wMjYzOCwuODkzODUsLjc1NjU3LC44NTEyMiwuODYyNzUsLjc3NDUyLC43NDE3MSwuNzk3NzYsLjczMDYsLjk1MTY1LC43NzgxOCwuODk3NzIsLjg4ODMxLC45MDY4NSwuNzMwNiwuOTgxNDIsMS4wMjE5MSwuOTY1NzYsMS4yMzUxNiwuOTkwMTgsLjk4MTQyLC45MjM2LC44OTI1OCwuOTQwMzUsMS4wMjE5MSwuNzg4NDgsLjk2NTc2LC45NTYxLDEuMjM1MTYsLjkwOTE4LC45MjU3OCwuOTU0MjQsLjg5NzQ2LC44Mzk2OSwuOTQ4MiwuODAxMTMsLjg5NDQyLC44NTIwOCwuODYxNTUsLjk4MDIyLC45OTAxOCwxLjAwNDUyLC44MTIwOSwuOTkyNDcsLjg5MTgxLDEuMjM1MTYsLjk5MDE4LC45NDgyLC45OTAxOCwuODkxODEsLjczMjA2LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44ODg0NCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODk0NjQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk2NzY2LDEsMSwxLDEsMSwxLC45NDI1OCwuOTg5ODYsLjk0MjU4LC45ODk4NiwuOTQyNTgsLjk4OTg2LC43MzA2LC45MDUyNywxLDEsLjg5NTUyLC45MDUyNywxLC45MDE4NiwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjEyMzA4LDEuMjU2NiwxLjI1NjYsMS4yNTY2LC44OTU1MiwuODk1NTIsMS40MjI1OSwuNjkwNDMsMS4wMzgwOSwxLDEsMS4wMTc2LDEuMDE3NiwxLjExNTIzLDEuNDk1NiwyLjAxNDYyLC45OTMzMSwuODI2MTYsLjkxMTMzLC44NDI4NiwuOTExMzMsMSwxLDEsLjcwNTA4LDEsMS4yMzEwOCwuNzk4MDEsLjg0NDI2LC44NDQyNiwuNzc0LC45MDUyNywxLjgxMDU1LC45MDUyNywxLjgxMDU1LDEuMjg4MDksMS41NTQ2OSwuOTQ0MzQsMS4wNzgwNiwxLC45NzA5NCwuNzU4OSwuODUyODQsLjkwNzQ3LDEuMTk2NTgsLjY5ODI1LC45NzYyMiwxLjMzNTEyLC45MDc0NywuOTA3NDcsLjg1MzU2LC45MDc0NywuOTA3NDcsMS40NDk0NywuODUyODQsLjg5NDEsLjg5NDEsLjcwNTcyLC44LC43MDU3MiwuNzA1NzIsLjcwNTcyLC43MDU3MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk5ODYyLC45OTg2MiwxLDEsMSwxLDEsMS4wMzM2LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTg1OSwxLjA1ODU5LDEsMSwxLDEuMDcxODUsLjk5NDEzLC45NjMzNCwxLjA4MDY1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sVWE9e2xpbmVIZWlnaHQ6MS4yMjA3LGxpbmVHYXA6LjIyMDd9LE1hPVsuNzYxMTYsMSwxLDEuMDAwNiwuOTk5OTgsLjk5OTc0LC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3NywxLjAwMDg3LC45OTk5OCwuOTk5OTgsLjk5OTU5LDEuMDAwMDMsMS4wMDA2LC45OTk5OCwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5OTgsMSwxLjAwMDAzLDEuMDAwMDMsMS4wMDAwMywxLjAwMDI2LC45OTk5LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMjYsMS4wMDAyMiwuOTk5NzcsMS4wMDA2LC45OTk3MywuOTk5NzcsMS4wMDAyNiwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAwMSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMDEsMS4wMDAxNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5OTgsMS4wMDA2LC45OTk5OCwxLjAwMDAzLC45OTk3MywuOTk5OTgsLjk5OTczLDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk5OCwxLjAwMDI2LDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwuOTk5NzMsMS4wMDA2LC45OTk4MiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk1OSwuOTk5NzMsLjk5OTk4LDEuMDAwMjYsLjk5OTczLDEuMDAwMjIsLjk5OTczLC45OTk3MywxLC45OTk1OSwxLjAwMDc3LC45OTk1OSwxLjAwMDAzLC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA3NywuOTk5NzMsLjk5OTk4LDEuMDAwMjUsLjk5OTY4LC45OTk3MywxLjAwMDAzLDEuMDAwMjUsLjYwMjk5LDEuMDAwMjQsMS4wNjQwOSwxLDEsLjk5OTk4LDEsLjk5OTczLDEuMDAwNiwuOTk5OTgsMSwuOTk5MzYsLjk5OTczLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMjYsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMSwuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAwMywxLjAwMDIyLC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5ODIsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjA2NDA5LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsMS4wMzM3NCwuOTk5NzcsMS4wMDAyNiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNDIsLjk5OTczLC45OTk3MywxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzMsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwxLjAzODI4LDEuMDAwMjYsLjk5OTk5LDEuMDAwMjYsMS4wMDA2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTkzLC45OTk4LDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMSwxLjAwMDE2LC45OTk3NywuOTk5NTksLjk5OTc3LC45OTk1OSwuOTk5NzcsLjk5OTU5LDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsLjk5OTk4LDEuMDAwMjYsLjgxMjEsMS4wMDAyNiwuOTk5OTgsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDA2LC45OTk3MywuOTk5NzcsLjk5OTczLDEsLjk5OTgyLDEuMDAwMjIsMS4wMDAyNiwxLjAwMDAxLC45OTk3MywxLjAwMDI2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMS4wMDAzNCwuOTk5NzcsMSwuOTk5OTcsMS4wMDAyNiwxLjAwMDc4LDEuMDAwMzYsLjk5OTczLDEuMDAwMTMsMS4wMDA2LC45OTk3NywuOTk5NzcsLjk5OTg4LC44NTE0OCwxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjIsMS4wMDA2LC45OTk3NywxLjAwMDAxLC45OTk5OSwuOTk5NzcsMS4wMDA2OSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLC45OTk4NCwxLjAwMDI2LDEuMDAwMDEsMS4wMDAyNCwxLjAwMDAxLC45OTk5LDEsMS4wMDA2LDEuMDAwMDEsMS4wMDA0MSwuOTk5NjIsMS4wMDAyNiwxLjAwMDYsLjk5OTk1LDEuMDAwNDEsLjk5OTQyLC45OTk3MywuOTk5MjcsMS4wMDA4MiwuOTk5MDIsMS4wMDAyNiwxLjAwMDg3LDEuMDAwNiwxLjAwMDY5LC45OTk3MywuOTk4NjcsLjk5OTczLC45OTkzLDEuMDAwMjYsMS4wMDA0OSwxLjAwMDU2LDEsLjk5OTg4LC45OTkzNSwuOTk5OTUsLjk5OTU0LDEuMDAwNTUsLjk5OTQ1LDEuMDAwMzIsMS4wMDA2LC45OTk5NSwxLjAwMDI2LC45OTk5NSwxLjAwMDMyLDEuMDAwMDEsMS4wMDAwOCwuOTk5NzEsMS4wMDAxOSwuOTk5NCwxLjAwMDAxLDEuMDAwNiwxLjAwMDQ0LC45OTk3MywxLjAwMDIzLDEuMDAwNDcsMSwuOTk5NDIsLjk5NTYxLC45OTk4OSwxLjAwMDM1LC45OTk3NywxLjAwMDM1LC45OTk3NywxLjAwMDE5LC45OTk0NCwxLjAwMDAxLDEuMDAwMjEsLjk5OTI2LDEuMDAwMzUsMS4wMDAzNSwuOTk5NDIsMS4wMDA0OCwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAzNSwxLjAwMDAxLC45OTk3NywxLjAwMDI2LC45OTk4OSwxLjAwMDU3LDEuMDAwMDEsLjk5OTM2LDEuMDAwNTIsMS4wMDAxMiwuOTk5OTYsMS4wMDA0MywxLDEuMDAwMzUsLjk5OTQsLjk5OTc2LDEuMDAwMzUsLjk5OTczLDEuMDAwNTIsMS4wMDA0MSwxLjAwMTE5LDEuMDAwMzcsLjk5OTczLDEuMDAwMDIsLjk5OTg2LDEuMDAwNDEsMS4wMDA0MSwuOTk5MDIsLjk5OTYsMS4wMDAzNCwuOTk5OTksMS4wMDAyNiwuOTk5OTksMS4wMDAyNiwuOTk5NzMsMS4wMDA1MiwuOTk5NzMsMSwuOTk5NzMsMS4wMDA0MSwxLjAwMDc1LC45OTk0LDEuMDAwMywuOTk5OTksMSwxLjAwMDQxLC45OTk1NSwxLC45OTkxNSwuOTk5NzMsLjk5OTczLDEuMDAwMjYsMS4wMDExOSwuOTk5NTUsLjk5OTczLDEuMDAwNiwuOTk5MTEsMS4wMDA2LDEuMDAwMjYsLjk5OTcyLDEuMDAwMjYsLjk5OTAyLDEuMDAwNDEsLjk5OTczLC45OTk5OSwxLDEsMS4wMDAzOCwxLjAwMDUsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMTYsMS4wMDAyMiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAwMSwuOTk5NzMsMSwxLC45OTk3MywxLDEsLjk5OTU1LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLDEsMSwuOTk5NzMsLjk5OTczLC45OTk3MiwxLDEsMS4wMDEwNiwuOTk5OTksLjk5OTk4LC45OTk5OCwuOTk5OTksLjk5OTk4LDEuNjY0NzUsMSwuOTk5NzMsLjk5OTczLDEuMDAwMjMsLjk5OTczLC45OTk3MSwxLjAwMDQ3LDEuMDAwMjMsMSwuOTk5OTEsLjk5OTg0LDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMSwxLDEsMSwxLDEsMSwuOTk5NzIsMSwxLjIwOTg1LDEuMzk3MTMsMS4wMDAwMywxLjAwMDMxLDEuMDAwMTUsMSwuOTk1NjEsMS4wMDAyNywxLjAwMDMxLDEuMDAwMzEsLjk5OTE1LDEuMDAwMzEsMS4wMDAzMSwuOTk5OTksMS4wMDAwMywuOTk5OTksLjk5OTk5LDEuNDExNDQsMS42LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MDU3OSwxLjQwNTc5LDEuMzY2MjUsLjk5OTk5LDEsLjk5ODYxLC45OTg2MSwxLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTcyLC45OTk5OSwuOTk5OTksLjk5OTk5LC45OTk5OSwxLjQwNDgzLDEsLjk5OTc3LDEuMDAwNTQsMSwxLC45OTk1MywuOTk5NjIsMS4wMDA0MiwuOTk5NSwxLDEsMSwxLDEsMSwxLDEsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sTGE9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LEhhPVsuNzYxMTYsMSwxLDEuMDAwNiwuOTk5OTgsLjk5OTc0LC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3NywxLjAwMDg3LC45OTk5OCwuOTk5OTgsLjk5OTU5LDEuMDAwMDMsMS4wMDA2LC45OTk5OCwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5OTgsMSwxLjAwMDAzLDEuMDAwMDMsMS4wMDAwMywxLjAwMDI2LC45OTk5LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMjYsMS4wMDAyMiwuOTk5NzcsMS4wMDA2LC45OTk3MywuOTk5NzcsMS4wMDAyNiwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAwMSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMDEsMS4wMDAxNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5OTgsMS4wMDA2LC45OTk5OCwxLjAwMDAzLC45OTk3MywuOTk5OTgsLjk5OTczLDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk5OCwxLjAwMDI2LDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwuOTk5NzMsMS4wMDA2LC45OTk4MiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk1OSwuOTk5NzMsLjk5OTk4LDEuMDAwMjYsLjk5OTczLDEuMDAwMjIsLjk5OTczLC45OTk3MywxLC45OTk1OSwxLjAwMDc3LC45OTk1OSwxLjAwMDAzLC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA3NywuOTk5NzMsLjk5OTk4LDEuMDAwMjUsLjk5OTY4LC45OTk3MywxLjAwMDAzLDEuMDAwMjUsLjYwMjk5LDEuMDAwMjQsMS4wNjQwOSwxLDEsLjk5OTk4LDEsLjk5OTczLDEuMDAwNiwuOTk5OTgsMSwuOTk5MzYsLjk5OTczLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMjYsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMSwuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAwMywxLjAwMDIyLC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5ODIsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjA2NDA5LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzMsMS4wMDAyNiwuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsMS4wMDQ0LC45OTk3NywxLjAwMDI2LDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTcxLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3NywuOTk5NzMsLjk5OTczLDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMTAxMSwxLjAwMDI2LC45OTk5OSwxLjAwMDI2LDEuMDAwNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5MywuOTk5OCwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEsMS4wMDAxNiwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksLjk5OTc3LC45OTk1OSwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDI2LC45OTk5OCwxLjAwMDI2LC44MTIxLDEuMDAwMjYsLjk5OTk4LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwNiwuOTk5NzMsLjk5OTc3LC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5NzcsMSwxLDEuMDAwMjYsLjk5OTY5LC45OTk3MiwuOTk5ODEsLjk5OTgsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwuOTExNTUsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwuOTk5NzcsMS4wMDAwMSwuOTk5OTksLjk5OTc3LC45OTk2NiwxLjAwMDIyLDEuMDAwMzIsMS4wMDAwMSwuOTk5NDQsMS4wMDAyNiwxLjAwMDAxLC45OTk2OCwxLjAwMDAxLDEuMDAwNDcsMSwxLjAwMDYsMS4wMDAwMSwuOTk5ODEsMS4wMDEwMSwxLjAwMDI2LDEuMDAwNiwuOTk5NDgsLjk5OTgxLDEuMDAwNjQsLjk5OTczLC45OTk0MiwxLjAwMTAxLDEuMDAwNjEsMS4wMDAyNiwxLjAwMDY5LDEuMDAwNiwxLjAwMDE0LC45OTk3MywxLjAxMzIyLC45OTk3MywxLjAwMDY1LDEuMDAwMjYsMS4wMDAxMiwuOTk5MjMsMSwxLjAwMDY0LDEuMDAwNzYsLjk5OTQ4LDEuMDAwNTUsMS4wMDA2MywxLjAwMDA3LC45OTk0MywxLjAwMDYsLjk5OTQ4LDEuMDAwMjYsLjk5OTQ4LC45OTk0MywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyOSwxLjAwMDM4LDEuMDAwMzUsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzgsMS4wMDAwMSwxLjAwMDU3LC45OTk4OSwuOTk5NjcsLjk5OTY0LC45OTk2NywuOTk5NzcsLjk5OTk5LC45OTk3NywxLjAwMDM4LC45OTk3NywxLjAwMDAxLC45OTk3MywxLjAwMDY2LC45OTk2NywuOTk5NjcsMS4wMDA0MSwuOTk5OTgsLjk5OTk5LC45OTk3NywxLjAwMDIyLC45OTk2NywxLjAwMDAxLC45OTk3NywxLjAwMDI2LC45OTk2NCwxLjAwMDMxLDEuMDAwMDEsLjk5OTk5LC45OTk5OSwxLDEuMDAwMjMsMSwxLC45OTk5OSwxLjAwMDM1LDEuMDAwMDEsLjk5OTk5LC45OTk3MywuOTk5NzcsLjk5OTk5LDEuMDAwNTgsLjk5OTczLC45OTk3MywuOTk5NTUsLjk5OTUsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMzIsLjk5OTg5LDEuMDAwMzQsLjk5OTk5LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MywuNDU5OTgsLjk5OTczLDEuMDAwMjYsLjk5OTczLDEuMDAwMDEsLjk5OTk5LC45OTk4MiwuOTk5OTQsLjk5OTk2LDEsMS4wMDA0MiwxLjAwMDQ0LDEuMDAwMjksMS4wMDAyMywuOTk5NzMsLjk5OTczLDEuMDAwMjYsLjk5OTQ5LDEuMDAwMDIsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAzMiwuOTg2ODUsLjk5OTczLDEuMDAwMjYsMSwxLC45OTk2NiwxLjAwMDQ0LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMDEsLjk5OTczLDEsMSwuOTk5NzMsMSwxLC45OTk1NSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMSwxLDEsLjk5OTczLC45OTk3MywuOTk5NzIsMSwxLDEuMDAxMDYsLjk5OTk5LC45OTk5OCwuOTk5OTgsLjk5OTk5LC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLC45OTk3MywuOTk5NzEsLjk5OTc4LDEsMSwuOTk5OTEsLjk5OTg0LDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDA5OCwxLDEsMSwxLjAwMDQ5LDEsMSwuOTk5NzIsMSwxLjIwOTg1LDEuMzk3MTMsMS4wMDAwMywxLjAwMDMxLDEuMDAwMTUsMSwuOTk1NjEsMS4wMDAyNywxLjAwMDMxLDEuMDAwMzEsLjk5OTE1LDEuMDAwMzEsMS4wMDAzMSwuOTk5OTksMS4wMDAwMywuOTk5OTksLjk5OTk5LDEuNDExNDQsMS42LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MDU3OSwxLjQwNTc5LDEuMzY2MjUsLjk5OTk5LDEsLjk5ODYxLC45OTg2MSwxLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTcyLC45OTk5OSwuOTk5OTksLjk5OTk5LC45OTk5OSwxLjQwNDgzLDEsLjk5OTc3LDEuMDAwNTQsMSwxLC45OTk1MywuOTk5NjIsMS4wMDA0MiwuOTk5NSwxLDEsMSwxLDEsMSwxLDEsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sSmE9e2xpbmVIZWlnaHQ6MS4zNSxsaW5lR2FwOi4yfSxZYT1bLjc2MTE2LDEsMSwxLjAwMDYsMS4wMDA2LDEuMDAwMDYsLjk5OTczLC45OTk3MywuOTk5ODIsMS4wMDAwMSwxLjAwMDQzLC45OTk5OCwuOTk5OTgsLjk5OTU5LDEuMDAwMDMsMS4wMDA2LC45OTk5OCwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMSwxLjAwMDAzLDEuMDAwMDMsMS4wMDAwMywuOTk5NzMsLjk5OTg3LDEuMDAwMDEsMS4wMDAwMSwuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwxLjAwMDIyLC45OTk3NywxLjAwMDYsMSwxLjAwMDAxLC45OTk3MywuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAwMSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMDEsMS4wMDAxNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NDksLjk5OTczLC45OTk5OCwuOTk5NzMsLjk5OTczLDEsLjk5OTczLC45OTk3MywxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5MjQsLjk5OTI0LDEsLjk5OTI0LC45OTk5OSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDA2LC45OTk3MywxLC45OTk3NywxLDEsMSwxLjAwMDA1LDEuMDAwOSwxLjAwMDA1LDEuMDAwMDMsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDksLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk4LDEuMDAwNiwuOTk5OTgsMSwuOTk5MzYsLjk5OTczLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMSwuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAwMywxLjAwMDIyLC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5ODIsMSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjA2NDA5LDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEsLjk5OTczLDEsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEuMDI4OCwuOTk5NzcsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTI0LDEuMDAwNiwxLjAwMDYsLjk5OTQ2LDEuMDAwMzQsMSwuOTk5MjQsMS4wMDAwMSwxLDEsLjk5OTczLC45OTkyNCwuOTk5NzMsLjk5OTI0LC45OTk3MywxLjA2MzExLC45OTk3MywxLjAwMDI0LC45OTk3MywuOTk5MjQsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA0MSwuOTk5OCwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMSwxLjAwMDE2LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwuOTk5NzcsLjk5OTk4LDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LC44OTU0NywxLjAwMDI2LDEuMDAwNiwuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywxLjAwMDE2LC45OTk3NywxLjAwMDAxLDEsMS4wMDAwMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwuOTk5MjQsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEsLjk5OTgyLDEuMDAwMjIsMS4wMDAyNiwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLjAwMDAxLDEsMS4wMDA1NCwuOTk5NzcsMS4wMDA4NCwxLjAwMDA3LC45OTk3MywxLjAwMDEzLC45OTkyNCwxLjAwMDAxLDEuMDAwMDEsLjk5OTQ1LC45MTIyMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjIsMS4wMDA2LDEuMDAwMDEsMS4wMDAwMSwuOTk5OTksLjk5OTc3LC45OTkzMywxLjAwMDIyLDEuMDAwNTQsMS4wMDAwMSwxLjAwMDY1LDEuMDAwMjYsMS4wMDAwMSwxLjAwMDEsMS4wMDAwMSwxLjAwMDUyLDEsMS4wMDA2LDEuMDAwMDEsLjk5OTQ1LC45OTg5NywuOTk5NjgsLjk5OTI0LDEuMDAwMzYsLjk5OTQ1LC45OTk0OSwxLDEuMDAwNiwuOTk4OTcsLjk5OTE4LC45OTk2OCwuOTk5MTEsLjk5OTI0LDEsLjk5OTYyLDEuMDE0ODcsMSwxLjAwMDUsLjk5OTczLDEuMDAwMTIsMS4wMDA0MywxLC45OTk5NSwuOTk5OTQsMS4wMDAzNiwuOTk5NDcsMS4wMDAxOSwxLjAwMDYzLDEuMDAwMjUsLjk5OTI0LDEuMDAwMzYsLjk5OTczLDEuMDAwMzYsMS4wMDAyNSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNywxLjAwMDEsMS4wMDA2OCwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsMSwxLjAwMDA4LC45OTk1NywuOTk5NzIsLjk5OTQsLjk5OTU0LC45OTk3NSwxLjAwMDUxLDEuMDAwMDEsMS4wMDAxOSwxLjAwMDAxLDEuMDAwMSwuOTk5ODYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMzgsLjk5OTU0LC45OTk1NCwuOTk5NCwxLjAwMDY2LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDU0LDEuMDAwMDEsLjk5OTc3LDEuMDAwMjYsLjk5OTc1LDEuMDAwMSwxLjAwMDAxLC45OTk5MywuOTk5NSwuOTk5NTUsMS4wMDAxNiwuOTk5NzgsLjk5OTc0LDEuMDAwMTksMS4wMDAyMiwuOTk5NTUsMS4wMDA1MywuOTk5NzMsMS4wMDA4OSwxLjAwMDA1LC45OTk2NywxLjAwMDQ4LC45OTk3MywxLjAwMDAyLDEuMDAwMzQsLjk5OTczLC45OTk3MywuOTk5NjQsMS4wMDAwNiwxLjAwMDY2LC45OTk0NywuOTk5NzMsLjk4ODk0LC45OTk3MywxLC40NDg5OCwxLC45OTk0NiwxLDEuMDAwMzksMS4wMDA4MiwuOTk5OTEsLjk5OTkxLC45OTk4NSwxLjAwMDIyLDEuMDAwMjMsMS4wMDA2MSwxLjAwMDA2LC45OTk2NiwuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDE5LDEuMDAwOCwxLC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTk4MywxLjAwMDQ0LC45OTk3MywuOTk5NjQsLjk4MzMyLDEsLjk5OTczLDEsMSwuOTk5NjIsLjk5ODk1LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMDEsMSwxLDEsLjk5OTczLDEsMSwuOTk5NTUsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMjY3LC45OTk5OSwuOTk5OTgsLjk5OTk4LDEsLjk5OTk4LDEuNjY0NzUsMSwuOTk5NzMsLjk5OTczLDEuMDAwMjMsLjk5OTczLDEuMDA0MjMsLjk5OTI1LC45OTk5OSwxLC45OTk5MSwuOTk5ODQsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDQ5LDEsMS4wMDI0NSwxLDEsMSwxLC45NjMyOSwxLDEuMjA5ODUsMS4zOTcxMywxLjAwMDAzLC44MjU0LDEuMDAwMTUsMSwxLjAwMDM1LDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDMxLC45OTk5OSwxLjAwMDAzLC45OTk5OSwuOTk5OTksMS40MTE0NCwxLjYsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQwNTc5LDEuNDA1NzksMS4zNjYyNSwuOTk5OTksMSwuOTk4NjEsLjk5ODYxLDEsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTUzMTcsLjk5OTk5LC45OTk5OSwuOTk5OTksLjk5OTk5LDEuNDA0ODMsMSwuOTk5NzcsMS4wMDA1NCwxLDEsLjk5OTUzLC45OTk2MiwxLjAwMDQyLC45OTk1LDEsMSwxLDEsMSwxLDEsMSwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSx2YT17bGluZUhlaWdodDoxLjM1LGxpbmVHYXA6LjJ9LEthPVsuNzYxMTYsMSwxLDEuMDAwNiwxLjAwMDYsMS4wMDAwNiwuOTk5NzMsLjk5OTczLC45OTk4MiwxLjAwMDAxLDEuMDAwNDMsLjk5OTk4LC45OTk5OCwuOTk5NTksMS4wMDAwMywxLjAwMDYsLjk5OTk4LDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLDEuMDAwMDMsMS4wMDAwMywxLjAwMDAzLC45OTk3MywuOTk5ODcsMS4wMDAwMSwxLjAwMDAxLC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwxLDEuMDAwMDEsLjk5OTczLC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDAxLDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAwMSwxLjAwMDE2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk0OSwuOTk5NzMsLjk5OTk4LC45OTk3MywuOTk5NzMsMSwuOTk5NzMsLjk5OTczLDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTkyNCwuOTk5MjQsMSwuOTk5MjQsLjk5OTk5LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5OTgsMSwxLjAwMDYsLjk5OTczLDEsLjk5OTc3LDEsMSwxLDEuMDAwMDUsMS4wMDA5LDEuMDAwMDUsMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwOSwuOTk5NzMsLjk5OTk4LDEuMDAwMjUsLjk5OTY4LC45OTk3MywxLjAwMDAzLDEuMDAwMjUsLjYwMjk5LDEuMDAwMjQsMS4wNjQwOSwxLDEsLjk5OTk4LDEsLjk5OTgsMS4wMDA2LC45OTk5OCwxLC45OTkzNiwuOTk5NzMsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDAzLDEuMDAwMjIsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk4MiwxLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDY0MDksMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMSwuOTk5NzMsMSwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywuOTk5NzcsMSwuOTk5NzcsMSwuOTk5NzcsMSwuOTk5NzcsMSwuOTk5NzcsMS4wNDU5NiwuOTk5NzcsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTI0LDEuMDAwNiwxLjAwMDYsMS4wMDAxOSwxLjAwMDM0LDEsLjk5OTI0LDEuMDAwMDEsMSwxLC45OTk3MywuOTk5MjQsLjk5OTczLC45OTkyNCwuOTk5NzMsMS4wMjU3MiwuOTk5NzMsMS4wMDAwNSwuOTk5NzMsLjk5OTI0LC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk5OSwuOTk5OCwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMS4wMDAyMiwuOTk5NzMsMSwxLjAwMDE2LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwuOTk5NzcsLjk5OTk4LDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LC44NDUzMywxLjAwMDI2LDEuMDAwNiwuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywxLjAwMDE2LC45OTk3NywxLjAwMDAxLDEsMS4wMDAwMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwuOTk5MjQsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEsLjk5OTgyLDEuMDAwMjIsMS4wMDAyNiwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5MjgsMSwuOTk5NzcsMS4wMDAxMywxLjAwMDU1LC45OTk0NywuOTk5NDUsLjk5OTQxLC45OTkyNCwxLjAwMDAxLDEuMDAwMDEsMS4wMDA0LC45MTYyMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjIsMS4wMDA2LDEuMDAwMDEsMS4wMDAwNSwuOTk5OTksLjk5OTc3LDEuMDAwMTUsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMTksMS4wMDAwMSwuOTk5NDYsMSwxLjAwMDYsMS4wMDAwMSwuOTk5NzgsMS4wMDA0NSwuOTk5NzMsLjk5OTI0LDEuMDAwMjMsLjk5OTc4LC45OTk2NiwxLDEuMDAwNjUsMS4wMDA0NSwxLjAwMDE5LC45OTk3MywuOTk5NzMsLjk5OTI0LDEsMSwuOTY0OTksMSwxLjAwMDU1LC45OTk3MywxLjAwMDA4LDEuMDAwMjcsMSwuOTk5NywuOTk5OTUsMS4wMDAyMywuOTk5MzMsMS4wMDAxOSwxLjAwMDE1LDEuMDAwMzEsLjk5OTI0LDEuMDAwMjMsLjk5OTczLDEuMDAwMjMsMS4wMDAzMSwxLjAwMDAxLC45OTkyOCwxLjAwMDI5LDEuMDAwOTIsMS4wMDAzNSwxLjAwMDAxLDEuMDAwNiwxLjAwMDYsMSwuOTk5ODgsLjk5OTc1LDEsMS4wMDA4MiwuOTk1NjEsLjk5OTYsMS4wMDAzNSwxLjAwMDAxLC45OTk2MiwxLjAwMDAxLDEuMDAwOTIsLjk5OTY0LDEuMDAwMDEsLjk5OTYzLC45OTk5OSwxLjAwMDM1LDEuMDAwMzUsMS4wMDA4MiwuOTk5NjIsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMzUsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5NiwuOTk5NjcsMS4wMDAwMSwxLjAwMDM0LDEuMDAwNzQsMS4wMDA1NCwxLjAwMDUzLDEuMDAwNjMsLjk5OTcxLC45OTk2MiwxLjAwMDM1LC45OTk3NSwuOTk5NzcsLjk5OTczLDEuMDAwNDMsLjk5OTUzLDEuMDAwNywuOTk5MTUsLjk5OTczLDEuMDAwMDgsLjk5ODkyLDEuMDAwNzMsMS4wMDA3MywxLjAwMTE0LC45OTkxNSwxLjAwMDczLC45OTk1NSwuOTk5NzMsMS4wMDA5MiwuOTk5NzMsMSwuOTk5OTgsMSwxLjAwMDMsMSwxLjAwMDQzLDEuMDAwMDEsLjk5OTY5LDEuMDAwMywxLDEuMDAwMzUsMS4wMDAwMSwuOTk5NSwxLDEuMDAwOTIsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA3LC45OTk1LDEsLjk5OTI0LDEuMDAwNiwuOTk5MjQsLjk5OTcyLDEuMDAwNjIsLjk5OTczLDEuMDAxMTQsMS4wMDA3MywxLC45OTk1NSwxLDEsMS4wMDA0NywuOTk5NjgsMS4wMDAxNiwuOTk5NzcsMS4wMDAxNiwuOTk5NzcsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEsMSwuOTk5NzMsMSwxLC45OTk1NSwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzIsMSwxLDEuMDAyNjcsLjk5OTk5LC45OTk5OCwuOTk5OTgsMSwuOTk5OTgsMS42NjQ3NSwxLC45OTk3MywuOTk5NzMsMS4wMDAyMywuOTk5NzMsLjk5OTcxLC45OTkyNSwxLjAwMDIzLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEsMSwxLDEsMSwxLDEsLjk2MzI5LDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsLjgyNTQsMS4wMDAxNSwxLDEuMDAwMzUsMS4wMDAyNywxLjAwMDMxLDEuMDAwMzEsLjk5OTE1LDEuMDAwMzEsMS4wMDAzMSwuOTk5OTksMS4wMDAwMywuOTk5OTksLjk5OTk5LDEuNDExNDQsMS42LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MDU3OSwxLjQwNTc5LDEuMzY2MjUsLjk5OTk5LDEsLjk5ODYxLC45OTg2MSwxLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk1MzE3LC45OTk5OSwuOTk5OTksLjk5OTk5LC45OTk5OSwxLjQwNDgzLDEsLjk5OTc3LDEuMDAwNTQsMSwxLC45OTk1MywuOTk5NjIsMS4wMDA0MiwuOTk5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFRhPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxxYT1bMzY1LDAsMzMzLDI3OCwzMzMsNDc0LDU1Niw1NTYsODg5LDcyMiwyMzgsMzMzLDMzMywzODksNTg0LDI3OCwzMzMsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsMzMzLDMzMyw1ODQsNTg0LDU4NCw2MTEsOTc1LDcyMiw3MjIsNzIyLDcyMiw2NjcsNjExLDc3OCw3MjIsMjc4LDU1Niw3MjIsNjExLDgzMyw3MjIsNzc4LDY2Nyw3NzgsNzIyLDY2Nyw2MTEsNzIyLDY2Nyw5NDQsNjY3LDY2Nyw2MTEsMzMzLDI3OCwzMzMsNTg0LDU1NiwzMzMsNTU2LDYxMSw1NTYsNjExLDU1NiwzMzMsNjExLDYxMSwyNzgsMjc4LDU1NiwyNzgsODg5LDYxMSw2MTEsNjExLDYxMSwzODksNTU2LDMzMyw2MTEsNTU2LDc3OCw1NTYsNTU2LDUwMCwzODksMjgwLDM4OSw1ODQsMzMzLDU1Niw1NTYsNTU2LDU1NiwyODAsNTU2LDMzMyw3MzcsMzcwLDU1Niw1ODQsNzM3LDU1Miw0MDAsNTQ5LDMzMywzMzMsMzMzLDU3Niw1NTYsMjc4LDMzMywzMzMsMzY1LDU1Niw4MzQsODM0LDgzNCw2MTEsNzIyLDcyMiw3MjIsNzIyLDcyMiw3MjIsMWUzLDcyMiw2NjcsNjY3LDY2Nyw2NjcsMjc4LDI3OCwyNzgsMjc4LDcyMiw3MjIsNzc4LDc3OCw3NzgsNzc4LDc3OCw1ODQsNzc4LDcyMiw3MjIsNzIyLDcyMiw2NjcsNjY3LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw4ODksNTU2LDU1Niw1NTYsNTU2LDU1NiwyNzgsMjc4LDI3OCwyNzgsNjExLDYxMSw2MTEsNjExLDYxMSw2MTEsNjExLDU0OSw2MTEsNjExLDYxMSw2MTEsNjExLDU1Niw2MTEsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDcxOSw3MjIsNjExLDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDcyMiw2MTEsNzIyLDYxMSwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsNzg1LDU1Niw1NTYsMjc4LDcyMiw1NTYsNTU2LDYxMSwyNzgsNjExLDI3OCw2MTEsMzg1LDYxMSw0NzksNjExLDI3OCw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MDgsNzIzLDYxMSw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSwxZTMsOTQ0LDcyMiwzODksNzIyLDM4OSw3MjIsMzg5LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjExLDMzMyw2MTEsNDc5LDYxMSwzMzMsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsOTQ0LDc3OCw2NjcsNTU2LDY2Nyw2MTEsNTAwLDYxMSw1MDAsNjExLDUwMCwyNzgsNTU2LDcyMiw1NTYsMWUzLDg4OSw3NzgsNjExLDY2Nyw1NTYsNjExLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNDY1LDcyMiwzMzMsODUzLDkwNiw0NzQsODI1LDkyNyw4MzgsMjc4LDcyMiw3MjIsNjAxLDcxOSw2NjcsNjExLDcyMiw3NzgsMjc4LDcyMiw2NjcsODMzLDcyMiw2NDQsNzc4LDcyMiw2NjcsNjAwLDYxMSw2NjcsODIxLDY2Nyw4MDksODAyLDI3OCw2NjcsNjE1LDQ1MSw2MTEsMjc4LDU4Miw2MTUsNjEwLDU1Niw2MDYsNDc1LDQ2MCw2MTEsNTQxLDI3OCw1NTgsNTU2LDYxMiw1NTYsNDQ1LDYxMSw3NjYsNjE5LDUyMCw2ODQsNDQ2LDU4Miw3MTUsNTc2LDc1Myw4NDUsMjc4LDU4Miw2MTEsNTgyLDg0NSw2NjcsNjY5LDg4NSw1NjcsNzExLDY2NywyNzgsMjc2LDU1NiwxMDk0LDEwNjIsODc1LDYxMCw3MjIsNjIyLDcxOSw3MjIsNzE5LDcyMiw1NjcsNzEyLDY2Nyw5MDQsNjI2LDcxOSw3MTksNjEwLDcwMiw4MzMsNzIyLDc3OCw3MTksNjY3LDcyMiw2MTEsNjIyLDg1NCw2NjcsNzMwLDcwMywxMDA1LDEwMTksODcwLDk3OSw3MTksNzExLDEwMzEsNzE5LDU1Niw2MTgsNjE1LDQxNyw2MzUsNTU2LDcwOSw0OTcsNjE1LDYxNSw1MDAsNjM1LDc0MCw2MDQsNjExLDYwNCw2MTEsNTU2LDQ5MCw1NTYsODc1LDU1Niw2MTUsNTgxLDgzMyw4NDQsNzI5LDg1NCw2MTUsNTUyLDg1NCw1ODMsNTU2LDU1Niw2MTEsNDE3LDU1Miw1NTYsMjc4LDI4MSwyNzgsOTY5LDkwNiw2MTEsNTAwLDYxNSw1NTYsNjA0LDc3OCw2MTEsNDg3LDQ0Nyw5NDQsNzc4LDk0NCw3NzgsOTQ0LDc3OCw2NjcsNTU2LDMzMywzMzMsNTU2LDFlMywxZTMsNTUyLDI3OCwyNzgsMjc4LDI3OCw1MDAsNTAwLDUwMCw1NTYsNTU2LDM1MCwxZTMsMWUzLDI0MCw0NzksMzMzLDMzMyw2MDQsMzMzLDE2NywzOTYsNTU2LDU1NiwxMDk0LDU1Niw4ODUsNDg5LDExMTUsMWUzLDc2OCw2MDAsODM0LDgzNCw4MzQsODM0LDFlMyw1MDAsMWUzLDUwMCwxZTMsNTAwLDUwMCw0OTQsNjEyLDgyMyw3MTMsNTg0LDU0OSw3MTMsOTc5LDcyMiwyNzQsNTQ5LDU0OSw1ODMsNTQ5LDU0OSw2MDQsNTg0LDYwNCw2MDQsNzA4LDYyNSw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MjksNjA0LDYwNCwzNTQsMzU0LDFlMyw5OTAsOTkwLDk5MCw5OTAsNDk0LDYwNCw2MDQsNjA0LDYwNCwzNTQsMTAyMSwxMDUyLDkxNyw3NTAsNzUwLDUzMSw2NTYsNTk0LDUxMCw1MDAsNzUwLDc1MCw2MTEsNjExLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMjIyLDIyMiwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzXSxPYT1bLTEsLTEsLTEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIzOCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsMjU1LDI1NiwyNTcsMjU4LDI1OSwyNjAsMjYxLDI2MiwyNjMsMjY0LDI2NSwyNjYsMjY3LDI2OCwyNjksMjcwLDI3MSwyNzIsMjczLDI3NCwyNzUsMjc2LDI3NywyNzgsMjc5LDI4MCwyODEsMjgyLDI4MywyODQsMjg1LDI4NiwyODcsMjg4LDI4OSwyOTAsMjkxLDI5MiwyOTMsMjk0LDI5NSwyOTYsMjk3LDI5OCwyOTksMzAwLDMwMSwzMDIsMzAzLDMwNCwzMDUsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzMTQsMzE1LDMxNiwzMTcsMzE4LDMxOSwzMjAsMzIxLDMyMiwzMjMsMzI0LDMyNSwzMjYsMzI3LDMyOCwzMjksMzMwLDMzMSwzMzIsMzMzLDMzNCwzMzUsMzM2LDMzNywzMzgsMzM5LDM0MCwzNDEsMzQyLDM0MywzNDQsMzQ1LDM0NiwzNDcsMzQ4LDM0OSwzNTAsMzUxLDM1MiwzNTMsMzU0LDM1NSwzNTYsMzU3LDM1OCwzNTksMzYwLDM2MSwzNjIsMzYzLDM2NCwzNjUsMzY2LDM2NywzNjgsMzY5LDM3MCwzNzEsMzcyLDM3MywzNzQsMzc1LDM3NiwzNzcsMzc4LDM3OSwzODAsMzgxLDM4MiwzODMsNDAyLDUwNiw1MDcsNTA4LDUwOSw1MTAsNTExLDUzNiw1MzcsNTM4LDUzOSw3MTAsNzExLDcxMyw3MjgsNzI5LDczMCw3MzEsNzMyLDczMyw5MDAsOTAxLDkwMiw5MDMsOTA0LDkwNSw5MDYsOTA4LDkxMCw5MTEsOTEyLDkxMyw5MTQsOTE1LDkxNiw5MTcsOTE4LDkxOSw5MjAsOTIxLDkyMiw5MjMsOTI0LDkyNSw5MjYsOTI3LDkyOCw5MjksOTMxLDkzMiw5MzMsOTM0LDkzNSw5MzYsOTM3LDkzOCw5MzksOTQwLDk0MSw5NDIsOTQzLDk0NCw5NDUsOTQ2LDk0Nyw5NDgsOTQ5LDk1MCw5NTEsOTUyLDk1Myw5NTQsOTU1LDk1Niw5NTcsOTU4LDk1OSw5NjAsOTYxLDk2Miw5NjMsOTY0LDk2NSw5NjYsOTY3LDk2OCw5NjksOTcwLDk3MSw5NzIsOTczLDk3NCwxMDI0LDEwMjUsMTAyNiwxMDI3LDEwMjgsMTAyOSwxMDMwLDEwMzEsMTAzMiwxMDMzLDEwMzQsMTAzNSwxMDM2LDEwMzcsMTAzOCwxMDM5LDEwNDAsMTA0MSwxMDQyLDEwNDMsMTA0NCwxMDQ1LDEwNDYsMTA0NywxMDQ4LDEwNDksMTA1MCwxMDUxLDEwNTIsMTA1MywxMDU0LDEwNTUsMTA1NiwxMDU3LDEwNTgsMTA1OSwxMDYwLDEwNjEsMTA2MiwxMDYzLDEwNjQsMTA2NSwxMDY2LDEwNjcsMTA2OCwxMDY5LDEwNzAsMTA3MSwxMDcyLDEwNzMsMTA3NCwxMDc1LDEwNzYsMTA3NywxMDc4LDEwNzksMTA4MCwxMDgxLDEwODIsMTA4MywxMDg0LDEwODUsMTA4NiwxMDg3LDEwODgsMTA4OSwxMDkwLDEwOTEsMTA5MiwxMDkzLDEwOTQsMTA5NSwxMDk2LDEwOTcsMTA5OCwxMDk5LDExMDAsMTEwMSwxMTAyLDExMDMsMTEwNCwxMTA1LDExMDYsMTEwNywxMTA4LDExMDksMTExMCwxMTExLDExMTIsMTExMywxMTE0LDExMTUsMTExNiwxMTE3LDExMTgsMTExOSwxMTM4LDExMzksMTE2OCwxMTY5LDc4MDgsNzgwOSw3ODEwLDc4MTEsNzgxMiw3ODEzLDc5MjIsNzkyMyw4MjA4LDgyMDksODIxMSw4MjEyLDgyMTMsODIxNSw4MjE2LDgyMTcsODIxOCw4MjE5LDgyMjAsODIyMSw4MjIyLDgyMjQsODIyNSw4MjI2LDgyMzAsODI0MCw4MjQyLDgyNDMsODI0OSw4MjUwLDgyNTIsODI1NCw4MjYwLDgzMTksODM1NSw4MzU2LDgzNTksODM2NCw4NDUzLDg0NjcsODQ3MCw4NDgyLDg0ODYsODQ5NCw4NTM5LDg1NDAsODU0MSw4NTQyLDg1OTIsODU5Myw4NTk0LDg1OTUsODU5Niw4NTk3LDg2MTYsODcwNiw4NzEwLDg3MTksODcyMSw4NzIyLDg3MzAsODczNCw4NzM1LDg3NDUsODc0Nyw4Nzc2LDg4MDAsODgwMSw4ODA0LDg4MDUsODk2Miw4OTc2LDg5OTIsODk5Myw5NDcyLDk0NzQsOTQ4NCw5NDg4LDk0OTIsOTQ5Niw5NTAwLDk1MDgsOTUxNiw5NTI0LDk1MzIsOTU1Miw5NTUzLDk1NTQsOTU1NSw5NTU2LDk1NTcsOTU1OCw5NTU5LDk1NjAsOTU2MSw5NTYyLDk1NjMsOTU2NCw5NTY1LDk1NjYsOTU2Nyw5NTY4LDk1NjksOTU3MCw5NTcxLDk1NzIsOTU3Myw5NTc0LDk1NzUsOTU3Niw5NTc3LDk1NzgsOTU3OSw5NTgwLDk2MDAsOTYwNCw5NjA4LDk2MTIsOTYxNiw5NjE3LDk2MTgsOTYxOSw5NjMyLDk2MzMsOTY0Miw5NjQzLDk2NDQsOTY1MCw5NjU4LDk2NjAsOTY2OCw5Njc0LDk2NzUsOTY3OSw5Njg4LDk2ODksOTcwMiw5Nzg2LDk3ODcsOTc4OCw5NzkyLDk3OTQsOTgyNCw5ODI3LDk4MjksOTgzMCw5ODM0LDk4MzUsOTgzNiw2MTQ0MSw2MTQ0Miw2MTQ0NSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMV0sUGE9WzM2NSwwLDMzMywyNzgsMzMzLDQ3NCw1NTYsNTU2LDg4OSw3MjIsMjM4LDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDMzMywzMzMsNTg0LDU4NCw1ODQsNjExLDk3NSw3MjIsNzIyLDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1NTYsNzIyLDYxMSw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDMzMywyNzgsMzMzLDU4NCw1NTYsMzMzLDU1Niw2MTEsNTU2LDYxMSw1NTYsMzMzLDYxMSw2MTEsMjc4LDI3OCw1NTYsMjc4LDg4OSw2MTEsNjExLDYxMSw2MTEsMzg5LDU1NiwzMzMsNjExLDU1Niw3NzgsNTU2LDU1Niw1MDAsMzg5LDI4MCwzODksNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjgwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTU2LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDcyMiw3MjIsNzIyLDcyMiw3MjIsNzIyLDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDYxMSw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw1NDksNjExLDYxMSw2MTEsNjExLDYxMSw1NTYsNjExLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw3NDAsNzIyLDYxMSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSw3MjIsNjExLDcyMiw2MTEsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDc4Miw1NTYsNTU2LDI3OCw3MjIsNTU2LDU1Niw2MTEsMjc4LDYxMSwyNzgsNjExLDM5Niw2MTEsNDc5LDYxMSwyNzgsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzA4LDcyMyw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsMWUzLDk0NCw3MjIsMzg5LDcyMiwzODksNzIyLDM4OSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDYxMSwzMzMsNjExLDQ3OSw2MTEsMzMzLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDk0NCw3NzgsNjY3LDU1Niw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjc4LDU1Niw3MjIsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTU2LDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMyw3MjIsMzMzLDg1NCw5MDYsNDczLDg0NCw5MzAsODQ3LDI3OCw3MjIsNzIyLDYxMCw2NzEsNjY3LDYxMSw3MjIsNzc4LDI3OCw3MjIsNjY3LDgzMyw3MjIsNjU3LDc3OCw3MTgsNjY3LDU5MCw2MTEsNjY3LDgyMiw2NjcsODI5LDc4MSwyNzgsNjY3LDYyMCw0NzksNjExLDI3OCw1OTEsNjIwLDYyMSw1NTYsNjEwLDQ3OSw0OTIsNjExLDU1OCwyNzgsNTY2LDU1Niw2MDMsNTU2LDQ1MCw2MTEsNzEyLDYwNSw1MzIsNjY0LDQwOSw1OTEsNzA0LDU3OCw3NzMsODM0LDI3OCw1OTEsNjExLDU5MSw4MzQsNjY3LDY2Nyw4ODYsNjE0LDcxOSw2NjcsMjc4LDI3OCw1NTYsMTA5NCwxMDQyLDg1NCw2MjIsNzE5LDY3Nyw3MTksNzIyLDcwOCw3MjIsNjE0LDcyMiw2NjcsOTI3LDY0Myw3MTksNzE5LDYxNSw2ODcsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDY3Nyw3ODEsNjY3LDcyOSw3MDgsOTc5LDk4OSw4NTQsMWUzLDcwOCw3MTksMTA0Miw3MjksNTU2LDYxOSw2MDQsNTM0LDYxOCw1NTYsNzM2LDUxMCw2MTEsNjExLDUwNyw2MjIsNzQwLDYwNCw2MTEsNjExLDYxMSw1NTYsODg5LDU1Niw4ODUsNTU2LDY0Niw1ODMsODg5LDkzNSw3MDcsODU0LDU5NCw1NTIsODY1LDU4OSw1NTYsNTU2LDYxMSw0NjksNTYzLDU1NiwyNzgsMjc4LDI3OCw5NjksOTA2LDYxMSw1MDcsNjE5LDU1Niw2MTEsNzc4LDYxMSw1NzUsNDY3LDk0NCw3NzgsOTQ0LDc3OCw5NDQsNzc4LDY2Nyw1NTYsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjc4LDI3OCwyNzgsMjc4LDUwMCw1MDAsNTAwLDU1Niw1NTYsMzUwLDFlMywxZTMsMjQwLDQ3OSwzMzMsMzMzLDYwNCwzMzMsMTY3LDM5Niw1NTYsNTU2LDExMDQsNTU2LDg4NSw1MTYsMTE0NiwxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsOTk5LDUwMCwxZTMsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzIyLDI3NCw1NDksNTQ5LDU4Myw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDYxMSw2MTEsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzNdLFdhPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxqYT1bMzY1LDAsMzMzLDI3OCwyNzgsMzU1LDU1Niw1NTYsODg5LDY2NywxOTEsMzMzLDMzMywzODksNTg0LDI3OCwzMzMsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCw1ODQsNTg0LDU4NCw1NTYsMTAxNSw2NjcsNjY3LDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1MDAsNjY3LDU1Niw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDI3OCwyNzgsMjc4LDQ2OSw1NTYsMzMzLDU1Niw1NTYsNTAwLDU1Niw1NTYsMjc4LDU1Niw1NTYsMjIyLDIyMiw1MDAsMjIyLDgzMyw1NTYsNTU2LDU1Niw1NTYsMzMzLDUwMCwyNzgsNTU2LDUwMCw3MjIsNTAwLDUwMCw1MDAsMzM0LDI2MCwzMzQsNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjYwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTM3LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDY2Nyw2NjcsNjY3LDY2Nyw2NjcsNjY3LDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDUwMCw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NDksNjExLDU1Niw1NTYsNTU2LDU1Niw1MDAsNTU2LDUwMCw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNTAwLDcyMiw2MjUsNzIyLDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1Niw3MjIsNTU2LDcyMiw1NTYsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDIyMiwyNzgsMjc4LDczMyw0NDQsNTAwLDIyMiw2NjcsNTAwLDUwMCw1NTYsMjIyLDU1NiwyMjIsNTU2LDI4MSw1NTYsNDAwLDU1NiwyMjIsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNjE1LDcyMyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsMWUzLDk0NCw3MjIsMzMzLDcyMiwzMzMsNzIyLDMzMyw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2NjcsNTAwLDYxMSwyNzgsNjExLDM1NCw2MTEsMjc4LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDk0NCw3MjIsNjY3LDUwMCw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjIyLDU1Niw2NjcsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTAwLDYxMSwyNzgsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMyw2NjcsMjc4LDc4OSw4NDYsMzg5LDc5NCw4NjUsNzc1LDIyMiw2NjcsNjY3LDU3MCw2NzEsNjY3LDYxMSw3MjIsNzc4LDI3OCw2NjcsNjY3LDgzMyw3MjIsNjQ4LDc3OCw3MjUsNjY3LDYwMCw2MTEsNjY3LDgzNyw2NjcsODMxLDc2MSwyNzgsNjY3LDU3MCw0MzksNTU1LDIyMiw1NTAsNTcwLDU3MSw1MDAsNTU2LDQzOSw0NjMsNTU1LDU0MiwyMjIsNTAwLDQ5Miw1NDgsNTAwLDQ0Nyw1NTYsNjcwLDU3Myw0ODYsNjAzLDM3NCw1NTAsNjUyLDU0Niw3MjgsNzc5LDIyMiw1NTAsNTU2LDU1MCw3NzksNjY3LDY2Nyw4NDMsNTQ0LDcwOCw2NjcsMjc4LDI3OCw1MDAsMTA2Niw5ODIsODQ0LDU4OSw3MTUsNjM5LDcyNCw2NjcsNjUxLDY2Nyw1NDQsNzA0LDY2Nyw5MTcsNjE0LDcxNSw3MTUsNTg5LDY4Niw4MzMsNzIyLDc3OCw3MjUsNjY3LDcyMiw2MTEsNjM5LDc5NSw2NjcsNzI3LDY3Myw5MjAsOTIzLDgwNSw4ODYsNjUxLDY5NCwxMDIyLDY4Miw1NTYsNTYyLDUyMiw0OTMsNTUzLDU1Niw2ODgsNDY1LDU1Niw1NTYsNDcyLDU2NCw2ODYsNTUwLDU1Niw1NTYsNTU2LDUwMCw4MzMsNTAwLDgzNSw1MDAsNTcyLDUxOCw4MzAsODUxLDYyMSw3MzYsNTI2LDQ5Miw3NTIsNTM0LDU1Niw1NTYsNTU2LDM3OCw0OTYsNTAwLDIyMiwyMjIsMjIyLDkxMCw4MjgsNTU2LDQ3Miw1NjUsNTAwLDU1Niw3NzgsNTU2LDQ5MiwzMzksOTQ0LDcyMiw5NDQsNzIyLDk0NCw3MjIsNjY3LDUwMCwzMzMsMzMzLDU1NiwxZTMsMWUzLDU1MiwyMjIsMjIyLDIyMiwyMjIsMzMzLDMzMywzMzMsNTU2LDU1NiwzNTAsMWUzLDFlMywxODgsMzU0LDMzMywzMzMsNTAwLDMzMywxNjcsMzY1LDU1Niw1NTYsMTA5NCw1NTYsODg1LDMyMywxMDgzLDFlMyw3NjgsNjAwLDgzNCw4MzQsODM0LDgzNCwxZTMsNTAwLDk5OCw1MDAsMWUzLDUwMCw1MDAsNDk0LDYxMiw4MjMsNzEzLDU4NCw1NDksNzEzLDk3OSw3MTksMjc0LDU0OSw1NDksNTg0LDU0OSw1NDksNjA0LDU4NCw2MDQsNjA0LDcwOCw2MjUsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzI5LDYwNCw2MDQsMzU0LDM1NCwxZTMsOTkwLDk5MCw5OTAsOTkwLDQ5NCw2MDQsNjA0LDYwNCw2MDQsMzU0LDEwMjEsMTA1Miw5MTcsNzUwLDc1MCw1MzEsNjU2LDU5NCw1MTAsNTAwLDc1MCw3NTAsNTAwLDUwMCwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDIyMiwyMjIsMjk0LDI5NCwzMjQsMzI0LDMxNiwzMjgsMzk4LDI4NV0sWGE9Wy0xLC0xLC0xLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjIsMjYzLDI2NCwyNjUsMjY2LDI2NywyNjgsMjY5LDI3MCwyNzEsMjcyLDI3MywyNzQsMjc1LDI3NiwyNzcsMjc4LDI3OSwyODAsMjgxLDI4MiwyODMsMjg0LDI4NSwyODYsMjg3LDI4OCwyODksMjkwLDI5MSwyOTIsMjkzLDI5NCwyOTUsMjk2LDI5NywyOTgsMjk5LDMwMCwzMDEsMzAyLDMwMywzMDQsMzA1LDMwNiwzMDcsMzA4LDMwOSwzMTAsMzExLDMxMiwzMTMsMzE0LDMxNSwzMTYsMzE3LDMxOCwzMTksMzIwLDMyMSwzMjIsMzIzLDMyNCwzMjUsMzI2LDMyNywzMjgsMzI5LDMzMCwzMzEsMzMyLDMzMywzMzQsMzM1LDMzNiwzMzcsMzM4LDMzOSwzNDAsMzQxLDM0MiwzNDMsMzQ0LDM0NSwzNDYsMzQ3LDM0OCwzNDksMzUwLDM1MSwzNTIsMzUzLDM1NCwzNTUsMzU2LDM1NywzNTgsMzU5LDM2MCwzNjEsMzYyLDM2MywzNjQsMzY1LDM2NiwzNjcsMzY4LDM2OSwzNzAsMzcxLDM3MiwzNzMsMzc0LDM3NSwzNzYsMzc3LDM3OCwzNzksMzgwLDM4MSwzODIsMzgzLDQwMiw1MDYsNTA3LDUwOCw1MDksNTEwLDUxMSw1MzYsNTM3LDUzOCw1MzksNzEwLDcxMSw3MTMsNzI4LDcyOSw3MzAsNzMxLDczMiw3MzMsOTAwLDkwMSw5MDIsOTAzLDkwNCw5MDUsOTA2LDkwOCw5MTAsOTExLDkxMiw5MTMsOTE0LDkxNSw5MTYsOTE3LDkxOCw5MTksOTIwLDkyMSw5MjIsOTIzLDkyNCw5MjUsOTI2LDkyNyw5MjgsOTI5LDkzMSw5MzIsOTMzLDkzNCw5MzUsOTM2LDkzNyw5MzgsOTM5LDk0MCw5NDEsOTQyLDk0Myw5NDQsOTQ1LDk0Niw5NDcsOTQ4LDk0OSw5NTAsOTUxLDk1Miw5NTMsOTU0LDk1NSw5NTYsOTU3LDk1OCw5NTksOTYwLDk2MSw5NjIsOTYzLDk2NCw5NjUsOTY2LDk2Nyw5NjgsOTY5LDk3MCw5NzEsOTcyLDk3Myw5NzQsMTAyNCwxMDI1LDEwMjYsMTAyNywxMDI4LDEwMjksMTAzMCwxMDMxLDEwMzIsMTAzMywxMDM0LDEwMzUsMTAzNiwxMDM3LDEwMzgsMTAzOSwxMDQwLDEwNDEsMTA0MiwxMDQzLDEwNDQsMTA0NSwxMDQ2LDEwNDcsMTA0OCwxMDQ5LDEwNTAsMTA1MSwxMDUyLDEwNTMsMTA1NCwxMDU1LDEwNTYsMTA1NywxMDU4LDEwNTksMTA2MCwxMDYxLDEwNjIsMTA2MywxMDY0LDEwNjUsMTA2NiwxMDY3LDEwNjgsMTA2OSwxMDcwLDEwNzEsMTA3MiwxMDczLDEwNzQsMTA3NSwxMDc2LDEwNzcsMTA3OCwxMDc5LDEwODAsMTA4MSwxMDgyLDEwODMsMTA4NCwxMDg1LDEwODYsMTA4NywxMDg4LDEwODksMTA5MCwxMDkxLDEwOTIsMTA5MywxMDk0LDEwOTUsMTA5NiwxMDk3LDEwOTgsMTA5OSwxMTAwLDExMDEsMTEwMiwxMTAzLDExMDQsMTEwNSwxMTA2LDExMDcsMTEwOCwxMTA5LDExMTAsMTExMSwxMTEyLDExMTMsMTExNCwxMTE1LDExMTYsMTExNywxMTE4LDExMTksMTEzOCwxMTM5LDExNjgsMTE2OSw3ODA4LDc4MDksNzgxMCw3ODExLDc4MTIsNzgxMyw3OTIyLDc5MjMsODIwOCw4MjA5LDgyMTEsODIxMiw4MjEzLDgyMTUsODIxNiw4MjE3LDgyMTgsODIxOSw4MjIwLDgyMjEsODIyMiw4MjI0LDgyMjUsODIyNiw4MjMwLDgyNDAsODI0Miw4MjQzLDgyNDksODI1MCw4MjUyLDgyNTQsODI2MCw4MzE5LDgzNTUsODM1Niw4MzU5LDgzNjQsODQ1Myw4NDY3LDg0NzAsODQ4Miw4NDg2LDg0OTQsODUzOSw4NTQwLDg1NDEsODU0Miw4NTkyLDg1OTMsODU5NCw4NTk1LDg1OTYsODU5Nyw4NjE2LDg3MDYsODcxMCw4NzE5LDg3MjEsODcyMiw4NzMwLDg3MzQsODczNSw4NzQ1LDg3NDcsODc3Niw4ODAwLDg4MDEsODgwNCw4ODA1LDg5NjIsODk3Niw4OTkyLDg5OTMsOTQ3Miw5NDc0LDk0ODQsOTQ4OCw5NDkyLDk0OTYsOTUwMCw5NTA4LDk1MTYsOTUyNCw5NTMyLDk1NTIsOTU1Myw5NTU0LDk1NTUsOTU1Niw5NTU3LDk1NTgsOTU1OSw5NTYwLDk1NjEsOTU2Miw5NTYzLDk1NjQsOTU2NSw5NTY2LDk1NjcsOTU2OCw5NTY5LDk1NzAsOTU3MSw5NTcyLDk1NzMsOTU3NCw5NTc1LDk1NzYsOTU3Nyw5NTc4LDk1NzksOTU4MCw5NjAwLDk2MDQsOTYwOCw5NjEyLDk2MTYsOTYxNyw5NjE4LDk2MTksOTYzMiw5NjMzLDk2NDIsOTY0Myw5NjQ0LDk2NTAsOTY1OCw5NjYwLDk2NjgsOTY3NCw5Njc1LDk2NzksOTY4OCw5Njg5LDk3MDIsOTc4Niw5Nzg3LDk3ODgsOTc5Miw5Nzk0LDk4MjQsOTgyNyw5ODI5LDk4MzAsOTgzNCw5ODM1LDk4MzYsNjE0NDEsNjE0NDIsNjE0NDUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTFdLFphPVszNjUsMCwzMzMsMjc4LDI3OCwzNTUsNTU2LDU1Niw4ODksNjY3LDE5MSwzMzMsMzMzLDM4OSw1ODQsMjc4LDMzMywyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1NiwyNzgsMjc4LDU4NCw1ODQsNTg0LDU1NiwxMDE1LDY2Nyw2NjcsNzIyLDcyMiw2NjcsNjExLDc3OCw3MjIsMjc4LDUwMCw2NjcsNTU2LDgzMyw3MjIsNzc4LDY2Nyw3NzgsNzIyLDY2Nyw2MTEsNzIyLDY2Nyw5NDQsNjY3LDY2Nyw2MTEsMjc4LDI3OCwyNzgsNDY5LDU1NiwzMzMsNTU2LDU1Niw1MDAsNTU2LDU1NiwyNzgsNTU2LDU1NiwyMjIsMjIyLDUwMCwyMjIsODMzLDU1Niw1NTYsNTU2LDU1NiwzMzMsNTAwLDI3OCw1NTYsNTAwLDcyMiw1MDAsNTAwLDUwMCwzMzQsMjYwLDMzNCw1ODQsMzMzLDU1Niw1NTYsNTU2LDU1NiwyNjAsNTU2LDMzMyw3MzcsMzcwLDU1Niw1ODQsNzM3LDU1Miw0MDAsNTQ5LDMzMywzMzMsMzMzLDU3Niw1MzcsMjc4LDMzMywzMzMsMzY1LDU1Niw4MzQsODM0LDgzNCw2MTEsNjY3LDY2Nyw2NjcsNjY3LDY2Nyw2NjcsMWUzLDcyMiw2NjcsNjY3LDY2Nyw2NjcsMjc4LDI3OCwyNzgsMjc4LDcyMiw3MjIsNzc4LDc3OCw3NzgsNzc4LDc3OCw1ODQsNzc4LDcyMiw3MjIsNzIyLDcyMiw2NjcsNjY3LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw4ODksNTAwLDU1Niw1NTYsNTU2LDU1NiwyNzgsMjc4LDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU0OSw2MTEsNTU2LDU1Niw1NTYsNTU2LDUwMCw1NTYsNTAwLDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDcyMiw1MDAsNzIyLDUwMCw3MjIsNTAwLDcyMiw1MDAsNzIyLDYxNSw3MjIsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDcyMiw1NTYsNzIyLDU1NiwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjIyLDI3OCwyNzgsNzM1LDQ0NCw1MDAsMjIyLDY2Nyw1MDAsNTAwLDU1NiwyMjIsNTU2LDIyMiw1NTYsMjkyLDU1NiwzMzQsNTU2LDIyMiw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw2MDQsNzIzLDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1NiwxZTMsOTQ0LDcyMiwzMzMsNzIyLDMzMyw3MjIsMzMzLDY2Nyw1MDAsNjY3LDUwMCw2NjcsNTAwLDY2Nyw1MDAsNjExLDI3OCw2MTEsMzc1LDYxMSwyNzgsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsOTQ0LDcyMiw2NjcsNTAwLDY2Nyw2MTEsNTAwLDYxMSw1MDAsNjExLDUwMCwyMjIsNTU2LDY2Nyw1NTYsMWUzLDg4OSw3NzgsNjExLDY2Nyw1MDAsNjExLDI3OCwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDY2NywyNzgsNzg0LDgzOCwzODQsNzc0LDg1NSw3NTIsMjIyLDY2Nyw2NjcsNTUxLDY2OCw2NjcsNjExLDcyMiw3NzgsMjc4LDY2Nyw2NjgsODMzLDcyMiw2NTAsNzc4LDcyMiw2NjcsNjE4LDYxMSw2NjcsNzk4LDY2Nyw4MzUsNzQ4LDI3OCw2NjcsNTc4LDQ0Niw1NTYsMjIyLDU0Nyw1NzgsNTc1LDUwMCw1NTcsNDQ2LDQ0MSw1NTYsNTU2LDIyMiw1MDAsNTAwLDU3Niw1MDAsNDQ4LDU1Niw2OTAsNTY5LDQ4Miw2MTcsMzk1LDU0Nyw2NDgsNTI1LDcxMyw3ODEsMjIyLDU0Nyw1NTYsNTQ3LDc4MSw2NjcsNjY3LDg2NSw1NDIsNzE5LDY2NywyNzgsMjc4LDUwMCwxMDU3LDEwMTAsODU0LDU4Myw3MjIsNjM1LDcxOSw2NjcsNjU2LDY2Nyw1NDIsNjc3LDY2Nyw5MjMsNjA0LDcxOSw3MTksNTgzLDY1Niw4MzMsNzIyLDc3OCw3MTksNjY3LDcyMiw2MTEsNjM1LDc2MCw2NjcsNzQwLDY2Nyw5MTcsOTM4LDc5Miw4ODUsNjU2LDcxOSwxMDEwLDcyMiw1NTYsNTczLDUzMSwzNjUsNTgzLDU1Niw2NjksNDU4LDU1OSw1NTksNDM4LDU4Myw2ODgsNTUyLDU1Niw1NDIsNTU2LDUwMCw0NTgsNTAwLDgyMyw1MDAsNTczLDUyMSw4MDIsODIzLDYyNSw3MTksNTIxLDUxMCw3NTAsNTQyLDU1Niw1NTYsNTU2LDM2NSw1MTAsNTAwLDIyMiwyNzgsMjIyLDkwNiw4MTIsNTU2LDQzOCw1NTksNTAwLDU1Miw3NzgsNTU2LDQ4OSw0MTEsOTQ0LDcyMiw5NDQsNzIyLDk0NCw3MjIsNjY3LDUwMCwzMzMsMzMzLDU1NiwxZTMsMWUzLDU1MiwyMjIsMjIyLDIyMiwyMjIsMzMzLDMzMywzMzMsNTU2LDU1NiwzNTAsMWUzLDFlMywxODgsMzU0LDMzMywzMzMsNTAwLDMzMywxNjcsMzY1LDU1Niw1NTYsMTA5NCw1NTYsODg1LDMyMywxMDczLDFlMyw3NjgsNjAwLDgzNCw4MzQsODM0LDgzNCwxZTMsNTAwLDFlMyw1MDAsMWUzLDUwMCw1MDAsNDk0LDYxMiw4MjMsNzEzLDU4NCw1NDksNzEzLDk3OSw3MTksMjc0LDU0OSw1NDksNTgzLDU0OSw1NDksNjA0LDU4NCw2MDQsNjA0LDcwOCw2MjUsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzI5LDYwNCw2MDQsMzU0LDM1NCwxZTMsOTkwLDk5MCw5OTAsOTkwLDQ5NCw2MDQsNjA0LDYwNCw2MDQsMzU0LDEwMjEsMTA1Miw5MTcsNzUwLDc1MCw1MzEsNjU2LDU5NCw1MTAsNTAwLDc1MCw3NTAsNTAwLDUwMCwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDIyMiwyMjIsMjk0LDI5NCwzMjQsMzI0LDMxNiwzMjgsMzk4LDI4NV0sVmE9Wy0xLC0xLC0xLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjIsMjYzLDI2NCwyNjUsMjY2LDI2NywyNjgsMjY5LDI3MCwyNzEsMjcyLDI3MywyNzQsMjc1LDI3NiwyNzcsMjc4LDI3OSwyODAsMjgxLDI4MiwyODMsMjg0LDI4NSwyODYsMjg3LDI4OCwyODksMjkwLDI5MSwyOTIsMjkzLDI5NCwyOTUsMjk2LDI5NywyOTgsMjk5LDMwMCwzMDEsMzAyLDMwMywzMDQsMzA1LDMwNiwzMDcsMzA4LDMwOSwzMTAsMzExLDMxMiwzMTMsMzE0LDMxNSwzMTYsMzE3LDMxOCwzMTksMzIwLDMyMSwzMjIsMzIzLDMyNCwzMjUsMzI2LDMyNywzMjgsMzI5LDMzMCwzMzEsMzMyLDMzMywzMzQsMzM1LDMzNiwzMzcsMzM4LDMzOSwzNDAsMzQxLDM0MiwzNDMsMzQ0LDM0NSwzNDYsMzQ3LDM0OCwzNDksMzUwLDM1MSwzNTIsMzUzLDM1NCwzNTUsMzU2LDM1NywzNTgsMzU5LDM2MCwzNjEsMzYyLDM2MywzNjQsMzY1LDM2NiwzNjcsMzY4LDM2OSwzNzAsMzcxLDM3MiwzNzMsMzc0LDM3NSwzNzYsMzc3LDM3OCwzNzksMzgwLDM4MSwzODIsMzgzLDQwMiw1MDYsNTA3LDUwOCw1MDksNTEwLDUxMSw1MzYsNTM3LDUzOCw1MzksNzEwLDcxMSw3MTMsNzI4LDcyOSw3MzAsNzMxLDczMiw3MzMsOTAwLDkwMSw5MDIsOTAzLDkwNCw5MDUsOTA2LDkwOCw5MTAsOTExLDkxMiw5MTMsOTE0LDkxNSw5MTYsOTE3LDkxOCw5MTksOTIwLDkyMSw5MjIsOTIzLDkyNCw5MjUsOTI2LDkyNyw5MjgsOTI5LDkzMSw5MzIsOTMzLDkzNCw5MzUsOTM2LDkzNyw5MzgsOTM5LDk0MCw5NDEsOTQyLDk0Myw5NDQsOTQ1LDk0Niw5NDcsOTQ4LDk0OSw5NTAsOTUxLDk1Miw5NTMsOTU0LDk1NSw5NTYsOTU3LDk1OCw5NTksOTYwLDk2MSw5NjIsOTYzLDk2NCw5NjUsOTY2LDk2Nyw5NjgsOTY5LDk3MCw5NzEsOTcyLDk3Myw5NzQsMTAyNCwxMDI1LDEwMjYsMTAyNywxMDI4LDEwMjksMTAzMCwxMDMxLDEwMzIsMTAzMywxMDM0LDEwMzUsMTAzNiwxMDM3LDEwMzgsMTAzOSwxMDQwLDEwNDEsMTA0MiwxMDQzLDEwNDQsMTA0NSwxMDQ2LDEwNDcsMTA0OCwxMDQ5LDEwNTAsMTA1MSwxMDUyLDEwNTMsMTA1NCwxMDU1LDEwNTYsMTA1NywxMDU4LDEwNTksMTA2MCwxMDYxLDEwNjIsMTA2MywxMDY0LDEwNjUsMTA2NiwxMDY3LDEwNjgsMTA2OSwxMDcwLDEwNzEsMTA3MiwxMDczLDEwNzQsMTA3NSwxMDc2LDEwNzcsMTA3OCwxMDc5LDEwODAsMTA4MSwxMDgyLDEwODMsMTA4NCwxMDg1LDEwODYsMTA4NywxMDg4LDEwODksMTA5MCwxMDkxLDEwOTIsMTA5MywxMDk0LDEwOTUsMTA5NiwxMDk3LDEwOTgsMTA5OSwxMTAwLDExMDEsMTEwMiwxMTAzLDExMDQsMTEwNSwxMTA2LDExMDcsMTEwOCwxMTA5LDExMTAsMTExMSwxMTEyLDExMTMsMTExNCwxMTE1LDExMTYsMTExNywxMTE4LDExMTksMTEzOCwxMTM5LDExNjgsMTE2OSw3ODA4LDc4MDksNzgxMCw3ODExLDc4MTIsNzgxMyw3OTIyLDc5MjMsODIwOCw4MjA5LDgyMTEsODIxMiw4MjEzLDgyMTUsODIxNiw4MjE3LDgyMTgsODIxOSw4MjIwLDgyMjEsODIyMiw4MjI0LDgyMjUsODIyNiw4MjMwLDgyNDAsODI0Miw4MjQzLDgyNDksODI1MCw4MjUyLDgyNTQsODI2MCw4MzE5LDgzNTUsODM1Niw4MzU5LDgzNjQsODQ1Myw4NDY3LDg0NzAsODQ4Miw4NDg2LDg0OTQsODUzOSw4NTQwLDg1NDEsODU0Miw4NTkyLDg1OTMsODU5NCw4NTk1LDg1OTYsODU5Nyw4NjE2LDg3MDYsODcxMCw4NzE5LDg3MjEsODcyMiw4NzMwLDg3MzQsODczNSw4NzQ1LDg3NDcsODc3Niw4ODAwLDg4MDEsODgwNCw4ODA1LDg5NjIsODk3Niw4OTkyLDg5OTMsOTQ3Miw5NDc0LDk0ODQsOTQ4OCw5NDkyLDk0OTYsOTUwMCw5NTA4LDk1MTYsOTUyNCw5NTMyLDk1NTIsOTU1Myw5NTU0LDk1NTUsOTU1Niw5NTU3LDk1NTgsOTU1OSw5NTYwLDk1NjEsOTU2Miw5NTYzLDk1NjQsOTU2NSw5NTY2LDk1NjcsOTU2OCw5NTY5LDk1NzAsOTU3MSw5NTcyLDk1NzMsOTU3NCw5NTc1LDk1NzYsOTU3Nyw5NTc4LDk1NzksOTU4MCw5NjAwLDk2MDQsOTYwOCw5NjEyLDk2MTYsOTYxNyw5NjE4LDk2MTksOTYzMiw5NjMzLDk2NDIsOTY0Myw5NjQ0LDk2NTAsOTY1OCw5NjYwLDk2NjgsOTY3NCw5Njc1LDk2NzksOTY4OCw5Njg5LDk3MDIsOTc4Niw5Nzg3LDk3ODgsOTc5Miw5Nzk0LDk4MjQsOTgyNyw5ODI5LDk4MzAsOTgzNCw5ODM1LDk4MzYsNjE0NDEsNjE0NDIsNjE0NDUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTFdLHphPVsxLjM2ODk4LDEsMSwuNzI3MDYsLjgwNDc5LC44MzczNCwuOTg4OTQsLjk5NzkzLC45ODk3LC45Mzg4NCwuODYyMDksLjk0MjkyLC45NDI5MiwxLjE2NjYxLDEuMDIwNTgsLjkzNTgyLC45NjY5NCwuOTM1ODIsMS4xOTEzNywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjc4MDc2LC43ODA3NiwxLjAyMDU4LDEuMDIwNTgsMS4wMjA1OCwuNzI4NTEsLjc4OTY2LC45MDgzOCwuODM2MzcsLjgyMzkxLC45NjM3NiwuODAwNjEsLjg2Mjc1LC44NzY4LC45NTQwNywxLjAyNTgsLjczOTAxLC44NTAyMiwuODM2NTUsMS4wMTU2LC45NTU0NiwuOTIxNzksLjg3MTA3LC45MjE3OSwuODIxMTQsLjgwOTYsLjg5NzEzLC45NDQzOCwuOTUzNTMsLjk0MDgzLC45MTkwNSwuOTA0MDYsLjk0NDYsLjk0MjkyLDEuMTg3NzcsLjk0MjkyLDEuMDIwNTgsLjg5OTAzLC45MDA4OCwuOTQ5MzgsLjk3ODk4LC44MTA5MywuOTc1NzEsLjk0OTM4LDEuMDI0LC45NTc3LC45NTkzMywuOTg2MjEsMS4wNDc0LC45NzQ1NSwuOTg5ODEsLjk2NzIsLjk1OTMzLC45NDQ2LC45Nzg5OCwuOTc0MDcsLjk3NjQ2LC43ODAzNiwxLjEwMjA4LC45NTQ0MiwuOTUyOTgsLjk3NTc5LC45MzMyLC45NDAzOSwuOTM4LC44MDY4NywxLjAxMTQ5LC44MDY4NywxLjAyMDU4LC44MDQ3OSwuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsMS4wMTE0OSwxLjAwODcyLC45MDA4OCwuOTE4ODIsMS4wMjEzLC44MzYxLDEuMDIwNTgsLjYyMjk1LC41NDMyNCwuODkwMjIsMS4wODU5NSwxLDEsLjkwMDg4LDEsLjk3NDU1LC45MzU4MiwuOTAwODgsMSwxLjA1Njg2LC44MzYxLC45OTY0MiwuOTk2NDIsLjk5NjQyLC43Mjg1MSwuOTA4MzgsLjkwODM4LC45MDgzOCwuOTA4MzgsLjkwODM4LC45MDgzOCwuODY4LC44MjM5MSwuODAwNjEsLjgwMDYxLC44MDA2MSwuODAwNjEsMS4wMjU4LDEuMDI1OCwxLjAyNTgsMS4wMjU4LC45NzQ4NCwuOTU1NDYsLjkyMTc5LC45MjE3OSwuOTIxNzksLjkyMTc5LC45MjE3OSwxLjAyMDU4LC45MjE3OSwuOTQ0MzgsLjk0NDM4LC45NDQzOCwuOTQ0MzgsLjkwNDA2LC44Njk1OCwuOTgyMjUsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjkwMzEsLjgxMDkzLC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTg2MjEsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjkzOTY5LC45NTkzMywuOTQ0NiwuOTQ0NiwuOTQ0NiwuOTQ0NiwuOTQ0NiwxLjA4NTk1LC45NDQ2LC45NTQ0MiwuOTU0NDIsLjk1NDQyLC45NTQ0MiwuOTQwMzksLjk3ODk4LC45NDAzOSwuOTA4MzgsLjk0OTM4LC45MDgzOCwuOTQ5MzgsLjkwODM4LC45NDkzOCwuODIzOTEsLjgxMDkzLC44MjM5MSwuODEwOTMsLjgyMzkxLC44MTA5MywuODIzOTEsLjgxMDkzLC45NjM3NiwuODQzMTMsLjk3NDg0LC45NzU3MSwuODAwNjEsLjk0OTM4LC44MDA2MSwuOTQ5MzgsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44MDA2MSwuOTQ5MzgsLjg3NjgsLjk1NzcsLjg3NjgsLjk1NzcsLjg3NjgsLjk1NzcsMSwxLC45NTQwNywuOTU5MzMsLjk3MDY5LC45NTkzMywxLjAyNTgsLjk4NjIxLDEuMDI1OCwuOTg2MjEsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLDEuMDI1OCwuOTg2MjEsLjg4NywxLjAxNTkxLC43MzkwMSwxLjA0NzQsMSwxLC45NzQ1NSwuODM2NTUsLjk4OTgxLDEsMSwuODM2NTUsLjczOTc3LC44MzY1NSwuNzM5MDMsLjg0NjM4LDEuMDMzLC45NTU0NiwuOTU5MzMsMSwxLC45NTU0NiwuOTU5MzMsLjgyNzEsLjk1NDE3LC45NTkzMywuOTIxNzksLjk0NDYsLjkyMTc5LC45NDQ2LC45MjE3OSwuOTQ0NiwuOTM2LC45MTk2NCwuODIxMTQsLjk3NjQ2LDEsMSwuODIxMTQsLjk3NjQ2LC44MDk2LC43ODAzNiwuODA5NiwuNzgwMzYsMSwxLC44MDk2LC43ODAzNiwxLDEsLjg5NzEzLC43NzQ1MiwuODk3MTMsMS4xMDIwOCwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQwODMsLjk3NTc5LC45MDQwNiwuOTQwMzksLjkwNDA2LC45NDQ2LC45MzgsLjk0NDYsLjkzOCwuOTQ0NiwuOTM4LDEsLjk5NzkzLC45MDgzOCwuOTQ5MzgsLjg2OCwuOTAzMSwuOTIxNzksLjk0NDYsMSwxLC44OTcxMywxLjEwMjA4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDk4OSwuOTM1OCwuOTE5NDUsLjgzMTgxLC43NTI2MSwuODc5OTIsLjgyOTc2LC45NjAzNCwuODM2ODksLjk3MjY4LDEuMDA3OCwuOTA4MzgsLjgzNjM3LC44MDE5LC45MDE1NywuODAwNjEsLjk0NDYsLjk1NDA3LC45MjQzNiwxLjAyNTgsLjg1MDIyLC45NzE1MywxLjAxNTYsLjk1NTQ2LC44OTE5MiwuOTIxNzksLjkyMzYxLC44NzEwNywuOTYzMTgsLjg5NzEzLC45MzcwNCwuOTU2MzgsLjkxOTA1LC45MTcwOSwuOTI3OTYsMS4wMjU4LC45MzcwNCwuOTQ4MzYsMS4wMzczLC45NTkzMywxLjAwNzgsLjk1ODcxLC45NDgzNiwuOTYxNzQsLjkyNjAxLC45NDk4LC45ODYwNywuOTU3NzYsLjk1OTMzLDEuMDU0NTMsMS4wMDc4LC45ODI3NSwuOTMxNCwuOTU2MTcsLjkxNzAxLDEuMDU5OTMsLjk0NDYsLjc4MzY3LC45NTUzLDEsLjg2ODMyLDEuMDEyOCwuOTU4NzEsLjk5Mzk0LC44NzU0OCwuOTYzNjEsLjg2Nzc0LDEuMDA3OCwuOTU4NzEsLjk0NDYsLjk1ODcxLC44Njc3NCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NDA4MywuOTc1NzksLjk0MDgzLC45NzU3OSwuOTQwODMsLjk3NTc5LC45MDQwNiwuOTQwMzksLjk2Njk0LDEsLjg5OTAzLDEsMSwxLC45MzU4MiwuOTM1ODIsLjkzNTgyLDEsLjkwOCwuOTA4LC45MTgsLjk0MjE5LC45NDIxOSwuOTY1NDQsMSwxLjI4NSwxLDEsLjgxMDc5LC44MTA3OSwxLDEsLjc0ODU0LDEsMSwxLDEsLjk5NzkzLDEsMSwxLC42NSwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTcxNzMsMSwuODA1MzUsLjc2MTY5LDEuMDIwNTgsMS4wNzMyLDEuMDU0ODYsMSwxLDEuMzA2OTIsMS4wODU5NSwxLjA4NTk1LDEsMS4wODU5NSwxLjA4NTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4xNjE2MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxfYT17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sJGE9WzEuMzY4OTgsMSwxLC42NjIyNywuODA3NzksLjgxNjI1LC45NzI3NiwuOTcyNzYsLjk3NzMzLC45MjIyMiwuODMyNjYsLjk0MjkyLC45NDI5MiwxLjE2MTQ4LDEuMDIwNTgsLjkzNTgyLC45NjY5NCwuOTM1ODIsMS4xNzMzNywuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjc4MDc2LC43ODA3NiwxLjAyMDU4LDEuMDIwNTgsMS4wMjA1OCwuNzE1NDEsLjc2ODEzLC44NTU3NiwuODA1OTEsLjgwNzI5LC45NDI5OSwuNzc1MTIsLjgzNjU1LC44NjUyMywuOTIyMjIsLjk4NjIxLC43MTc0MywuODE2OTgsLjc5NzI2LC45ODU1OCwuOTIyMjIsLjkwNjM3LC44MzgwOSwuOTA2MzcsLjgwNzI5LC43NjQ2MywuODYyNzUsLjkwNjk5LC45MTYwNSwuOTE1NCwuODUzMDgsLjg1NDU4LC45MDUzMSwuOTQyOTIsMS4yMTI5NiwuOTQyOTIsMS4wMjA1OCwuODk5MDMsMS4xODYxNiwuOTk2MTMsLjkxNjc3LC43ODIxNiwuOTE2NzcsLjkwMDgzLC45ODc5NiwuOTEzNSwuOTIxNjgsLjk1MzgxLC45ODk4MSwuOTUyOTgsLjk1MzgxLC45MzQ1OSwuOTIxNjgsLjkxNTEzLC45MjAwNCwuOTE2NzcsLjk1MDc3LC43NDgsMS4wNDUwMiwuOTE2NzcsLjkyMDYxLC45NDIzNiwuODk1NDQsLjg5MzY0LC45LC44MDY4NywuODU3OCwuODA2ODcsMS4wMjA1OCwuODA3NzksLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC44NTc4LC45OTk3MywxLjE4NjE2LC45MTMzOSwxLjA4MDc0LC44Mjg5MSwxLjAyMDU4LC41NTUwOSwuNzE1MjYsLjg5MDIyLDEuMDg1OTUsMSwxLDEuMTg2MTYsMSwuOTY3MzYsLjkzNTgyLDEuMTg2MTYsMSwxLjA0ODY0LC44MjcxMSwuOTkwNDMsLjk5MDQzLC45OTA0MywuNzE1NDEsLjg1NTc2LC44NTU3NiwuODU1NzYsLjg1NTc2LC44NTU3NiwuODU1NzYsLjg0NSwuODA3MjksLjc3NTEyLC43NzUxMiwuNzc1MTIsLjc3NTEyLC45ODYyMSwuOTg2MjEsLjk4NjIxLC45ODYyMSwuOTU5NjEsLjkyMjIyLC45MDYzNywuOTA2MzcsLjkwNjM3LC45MDYzNywuOTA2MzcsMS4wMjA1OCwuOTAyNTEsLjkwNjk5LC45MDY5OSwuOTA2OTksLjkwNjk5LC44NTQ1OCwuODM2NTksLjk0OTUxLC45OTYxMywuOTk2MTMsLjk5NjEzLC45OTYxMywuOTk2MTMsLjk5NjEzLC44NTgxMSwuNzgyMTYsLjkwMDgzLC45MDA4MywuOTAwODMsLjkwMDgzLC45NTM4MSwuOTUzODEsLjk1MzgxLC45NTM4MSwuOTEzNSwuOTIxNjgsLjkxNTEzLC45MTUxMywuOTE1MTMsLjkxNTEzLC45MTUxMywxLjA4NTk1LC45MTY3NywuOTE2NzcsLjkxNjc3LC45MTY3NywuOTE2NzcsLjg5MzY0LC45MjMzMiwuODkzNjQsLjg1NTc2LC45OTYxMywuODU1NzYsLjk5NjEzLC44NTU3NiwuOTk2MTMsLjgwNzI5LC43ODIxNiwuODA3MjksLjc4MjE2LC44MDcyOSwuNzgyMTYsLjgwNzI5LC43ODIxNiwuOTQyOTksLjc2NzgzLC45NTk2MSwuOTE2NzcsLjc3NTEyLC45MDA4MywuNzc1MTIsLjkwMDgzLC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuNzc1MTIsLjkwMDgzLC44NjUyMywuOTEzNSwuODY1MjMsLjkxMzUsLjg2NTIzLC45MTM1LDEsMSwuOTIyMjIsLjkyMTY4LC45MjIyMiwuOTIxNjgsLjk4NjIxLC45NTM4MSwuOTg2MjEsLjk1MzgxLC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuOTg2MjEsLjk1MzgxLC44NjAzNiwuOTcwOTYsLjcxNzQzLC45ODk4MSwxLDEsLjk1Mjk4LC43OTcyNiwuOTUzODEsMSwxLC43OTcyNiwuNjg5NCwuNzk3MjYsLjc0MzIxLC44MTY5MSwxLjAwMDYsLjkyMjIyLC45MjE2OCwxLDEsLjkyMjIyLC45MjE2OCwuNzk0NjQsLjkyMDk4LC45MjE2OCwuOTA2MzcsLjkxNTEzLC45MDYzNywuOTE1MTMsLjkwNjM3LC45MTUxMywuOTA5LC44NzUxNCwuODA3MjksLjk1MDc3LDEsMSwuODA3MjksLjk1MDc3LC43NjQ2MywuNzQ4LC43NjQ2MywuNzQ4LDEsMSwuNzY0NjMsLjc0OCwxLDEsLjg2Mjc1LC43MjY1MSwuODYyNzUsMS4wNDUwMiwuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTE1NCwuOTQyMzYsLjg1NDU4LC44OTM2NCwuODU0NTgsLjkwNTMxLC45LC45MDUzMSwuOSwuOTA1MzEsLjksMSwuOTcyNzYsLjg1NTc2LC45OTYxMywuODQ1LC44NTgxMSwuOTAyNTEsLjkxNjc3LDEsMSwuODYyNzUsMS4wNDUwMiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjAwODk5LDEuMzA2MjgsLjg1NTc2LC44MDE3OCwuNjY4NjIsLjc5MjcsLjY5MzIzLC44ODEyNywuNzI0NTksLjg5NzExLC45NTM4MSwuODU1NzYsLjgwNTkxLC43ODA1LC45NDcyOSwuNzc1MTIsLjkwNTMxLC45MjIyMiwuOTA2MzcsLjk4NjIxLC44MTY5OCwuOTI2NTUsLjk4NTU4LC45MjIyMiwuODUzNTksLjkwNjM3LC45MDk3NiwuODM4MDksLjk0NTIzLC44NjI3NSwuODM1MDksLjkzMTU3LC44NTMwOCwuODMzOTIsLjkyMzQ2LC45ODYyMSwuODM1MDksLjkyODg2LC45MTMyNCwuOTIxNjgsLjk1MzgxLC45MDY0NiwuOTI4ODYsLjkwNTU3LC44Njg0NywuOTAyNzYsLjkxMzI0LC44Njg0MiwuOTIxNjgsLjk5NTMxLC45NTM4MSwuOTIyNCwuODU0MDgsLjkyNjk5LC44Njg0NywxLjAwNTEsLjkxNTEzLC44MDQ4NywuOTM0ODEsMSwuODgxNTksMS4wNTIxNCwuOTA2NDYsLjk3MzU1LC44MTUzOSwuODkzOTgsLjg1OTIzLC45NTM4MSwuOTA2NDYsLjkxNTEzLC45MDY0NiwuODU5MjMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTE1NCwuOTQyMzYsLjkxNTQsLjk0MjM2LC45MTU0LC45NDIzNiwuODU0NTgsLjg5MzY0LC45NjY5NCwxLC44OTkwMywxLDEsMSwuOTE3ODIsLjkxNzgyLC45MTc4MiwxLC44OTYsLjg5NiwuODk2LC45MzMyLC45MzMyLC45NTk3MywxLDEuMjYsMSwxLC44MDQ3OSwuODAxNzgsMSwxLC44NTYzMywxLDEsMSwxLC45NzI3NiwxLDEsMSwuNjk4LDEsMS4zNjE0NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4xNDU0MiwxLC43OTE5OSwuNzg2OTQsMS4wMjA1OCwxLjAzNDkzLDEuMDU0ODYsMSwxLDEuMjMwMjYsMS4wODU5NSwxLjA4NTk1LDEsMS4wODU5NSwxLjA4NTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4yMDAwNiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxBcz17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sZXM9WzEuMzY4OTgsMSwxLC42NTUwNywuODQ5NDMsLjg1NjM5LC44ODQ2NSwuODg0NjUsLjg2OTM2LC44ODMwNywuODY5NDgsLjg1MjgzLC44NTI4MywxLjA2MzgzLDEuMDIwNTgsLjc1OTQ1LC45MjE5LC43NTk0NSwxLjE3MzM3LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuNzU5NDUsLjc1OTQ1LDEuMDIwNTgsMS4wMjA1OCwxLjAyMDU4LC42OTA0NiwuNzA5MjYsLjg1MTU4LC43NzgxMiwuNzY4NTIsLjg5NTkxLC43MDQ2NiwuNzYxMjUsLjgwMDk0LC44NjgyMiwuODM4NjQsLjcyOCwuNzcyMTIsLjc5NDc1LC45MzYzNywuODc1MTQsLjg1ODgsLjc2MDEzLC44NTg4LC43MjQyMSwuNjk4NjYsLjc3NTk4LC44NTk5MSwuODA4MTEsLjg3ODMyLC43ODExMiwuNzc1MTIsLjg1NjIsMS4wMjIyLDEuMTg0MTcsMS4wMjIyLDEuMjcwMTQsLjg5OTAzLDEuMTUwMTIsLjkzODU5LC45NDM5OSwuODQ2LC45NDM5OSwuODE0NTMsMS4wMTg2LC45NDIxOSwuOTYwMTcsMS4wMzA3NSwxLjAyMTc1LC45MTIsMS4wMzA3NSwuOTY5OTgsLjk2MDE3LC45Mzg1OSwuOTQzOTksLjk0Mzk5LC45NTQ5MywuNzQ2LDEuMTI2NTgsLjk0NTc4LC45MSwuOTc5LC44ODIsLjg4MiwuODMsLjg1MDM0LC44MzUzNywuODUwMzQsMS4wMjA1OCwuNzA4NjksLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44MzUzNywuOTAwODMsMS4xNTAxMiwuOTE2MSwuOTQ1NjUsLjczNTQxLDEuMDIwNTgsLjUzNjA5LC42OTM1MywuNzk1MTksMS4wODU5NSwxLDEsMS4xNTAxMiwxLC45MTk3NCwuNzU5NDUsMS4xNTAxMiwxLC45NDQ2LC43MzM2MSwuOTAwNSwuOTAwNSwuOTAwNSwuNjI4NjQsLjg1MTU4LC44NTE1OCwuODUxNTgsLjg1MTU4LC44NTE1OCwuODUxNTgsLjc3MywuNzY4NTIsLjcwNDY2LC43MDQ2NiwuNzA0NjYsLjcwNDY2LC44Mzg2NCwuODM4NjQsLjgzODY0LC44Mzg2NCwuOTA1NjEsLjg3NTE0LC44NTg4LC44NTg4LC44NTg4LC44NTg4LC44NTg4LDEuMDIwNTgsLjg1NzUxLC44NTk5MSwuODU5OTEsLjg1OTkxLC44NTk5MSwuNzc1MTIsLjc2MDEzLC44ODA3NSwuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwuODA3NSwuODQ2LC44MTQ1MywuODE0NTMsLjgxNDUzLC44MTQ1MywuODI0MjQsLjgyNDI0LC44MjQyNCwuODI0MjQsLjkyNzgsLjk2MDE3LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksMS4wODU5NSwuODU2MiwuOTQ1NzgsLjk0NTc4LC45NDU3OCwuOTQ1NzgsLjg4MiwuOTQ1NzgsLjg4MiwuODUxNTgsLjkzODU5LC44NTE1OCwuOTM4NTksLjg1MTU4LC45Mzg1OSwuNzY4NTIsLjg0NiwuNzY4NTIsLjg0NiwuNzY4NTIsLjg0NiwuNzY4NTIsLjg0NiwuODk1OTEsLjg1NDQsLjkwNTYxLC45NDM5OSwuNzA0NjYsLjgxNDUzLC43MDQ2NiwuODE0NTMsLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC43MDQ2NiwuODE0NTMsLjgwMDk0LC45NDIxOSwuODAwOTQsLjk0MjE5LC44MDA5NCwuOTQyMTksMSwxLC44NjgyMiwuOTYwMTcsLjg2ODIyLC45NjAxNywuODM4NjQsLjgyNDI0LC44Mzg2NCwuODI0MjQsLjgzODY0LC44MjQyNCwuODM4NjQsMS4wMzA3NSwuODM4NjQsLjgyNDI0LC44MTQwMiwxLjAyNzM4LC43MjgsMS4wMjE3NSwxLDEsLjkxMiwuNzk0NzUsMS4wMzA3NSwxLDEsLjc5NDc1LC44MzkxMSwuNzk0NzUsLjY2MjY2LC44MDU1MywxLjA2Njc2LC44NzUxNCwuOTYwMTcsMSwxLC44NzUxNCwuOTYwMTcsLjg2ODY1LC44NzM5NiwuOTYwMTcsLjg1ODgsLjkzODU5LC44NTg4LC45Mzg1OSwuODU4OCwuOTM4NTksLjg2NywuODQ3NTksLjcyNDIxLC45NTQ5MywxLDEsLjcyNDIxLC45NTQ5MywuNjk4NjYsLjc0NiwuNjk4NjYsLjc0NiwxLDEsLjY5ODY2LC43NDYsMSwxLC43NzU5OCwuODg0MTcsLjc3NTk4LDEuMTI2NTgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg3ODMyLC45NzksLjc3NTEyLC44ODIsLjc3NTEyLC44NTYyLC44MywuODU2MiwuODMsLjg1NjIsLjgzLDEsLjg4NDY1LC44NTE1OCwuOTM4NTksLjc3MywuODA3NSwuODU3NTEsLjg1NjIsMSwxLC43NzU5OCwxLjEyNjU4LDEuMTUwMTIsMS4xNTAxMiwxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjE1MzEzLDEuMTUwMTIsMS4xNTAxMiwxLjE1MDEyLDEuMDgxMDYsMS4wMzkwMSwuODUxNTgsLjc3MDI1LC42MjI2NCwuNzY0NiwuNjUzNTEsLjg2MDI2LC42OTQ2MSwuODk5NDcsMS4wMzA3NSwuODUxNTgsLjc3ODEyLC43NjQ0OSwuODg4MzYsLjcwNDY2LC44NTYyLC44NjgyMiwuODU4OCwuODM4NjQsLjc3MjEyLC44NTMwOCwuOTM2MzcsLjg3NTE0LC44MjM1MiwuODU4OCwuODU3MDEsLjc2MDEzLC44OTA1OCwuNzc1OTgsLjgxNTYsLjgyNTY1LC43ODExMiwuNzc4OTksLjg5Mzg2LC44Mzg2NCwuODE1NiwuOTQ4NiwuOTIzODgsLjk2MTg2LDEuMDMwNzUsLjkxMTIzLC45NDg2LC45MzI5OCwuODc4LC45Mzk0MiwuOTIzODgsLjg0NTk2LC45NjE4NiwuOTUxMTksMS4wMzA3NSwuOTIyLC44ODc4NywuOTU4MjksLjg4LC45MzU1OSwuOTM4NTksLjc4ODE1LC45Mzc1OCwxLC44OTIxNywxLjAzNzM3LC45MTEyMywuOTM5NjksLjc3NDg3LC44NTc2OSwuODY3OTksMS4wMzA3NSwuOTExMjMsLjkzODU5LC45MTEyMywuODY3OTksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODc4MzIsLjk3OSwuODc4MzIsLjk3OSwuODc4MzIsLjk3OSwuNzc1MTIsLjg4MiwuOTIxOSwxLC44OTkwMywxLDEsMSwuODczMjEsLjg3MzIxLC44NzMyMSwxLDEuMDI3LDEuMDI3LDEuMDI3LC44Njg0NywuODY4NDcsLjc5MTIxLDEsMS4xMjQsMSwxLC43MzU3MiwuNzM1NzIsMSwxLC44NTAzNCwxLDEsMSwxLC44ODQ2NSwxLDEsMSwuNjY5LDEsMS4zNjE0NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNDgyOCwxLC43NDk0OCwuNzUxODcsMS4wMjA1OCwuOTgzOTEsMS4wMjExOSwxLDEsMS4wNjIzMywxLjA4NTk1LDEuMDg1OTUsMSwxLjA4NTk1LDEuMDg1OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA1MjMzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHRzPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxpcz1bMS4zNjg5OCwxLDEsLjc2MzA1LC44Mjc4NCwuOTQ5MzUsLjg5MzY0LC45MjI0MSwuODkwNzMsLjkwNzA2LC45ODQ3MiwuODUyODMsLjg1MjgzLDEuMDY2NCwxLjAyMDU4LC43NDUwNSwuOTIxOSwuNzQ1MDUsMS4yMzQ1NiwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjc0NTA1LC43NDUwNSwxLjAyMDU4LDEuMDIwNTgsMS4wMjA1OCwuNzMwMDIsLjcyNjAxLC45MTc1NSwuODEyNiwuODAzMTQsLjkyMjIyLC43Mzc2NCwuNzk3MjYsLjgzMDUxLC45MDI4NCwuODYwMjMsLjc0LC44MTI2LC44NDg2OSwuOTY1MTgsLjkxMTE1LC44ODU4LC43OTc2MSwuODg1OCwuNzQ0OTgsLjczOTE0LC44MTM2MywuODk1OTEsLjgzNjU5LC44OTYzMywuODU2MDgsLjgxMTEsLjkwNTMxLDEuMDIyMiwxLjIyNzM2LDEuMDIyMiwxLjI3MDE0LC44OTkwMywuOTAwODgsLjg2NjY3LDEuMDIzMSwuODk2LDEuMDE0MTEsLjkwMDgzLDEuMDUwOTksMS4wMDUxMiwuOTk3OTMsMS4wNTMyNiwxLjA5Mzc3LC45MzgsMS4wNjIyNiwxLjAwMTE5LC45OTc5MywuOTg3MTQsMS4wMjMxLDEuMDEyMzEsLjk4MTk2LC43OTIsMS4xOTEzNywuOTkwNzQsLjk2MiwxLjAxOTE1LC45MjYsLjk0MiwuODU2LC44NTAzNCwuOTIwMDYsLjg1MDM0LDEuMDIwNTgsLjY5MDY3LC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIwMDYsLjkzMzIsLjkwMDg4LC45MTg4MiwuOTM0ODQsLjc1MzM5LDEuMDIwNTgsLjU2ODY2LC41NDMyNCwuNzk1MTksMS4wODU5NSwxLDEsLjkwMDg4LDEsLjk1MzI1LC43NDUwNSwuOTAwODgsMSwuOTcxOTgsLjc1MzM5LC45MTAwOSwuOTEwMDksLjkxMDA5LC42NjQ2NiwuOTE3NTUsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjkxNzU1LC45MTc1NSwuNzg4LC44MDMxNCwuNzM3NjQsLjczNzY0LC43Mzc2NCwuNzM3NjQsLjg2MDIzLC44NjAyMywuODYwMjMsLjg2MDIzLC45MjkxNSwuOTExMTUsLjg4NTgsLjg4NTgsLjg4NTgsLjg4NTgsLjg4NTgsMS4wMjA1OCwuODg1OCwuODk1OTEsLjg5NTkxLC44OTU5MSwuODk1OTEsLjgxMTEsLjc5NjExLC44OTcxMywuODY2NjcsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2NjY3LC44NjY2NywuODY5MzYsLjg5NiwuOTAwODMsLjkwMDgzLC45MDA4MywuOTAwODMsLjg0MjI0LC44NDIyNCwuODQyMjQsLjg0MjI0LC45NzI3NiwuOTk3OTMsLjk4NzE0LC45ODcxNCwuOTg3MTQsLjk4NzE0LC45ODcxNCwxLjA4NTk1LC44OTg3NiwuOTkwNzQsLjk5MDc0LC45OTA3NCwuOTkwNzQsLjk0MiwxLjAyMzEsLjk0MiwuOTE3NTUsLjg2NjY3LC45MTc1NSwuODY2NjcsLjkxNzU1LC44NjY2NywuODAzMTQsLjg5NiwuODAzMTQsLjg5NiwuODAzMTQsLjg5NiwuODAzMTQsLjg5NiwuOTIyMjIsLjkzMzcyLC45MjkxNSwxLjAxNDExLC43Mzc2NCwuOTAwODMsLjczNzY0LC45MDA4MywuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjczNzY0LC45MDA4MywuODMwNTEsMS4wMDUxMiwuODMwNTEsMS4wMDUxMiwuODMwNTEsMS4wMDUxMiwxLDEsLjkwMjg0LC45OTc5MywuOTA5NzYsLjk5NzkzLC44NjAyMywuODQyMjQsLjg2MDIzLC44NDIyNCwuODYwMjMsLjg0MjI0LC44NjAyMywxLjA1MzI2LC44NjAyMywuODQyMjQsLjgyODczLDEuMDc0NjksLjc0LDEuMDkzNzcsMSwxLC45MzgsLjg0ODY5LDEuMDYyMjYsMSwxLC44NDg2OSwuODM3MDQsLjg0ODY5LC44MTQ0MSwuODU1ODgsMS4wODkyNywuOTExMTUsLjk5NzkzLDEsMSwuOTExMTUsLjk5NzkzLC45MTg4NywuOTA5OTEsLjk5NzkzLC44ODU4LC45ODcxNCwuODg1OCwuOTg3MTQsLjg4NTgsLjk4NzE0LC44OTQsLjkxNDM0LC43NDQ5OCwuOTgxOTYsMSwxLC43NDQ5OCwuOTgxOTYsLjczOTE0LC43OTIsLjczOTE0LC43OTIsMSwxLC43MzkxNCwuNzkyLDEsMSwuODEzNjMsLjkwNCwuODEzNjMsMS4xOTEzNywuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk2MzMsMS4wMTkxNSwuODExMSwuOTQyLC44MTExLC45MDUzMSwuODU2LC45MDUzMSwuODU2LC45MDUzMSwuODU2LDEsLjkyMjQxLC45MTc1NSwuODY2NjcsLjc4OCwuODY5MzYsLjg4NTgsLjg5ODc2LDEsMSwuODEzNjMsMS4xOTEzNywuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAzODgsMS4wMzkwMSwuOTIxMzgsLjc4MTA1LC43MTU0LC44NjE2OSwuODA1MTMsLjk0MDA3LC44MjUyOCwuOTg2MTIsMS4wNjIyNiwuOTE3NTUsLjgxMjYsLjgxODg0LC45MjgxOSwuNzM3NjQsLjkwNTMxLC45MDI4NCwuODg1OCwuODYwMjMsLjgxMjYsLjkxMTcyLC45NjUxOCwuOTExMTUsLjgzMDg5LC44ODU4LC44Nzc5MSwuNzk3NjEsLjg5Mjk3LC44MTM2MywuODgxNTcsLjg5OTkyLC44NTYwOCwuODE5OTIsLjk0MzA3LC44NjAyMywuODgxNTcsLjk1MzA4LC45ODY5OSwuOTk3OTMsMS4wNjIyNiwuOTU4MTcsLjk1MzA4LC45NzM1OCwuOTI4LC45ODA4OCwuOTg2OTksLjkyNzYxLC45OTc5MywuOTYwMTcsMS4wNjIyNiwuOTg2LC45NDQsLjk1OTc4LC45MzgsLjk2NzA1LC45ODcxNCwuODA0NDIsLjk4OTcyLDEsLjg5NzYyLDEuMDQ1NTIsLjk1ODE3LC45OTAwNywuODcwNjQsLjkxODc5LC44ODg4OCwxLjA2MjI2LC45NTgxNywuOTg3MTQsLjk1ODE3LC44ODg4OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44OTYzMywxLjAxOTE1LC44OTYzMywxLjAxOTE1LC44OTYzMywxLjAxOTE1LC44MTExLC45NDIsLjkyMTksMSwuODk5MDMsMSwxLDEsLjkzMTczLC45MzE3MywuOTMxNzMsMSwxLjA2MzA0LDEuMDYzMDQsMS4wNjkwNCwuODk5MDMsLjg5OTAzLC44MDU0OSwxLDEuMTU2LDEsMSwuNzY1NzUsLjc2NTc1LDEsMSwuNzI0NTgsMSwxLDEsMSwuOTIyNDEsMSwxLDEsLjYxOSwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDcyNTcsMSwuNzQ3MDUsLjcxMTE5LDEuMDIwNTgsMS4wMjQsMS4wMjExOSwxLDEsMS4xNTM2LDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDU2MzgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sYXM9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LHNzPVsxLjc2NzM4LDEsMSwuOTkyOTcsLjk4MjQsMS4wNDAxNiwxLjA2NDk3LDEuMDM0MjQsLjk3NTI5LDEuMTc2NDcsMS4yMzIwMywxLjEwODUsMS4xMDg1LDEuMTY5MzksMS4yMTA3LC45NzU0LDEuMjE0MDgsLjk3NTQsMS41OTU3OCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LC44MTM3OCwuODEzNzgsMS4yMTA3LDEuMjEwNywxLjIxMDcsLjcxNzAzLC45Nzg0NywuOTczNjMsLjg4Nzc2LC44NjQxLDEuMDIwOTYsLjc5Nzk1LC44NTEzMiwuOTE0LDEuMDYwODUsMS4xNDA2LC44MDA3LC44OTg1OCwuODM2OTMsMS4xNDg4OSwxLjA5Mzk4LC45NzQ4OSwuOTIwOTQsLjk3NDg5LC45MDM5OSwuODQwNDEsLjk1OTIzLDEuMDAxMzUsMSwxLjA2NDY3LC45ODI0MywuOTA5OTYsLjk5MzYxLDEuMTA4NSwxLjU2OTQyLDEuMTA4NSwxLjIxMDcsLjc0NjI3LC45NDI4MiwuOTY3NTIsMS4wMTUxOSwuODYzMDQsMS4wMTM1OSwuOTcyNzgsMS4xNTEwMywxLjAxMzU5LC45ODU2MSwxLjAyMjg1LDEuMDIyODUsMS4wMDUyNywxLjAyMjg1LDEuMDMwMiwuOTkwNDEsMS4wMDA4LDEuMDE1MTksMS4wMTM1OSwxLjAyMjU4LC43OTEwNCwxLjE2ODYyLC45OTA0MSwuOTc0NTQsMS4wMjUxMSwuOTkyOTgsLjk2NzUyLC45NTgwMSwuOTQ4NTYsMS4xNjU3OSwuOTQ4NTYsMS4yMTA3LC45ODI0LDEuMDM0MjQsMS4wMzQyNCwxLDEuMDM0MjQsMS4xNjU3OSwuODcyNywxLjM4NzEsMS4xODYyMiwxLjEwODE4LDEuMDQ0NzgsMS4yMTA3LDEuMTg2MjIsLjc1MTU1LC45NDk5NCwxLjI4ODI2LDEuMjE0MDgsMS4yMTQwOCwuOTEwNTYsMSwuOTE1NzIsLjk3NTQsLjY0NjYzLDEuMTgzMjgsMS4yNDg2NiwxLjA0NDc4LDEuMTQxNjksMS4xNTc0OSwxLjE3Mzg5LC43MTcwMywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTM1MDYsLjg2NDEsLjc5Nzk1LC43OTc5NSwuNzk3OTUsLjc5Nzk1LDEuMTQwNiwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjAyMDk2LDEuMDkzOTgsLjk3NDI2LC45NzQyNiwuOTc0MjYsLjk3NDI2LC45NzQyNiwxLjIxMDcsLjk3NDg5LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LDEuMDAxMzUsLjkwOTk2LC45MjA5NCwxLjAyNzk4LC45Njc1MiwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTY3NTIsLjk2NzUyLC45MzEzNiwuODYzMDQsLjk3Mjc4LC45NzI3OCwuOTcyNzgsLjk3Mjc4LDEuMDIyODUsMS4wMjI4NSwxLjAyMjg1LDEuMDIyODUsLjk3MTIyLC45OTA0MSwxLDEsMSwxLDEsMS4yODgyNiwxLjAwMDgsLjk5MDQxLC45OTA0MSwuOTkwNDEsLjk5MDQxLC45Njc1MiwxLjAxNTE5LC45Njc1MiwuOTczNjMsLjk2NzUyLC45NzM2MywuOTY3NTIsLjk3MzYzLC45Njc1MiwuODY0MSwuODYzMDQsLjg2NDEsLjg2MzA0LC44NjQxLC44NjMwNCwuODY0MSwuODYzMDQsMS4wMjA5NiwxLjAzMDU3LDEuMDIwOTYsMS4wMzUxNywuNzk3OTUsLjk3Mjc4LC43OTc5NSwuOTcyNzgsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC43OTc5NSwuOTcyNzgsLjkxNCwxLjAxMzU5LC45MTQsMS4wMTM1OSwuOTE0LDEuMDEzNTksMSwxLDEuMDYwODUsLjk4NTYxLDEuMDYwODUsMS4wMDg3OSwxLjE0MDYsMS4wMjI4NSwxLjE0MDYsMS4wMjI4NSwxLjE0MDYsMS4wMjI4NSwxLjE0MDYsMS4wMjI4NSwxLjE0MDYsMS4wMjI4NSwuOTcxMzgsMS4wODY5MiwuODAwNywxLjAyMjg1LDEsMSwxLjAwNTI3LC44MzY5MywxLjAyMjg1LDEsMSwuODM2OTMsLjk0NTUsLjgzNjkzLC45MDQxOCwuODM2OTMsMS4xMzAwNSwxLjA5Mzk4LC45OTA0MSwxLDEsMS4wOTM5OCwuOTkwNDEsLjk2NjkyLDEuMDkyNTEsLjk5MDQxLC45NzQ4OSwxLjAwMDgsLjk3NDg5LDEuMDAwOCwuOTc0ODksMS4wMDA4LC45Mzk5NCwuOTc5MzEsLjkwMzk5LDEuMDIyNTgsMSwxLC45MDM5OSwxLjAyMjU4LC44NDA0MSwuNzkxMDQsLjg0MDQxLC43OTEwNCwuODQwNDEsLjc5MTA0LC44NDA0MSwuNzkxMDQsMSwxLC45NTkyMywxLjA3MDM0LC45NTkyMywxLjE2ODYyLDEuMDAxMzUsLjk5MDQxLDEuMDAxMzUsLjk5MDQxLDEuMDAxMzUsLjk5MDQxLDEuMDAxMzUsLjk5MDQxLDEuMDAxMzUsLjk5MDQxLDEuMDAxMzUsLjk5MDQxLDEuMDY0NjcsMS4wMjUxMSwuOTA5OTYsLjk2NzUyLC45MDk5NiwuOTkzNjEsLjk1ODAxLC45OTM2MSwuOTU4MDEsLjk5MzYxLC45NTgwMSwxLjA3NzMzLDEuMDM0MjQsLjk3MzYzLC45Njc1MiwuOTM1MDYsLjkzMTM2LC45NzQ4OSwxLjAwMDgsMSwxLC45NTkyMywxLjE2ODYyLDEuMTUxMDMsMS4xNTEwMywxLjAxMTczLDEuMDM5NTksLjc1OTUzLC44MTM3OCwuNzk5MTIsMS4xNTEwMywxLjIxOTk0LC45NTE2MSwuODc4MTUsMS4wMTE0OSwuODE1MjUsLjc2NzYsLjk4MTY3LDEuMDExMzQsMS4wMjU0NiwuODQwOTcsMS4wMzA4OSwxLjE4MTAyLC45NzM2MywuODg3NzYsLjg1MTM0LC45NzgyNiwuNzk3OTUsLjk5MzYxLDEuMDYwODUsLjk3NDg5LDEuMTQwNiwuODk4NTgsMS4wMzg4LDEuMTQ4ODksMS4wOTM5OCwuODYwMzksLjk3NDg5LDEuMDU5NSwuOTIwOTQsLjk0NzkzLC45NTkyMywuOTA5OTYsLjk5MzQ2LC45ODI0MywxLjAyMTEyLC45NTQ5MywxLjE0MDYsLjkwOTk2LDEuMDM1NzQsMS4wMjU5NywxLjAwMDgsMS4xODEwMiwxLjA2NjI4LDEuMDM1NzQsMS4wMTkyLDEuMDE5MzIsMS4wMDg4NiwuOTc1MzEsMS4wMTA2LDEuMDAwOCwxLjEzMTg5LDEuMTgxMDIsMS4wMjI3NywuOTg2ODMsMS4wMDE2LC45OTU2MSwxLjA3MjM3LDEuMDAwOCwuOTA0MzQsLjk5OTIxLC45MzgwMywuODk2NSwxLjIzMDg1LDEuMDY2MjgsMS4wNDk4MywuOTYyNjgsMS4wNDk5LC45ODQzOSwxLjE4MTAyLDEuMDY2MjgsMS4wMDA4LDEuMDY2MjgsLjk4NDM5LC43OTc5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA5NDY2LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NzI3OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAyMDY1LDEsMSwxLDEsMSwxLDEuMDY0NjcsMS4wMjUxMSwxLjA2NDY3LDEuMDI1MTEsMS4wNjQ2NywxLjAyNTExLC45MDk5NiwuOTY3NTIsMSwxLjIxNDA4LC44OTkwMywxLDEsLjc1MTU1LDEuMDQzOTQsMS4wNDM5NCwxLjA0Mzk0LDEuMDQzOTQsLjk4NjMzLC45ODYzMywuOTg2MzMsLjczMDQ3LC43MzA0NywxLjIwNjQyLC45MTIxMSwxLjI1NjM1LDEuMjIyLDEuMDI5NTYsMS4wMzM3MiwxLjAzMzcyLC45NjAzOSwxLjI0NjMzLDEsMS4xMjQ1NCwuOTM1MDMsMS4wMzQyNCwxLjE5Njg3LDEuMDM0MjQsMSwxLDEsLjc3MSwxLDEsMS4xNTc0OSwxLjE1NzQ5LDEuMTU3NDksMS4xMDk0OCwuODYyNzksLjk0NDM0LC44NjI3OSwuOTQ0MzQsLjg2MTgyLDEsMSwxLjE2ODk3LDEsLjk2MDg1LC45MDEzNywxLjIxMDcsMS4xODQxNiwxLjEzOTczLC42OTgyNSwuOTcxNiwyLjEwMzM5LDEuMjkwMDQsMS4yOTAwNCwxLjIxMTcyLDEuMjkwMDQsMS4yOTAwNCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTg4NzQsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjA5MTkzLDEuMDkxOTMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHJzPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxucz1bMS43NjczOCwxLDEsLjk4OTQ2LDEuMDM5NTksMS4wNDAxNiwxLjAyODA5LDEuMDM2LC45NzYzOSwxLjEwOTUzLDEuMjMyMDMsMS4xMTE0NCwxLjExMTQ0LDEuMTY5MzksMS4yMTIzNywuOTc1NCwxLjIxMjYxLC45NzU0LDEuNTk3NTQsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsMS4wMzYsLjgxMzc4LC44MTM3OCwxLjIxMjM3LDEuMjEyMzcsMS4yMTIzNywuNzM1NDEsLjk3ODQ3LC45NzM2MywuODk3MjMsLjg3ODk3LDEuMDQyNiwuNzk0MjksLjg1MjkyLC45MTE0OSwxLjA1ODE1LDEuMTQwNiwuNzk2MzEsLjkwMTI4LC44Mzg1MywxLjA0Mzk2LDEuMTA2MTUsLjk3NTUyLC45NDQzNiwuOTc1NTIsLjg4NjQxLC44MDUyNywuOTYwODMsMS4wMDEzNSwxLDEuMDY3NzcsLjk4MTcsLjkxMTQyLC45OTM2MSwxLjExMTQ0LDEuNTcyOTMsMS4xMTE0NCwxLjIxMjM3LC43NDYyNywxLjMxODE4LDEuMDY1ODUsLjk3MDQyLC44MzA1NSwuOTcwNDIsLjkzNTAzLDEuMTI2MSwuOTcwNDIsLjk3OTIyLDEuMTQyMzYsLjk0NTUyLDEuMDEwNTQsMS4xNDIzNiwxLjAyNDcxLC45NzkyMiwuOTQxNjUsLjk3MDQyLC45NzA0MiwxLjAyNzYsLjc4OTI5LDEuMTI2MSwuOTc5MjIsLjk1ODc0LDEuMDIxOTcsLjk4NTA3LC45Njc1MiwuOTcxNjgsLjk1MTA3LDEuMTY1NzksLjk1MTA3LDEuMjEyMzcsMS4wMzk1OSwxLjAzNiwxLjAzNiwxLDEuMDM2LDEuMTY1NzksLjg3MzU3LDEuMzE4MTgsMS4xODc1NCwxLjI2NzgxLDEuMDUzNTYsMS4yMTIzNywxLjE4NjIyLC43OTQ4NywuOTQ5OTQsMS4yOTAwNCwxLjI0MDQ3LDEuMjQwNDcsMS4zMTgxOCwxLC45MTQ4NCwuOTc1NCwxLjMxODE4LDEuMTM0OSwxLjI0ODY2LDEuMDUzNTYsMS4xMzkzNCwxLjE1NTc0LDEuMTczODksLjczNTQxLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NDM4NSwuODc4OTcsLjc5NDI5LC43OTQyOSwuNzk0MjksLjc5NDI5LDEuMTQwNiwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjA0MjYsMS4xMDYxNSwuOTc1NTIsLjk3NTUyLC45NzU1MiwuOTc1NTIsLjk3NTUyLDEuMjEyMzcsLjk3NTUyLDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LDEuMDAxMzUsLjkxMTQyLC45NDQzNiwuOTg3MjEsMS4wNjU4NSwxLjA2NTg1LDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LDEuMDY1ODUsLjk2NzA1LC44MzA1NSwuOTM1MDMsLjkzNTAzLC45MzUwMywuOTM1MDMsMS4xNDIzNiwxLjE0MjM2LDEuMTQyMzYsMS4xNDIzNiwuOTMxMjUsLjk3OTIyLC45NDE2NSwuOTQxNjUsLjk0MTY1LC45NDE2NSwuOTQxNjUsMS4yOTAwNCwuOTQxNjUsLjk3OTIyLC45NzkyMiwuOTc5MjIsLjk3OTIyLC45Njc1MiwuOTcwNDIsLjk2NzUyLC45NzM2MywxLjA2NTg1LC45NzM2MywxLjA2NTg1LC45NzM2MywxLjA2NTg1LC44Nzg5NywuODMwNTUsLjg3ODk3LC44MzA1NSwuODc4OTcsLjgzMDU1LC44Nzg5NywuODMwNTUsMS4wNDI2LDEuMDAzMywxLjA0MjYsLjk3MDQyLC43OTQyOSwuOTM1MDMsLjc5NDI5LC45MzUwMywuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjc5NDI5LC45MzUwMywuOTExNDksLjk3MDQyLC45MTE0OSwuOTcwNDIsLjkxMTQ5LC45NzA0MiwxLDEsMS4wNTgxNSwuOTc5MjIsMS4wNTgxNSwuOTc5MjIsMS4xNDA2LDEuMTQyMzYsMS4xNDA2LDEuMTQyMzYsMS4xNDA2LDEuMTQyMzYsMS4xNDA2LDEuMTQyMzYsMS4xNDA2LDEuMTQyMzYsLjk3NDQxLDEuMDQzMDIsLjc5NjMxLDEuMDE1ODIsMSwxLDEuMDEwNTQsLjgzODUzLDEuMTQyMzYsMSwxLC44Mzg1MywxLjA5MTI1LC44Mzg1MywuOTA0MTgsLjgzODUzLDEuMTk1MDgsMS4xMDYxNSwuOTc5MjIsMSwxLDEuMTA2MTUsLjk3OTIyLDEuMDEwMzQsMS4xMDQ2NiwuOTc5MjIsLjk3NTUyLC45NDE2NSwuOTc1NTIsLjk0MTY1LC45NzU1MiwuOTQxNjUsLjkxNjAyLC45MTk4MSwuODg2NDEsMS4wMjc2LDEsMSwuODg2NDEsMS4wMjc2LC44MDUyNywuNzg5MjksLjgwNTI3LC43ODkyOSwuODA1MjcsLjc4OTI5LC44MDUyNywuNzg5MjksMSwxLC45NjA4MywxLjA1NDAzLC45NTkyMywxLjE2ODYyLDEuMDAxMzUsLjk3OTIyLDEuMDAxMzUsLjk3OTIyLDEuMDAxMzUsLjk3OTIyLDEuMDAxMzUsLjk3OTIyLDEuMDAxMzUsLjk3OTIyLDEuMDAxMzUsLjk3OTIyLDEuMDY3NzcsMS4wMjE5NywuOTExNDIsLjk2NzUyLC45MTE0MiwuOTkzNjEsLjk3MTY4LC45OTM2MSwuOTcxNjgsLjk5MzYxLC45NzE2OCwxLjIzMTk5LDEuMDM2LC45NzM2MywxLjA2NTg1LC45NDM4NSwuOTY3MDUsLjk3NTUyLC45NDE2NSwxLDEsLjk2MDgzLDEuMTI2MSwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwuOTUxNjEsMS4yNzEyNiwxLjAwODExLC44MzI4NCwuNzc3MDIsLjk5MTM3LC45NTI1MywxLjAzNDcsLjg2MTQyLDEuMDcyMDUsMS4xNDIzNiwuOTczNjMsLjg5NzIzLC44Njg2OSwxLjA5ODE4LC43OTQyOSwuOTkzNjEsMS4wNTgxNSwuOTc1NTIsMS4xNDA2LC45MDEyOCwxLjA2NjYyLDEuMDQzOTYsMS4xMDYxNSwuODQ5MTgsLjk3NTUyLDEuMDQ2OTQsLjk0NDM2LC45ODAxNSwuOTYwODMsLjkxMTQyLDEuMDAzNTYsLjk4MTcsMS4wMTk0NSwuOTg5OTksMS4xNDA2LC45MTE0MiwxLjA0OTYxLC45ODk4LDEuMDA2MzksMS4xNDIzNiwxLjA3NTE0LDEuMDQ5NjEsLjk5NjA3LDEuMDI4OTcsMS4wMDgsLjk4OTgsLjk1MTM0LDEuMDA2MzksMS4xMTEyMSwxLjE0MjM2LDEuMDA1MTgsLjk3OTgxLDEuMDIxODYsMSwxLjA4NTc4LC45NDE2NSwuOTkzMTQsLjk4Mzg3LC45MzAyOCwuOTMzNzcsMS4zNTEyNSwxLjA3NTE0LDEuMTA2ODcsLjkzNDkxLDEuMDQyMzIsMS4wMDM1MSwxLjE0MjM2LDEuMDc1MTQsLjk0MTY1LDEuMDc1MTQsMS4wMDM1MSwuNzk0MjksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wOTA5NywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTM1MDMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk2NjA5LDEsMSwxLDEsMSwxLDEuMDY3NzcsMS4wMjE5NywxLjA2Nzc3LDEuMDIxOTcsMS4wNjc3NywxLjAyMTk3LC45MTE0MiwuOTY3NTIsMSwxLjIxMjYxLC44OTkwMywxLDEsLjc1MTU1LDEuMDQ3NDUsMS4wNDc0NSwxLjA0NzQ1LDEuMDQzOTQsLjk4NjMzLC45ODYzMywuOTg2MzMsLjcyOTU5LC43Mjk1OSwxLjIwNTAyLC45MTQwNiwxLjI2NTE0LDEuMjIyLDEuMDI5NTYsMS4wMzM3MiwxLjAzMzcyLC45NjAzOSwxLjI0NjMzLDEsMS4wOTEyNSwuOTMzMjcsMS4wMzMzNiwxLjE2NTQxLDEuMDM2LDEsMSwxLC43NzEsMSwxLDEuMTU1NzQsMS4xNTU3NCwxLjE1NTc0LDEuMTU1NzQsLjg2MzY0LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjIyNCwxLDEsMS4xNjc5OCwxLC45NjA4NSwuOTAwNjgsMS4yMTIzNywxLjE4NDE2LDEuMTM5MDQsLjY5ODI1LC45NzE2LDIuMTAzMzksMS4yOTAwNCwxLjI5MDA0LDEuMjEzMzksMS4yOTAwNCwxLjI5MDA0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS40MjYwMywxLC45OTg2MiwuOTk4NjIsMSwuODcwMjUsLjg3MDI1LC44NzAyNSwuODcwMjUsMS4xODc3NSwxLjQyNjAzLDEsMS40MjYwMywxLjQyNjAzLC45OTg2MiwxLDEsMSwxLDEsMS4yODg2LDEuMDQzMTUsMS4xNTI5NiwxLjM0MTYzLDEsMSwxLDEuMTMyNjksMS4xMzI2OSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sZ3M9e2xpbmVIZWlnaHQ6MS4zMzAwOCxsaW5lR2FwOjB9LG9zPVsxLjc2NzM4LDEsMSwuOTg5NDYsMS4xNDc2MywxLjA1MzY1LDEuMDYyMzQsLjk2OTI3LC45MjU4NiwxLjE1MzczLDEuMTg0MTQsLjkxMzQ5LC45MTM0OSwxLjA3NDAzLDEuMTczMDgsLjc4MzgzLDEuMjAwODgsLjc4MzgzLDEuNDI1MzEsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC43ODM4MywuNzgzODMsMS4xNzMwOCwxLjE3MzA4LDEuMTczMDgsLjc3MzQ5LC45NDU2NSwuOTQ3MjksLjg1OTQ0LC44ODUwNiwuOTg1OCwuNzQ4MTcsLjgwMDE2LC44ODQ0OSwuOTgwMzksLjk1NzgyLC42OTIzOCwuODk4OTgsLjgzMjMxLC45ODE4MywxLjAzOTg5LC45NjkyNCwuODYyMzcsLjk2OTI0LC44MDU5NSwuNzQ1MjQsLjg2MDkxLC45NTQwMiwuOTQxNDMsLjk4NDQ4LC44ODU4LC44MzA4OSwuOTMyODUsMS4wOTQ5LDEuMzkwMTYsMS4wOTQ5LDEuNDU5OTQsLjc0NjI3LDEuMDQ4MzksLjk3NDU0LC45NzQ1NCwuODcyMDcsLjk3NDU0LC44NzUzMywxLjA2MTUxLC45NzQ1NCwxLjAwMTc2LDEuMTY0ODQsMS4wODEzMiwuOTgwNDcsMS4xNjQ4NCwxLjAyOTg5LDEuMDEwNTQsLjk2MjI1LC45NzQ1NCwuOTc0NTQsMS4wNjU5OCwuNzkwMDQsMS4xNjM0NCwxLjAwMzUxLC45NDYyOSwuOTk3MywuOTEwMTYsLjk2Nzc3LC45MDQzLC45MTA4MiwuOTI0ODEsLjkxMDgyLDEuMTczMDgsLjk1NzQ4LC45NjkyNywuOTY5MjcsMSwuOTY5MjcsLjkyNDgxLC44MDU5NywxLjA0ODM5LDEuMjMzOTMsMS4xNzgxLC45MjQ1LDEuMTczMDgsMS4yMDgwOCwuNjMyMTgsLjk0MjYxLDEuMjQ4MjIsMS4wOTk3MSwxLjA5OTcxLDEuMDQ4MzksMSwuODUyNzMsLjc4MDMyLDEuMDQ4MzksMS4wOTk3MSwxLjIyMzI2LC45MjQ1LDEuMDk4MzYsMS4xMzUyNSwxLjE1MjIyLC43MDQyNCwuOTQ3MjksLjk0NzI5LC45NDcyOSwuOTQ3MjksLjk0NzI5LC45NDcyOSwuODU0OTgsLjg4NTA2LC43NDgxNywuNzQ4MTcsLjc0ODE3LC43NDgxNywuOTU3ODIsLjk1NzgyLC45NTc4MiwuOTU3ODIsLjk4NTgsMS4wMzk4OSwuOTY5MjQsLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LDEuMTczMDgsLjk2OTI0LC45NTQwMiwuOTU0MDIsLjk1NDAyLC45NTQwMiwuODMwODksLjg2MjM3LC44ODQwOSwuOTc0NTQsLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjk3NDU0LC45NzQ1NCwuOTI5MTYsLjg3MjA3LC44NzUzMywuODc1MzMsLjg3NTMzLC44NzUzMywuOTMxNDYsLjkzMTQ2LC45MzE0NiwuOTMxNDYsLjkzODU0LDEuMDEwNTQsLjk2MjI1LC45NjIyNSwuOTYyMjUsLjk2MjI1LC45NjIyNSwxLjI0ODIyLC44NzYxLDEuMDAzNTEsMS4wMDM1MSwxLjAwMzUxLDEuMDAzNTEsLjk2Nzc3LC45NzQ1NCwuOTY3NzcsLjk0NzI5LC45NzQ1NCwuOTQ3MjksLjk3NDU0LC45NDcyOSwuOTc0NTQsLjg4NTA2LC44NzIwNywuODg1MDYsLjg3MjA3LC44ODUwNiwuODcyMDcsLjg4NTA2LC44NzIwNywuOTg1OCwuOTUzOTEsLjk4NTgsLjk3NDU0LC43NDgxNywuODc1MzMsLjc0ODE3LC44NzUzMywuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjc0ODE3LC44NzUzMywuODg0NDksLjk3NDU0LC44ODQ0OSwuOTc0NTQsLjg4NDQ5LC45NzQ1NCwxLDEsLjk4MDM5LDEuMDAxNzYsLjk4MDM5LDEuMDAxNzYsLjk1NzgyLC45MzE0NiwuOTU3ODIsLjkzMTQ2LC45NTc4MiwuOTMxNDYsLjk1NzgyLDEuMTY0ODQsLjk1NzgyLC45MzE0NiwuODQ0MjEsMS4xMjc2MSwuNjkyMzgsMS4wODEzMiwxLDEsLjk4MDQ3LC44MzIzMSwxLjE2NDg0LDEsMSwuODQ3MjMsMS4wNDg2MSwuODQ3MjMsLjc4NzU1LC44MzIzMSwxLjIzNzM2LDEuMDM5ODksMS4wMTA1NCwxLDEsMS4wMzk4OSwxLjAxMDU0LC45ODU3LDEuMDM4NDksMS4wMTA1NCwuOTY5MjQsLjk2MjI1LC45NjkyNCwuOTYyMjUsLjk2OTI0LC45NjIyNSwuOTIzODMsLjkwMTcxLC44MDU5NSwxLjA2NTk4LDEsMSwuODA1OTUsMS4wNjU5OCwuNzQ1MjQsLjc5MDA0LC43NDUyNCwuNzkwMDQsLjc0NTI0LC43OTAwNCwuNzQ1MjQsLjc5MDA0LDEsMSwuODYwOTEsMS4wMjc1OSwuODU3NzEsMS4xNjM0NCwuOTU0MDIsMS4wMDM1MSwuOTU0MDIsMS4wMDM1MSwuOTU0MDIsMS4wMDM1MSwuOTU0MDIsMS4wMDM1MSwuOTU0MDIsMS4wMDM1MSwuOTU0MDIsMS4wMDM1MSwuOTg0NDgsLjk5NzMsLjgzMDg5LC45Njc3NywuODMwODksLjkzMjg1LC45MDQzLC45MzI4NSwuOTA0MywuOTMyODUsLjkwNDMsMS4zMTg2OCwuOTY5MjcsLjk0NzI5LC45NzQ1NCwuODU0OTgsLjkyOTE2LC45NjkyNCwuODc2MSwxLDEsLjg2MDkxLDEuMTYzNDQsMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksLjgxOTY1LC44MTk2NSwuOTQ3MjksLjc4MDMyLC43MTAyMiwuOTA4ODMsLjg0MTcxLC45OTg3NywuNzc1OTYsMS4wNTczNCwxLjIsLjk0NzI5LC44NTk0NCwuODI3OTEsLjk2MDcsLjc0ODE3LC45MzI4NSwuOTgwMzksLjk2OTI0LC45NTc4MiwuODk4OTgsLjk4MzE2LC45ODE4MywxLjAzOTg5LC43ODYxNCwuOTY5MjQsLjk3NjQyLC44NjIzNywuODYwNzUsLjg2MDkxLC44MzA4OSwuOTAwODIsLjg4NTgsLjk3Mjk2LDEuMDEyODQsLjk1NzgyLC44MzA4OSwxLjA5NzYsMS4wNCwxLjAzMzQyLDEuMiwxLjA2NzUsMS4wOTc2LC45ODIwNSwxLjAzODA5LDEuMDUwOTcsMS4wNCwuOTUzNjQsMS4wMzM0MiwxLjA1NDAxLDEuMiwxLjAyMTQ4LDEuMDExOSwxLjA0NzI0LDEuMDEyNywxLjAyNzMyLC45NjIyNSwuODk2NSwuOTc3ODMsLjkzNTc0LC45NDgxOCwxLjMwNjc5LDEuMDY3NSwxLjExODI2LC45OTgyMSwxLjA1NTcsMS4wMzI2LDEuMiwxLjA2NzUsLjk2MjI1LDEuMDY3NSwxLjAzMjYsLjc0ODE3LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDM3NTQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg3NTMzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45ODcwNSwxLDEsMSwxLDEsMSwuOTg0NDgsLjk5NzMsLjk4NDQ4LC45OTczLC45ODQ0OCwuOTk3MywuODMwODksLjk2Nzc3LDEsMS4yMDA4OCwuODk5MDMsMSwxLC43NTE1NSwuOTQ5NDUsLjk0OTQ1LC45NDk0NSwuOTQ5NDUsMS4xMjMxNywxLjEyMzE3LDEuMTIzMTcsLjY3NjAzLC42NzYwMywxLjE1NjIxLC43MzU4NCwxLjIxMTkxLDEuMjIxMzUsMS4wNjQ4MywuOTQ4NjgsLjk0ODY4LC45NTk5NiwxLjI0NjMzLDEsMS4wNzQ5NywuODc3MDksLjk2OTI3LDEuMDE0NzMsLjk2OTI3LDEsMSwxLC43NzI5NSwxLDEsMS4wOTgzNiwxLjA5ODM2LDEuMDk4MzYsMS4wMTUyMiwuODYzMjEsLjk0NDM0LC44NjQ5LC45NDQzNCwuODYxODIsMSwxLDEuMDgzLDEsLjkxNTc4LC44NjQzOCwxLjE3MzA4LDEuMTg0MTYsMS4xNDU4OSwuNjk4MjUsLjk3NjIyLDEuOTY3OTEsMS4yNDgyMiwxLjI0ODIyLDEuMTczMDgsMS4yNDgyMiwxLjI0ODIyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS40MjYwMywxLC45OTg2MiwuOTk4NjIsMSwuODcwMjUsLjg3MDI1LC44NzAyNSwuODcwMjUsMS4xNzk4NCwxLjQyNjAzLDEsMS40MjYwMywxLjQyNjAzLC45OTg2MiwxLDEsMSwxLDEsMS4yODg2LDEuMDQzMTUsMS4xNTI5NiwxLjM0MTYzLDEsMSwxLDEuMTA3NDIsMS4xMDc0MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sSXM9e2xpbmVIZWlnaHQ6MS4zMzAwOCxsaW5lR2FwOjB9LGNzPVsxLjc2NzM4LDEsMSwuOTg1OTQsMS4wMjI4NSwxLjEwNDU0LDEuMDYyMzQsLjk2OTI3LC45MjAzNywxLjE5OTg1LDEuMjA0NiwuOTA2MTYsLjkwNjE2LDEuMDcxNTIsMS4xNzE0LC43ODAzMiwxLjIwMDg4LC43ODAzMiwxLjQwMjQ2LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuNzgwMzIsLjc4MDMyLDEuMTcxNCwxLjE3MTQsMS4xNzE0LC44MDU5NywuOTQwODQsLjk2NzA2LC44NTk0NCwuODU3MzQsLjk3MDkzLC43NTg0MiwuNzk5MzYsLjg4MTk4LC45ODMxLC45NTc4MiwuNzEzODcsLjg2OTY5LC44NDYzNiwxLjA3Nzk2LDEuMDM1ODQsLjk2OTI0LC44Mzk2OCwuOTY5MjQsLjgyODI2LC43OTY0OSwuODU3NzEsLjk1MTMyLC45MzExOSwuOTg5NjUsLjg4NDMzLC44Mjg3LC45MzM2NSwxLjA4NjEyLDEuMzYzOCwxLjA4NjEyLDEuNDU3ODYsLjc0NjI3LC44MDQ5OSwuOTE0ODQsMS4wNTcwNywuOTIzODMsMS4wNTg4MiwuOTQwMywxLjEyNjU0LDEuMDU4ODIsMS4wMTc1NiwxLjA5MDExLDEuMDkwMTEsLjk5NDE0LDEuMDkwMTEsMS4wMzQsMS4wMTc1NiwxLjA1MzU2LDEuMDU3MDcsMS4wNTg4MiwxLjA0Mzk5LC44NDg2MywxLjIxOTY4LDEuMDE3NTYsLjk1ODAxLDEuMDAwNjgsLjkxNzk3LC45Njc3NywuOTA0MywuOTAzNTEsLjkyMTA1LC45MDM1MSwxLjE3MTQsLjg1MzM3LC45NjkyNywuOTY5MjcsLjk5OTEyLC45NjkyNywuOTIxMDUsLjgwNTk3LDEuMjQzNCwxLjIwODA4LDEuMDU5MzcsLjkwOTU3LDEuMTcxNCwxLjIwODA4LC43NTE1NSwuOTQyNjEsMS4yNDY0NCwxLjA5OTcxLDEuMDk5NzEsLjg0NzUxLDEsLjg1MjczLC43ODAzMiwuNjE1ODQsMS4wNTQyNSwxLjE3OTE0LC45MDk1NywxLjA4NjY1LDEuMTE1OTMsMS4xNDE2OSwuNzMzODEsLjk2NzA2LC45NjcwNiwuOTY3MDYsLjk2NzA2LC45NjcwNiwuOTY3MDYsLjg2MDM1LC44NTczNCwuNzU4NDIsLjc1ODQyLC43NTg0MiwuNzU4NDIsLjk1NzgyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45NzA5MywxLjAzNTg0LC45NjkyNCwuOTY5MjQsLjk2OTI0LC45NjkyNCwuOTY5MjQsMS4xNzE0LC45NjkyNCwuOTUxMzIsLjk1MTMyLC45NTEzMiwuOTUxMzIsLjgyODcsLjgzOTY4LC44OTA0OSwuOTE0ODQsLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkxNDg0LC45MTQ4NCwuOTM1NzUsLjkyMzgzLC45NDAzLC45NDAzLC45NDAzLC45NDAzLC44NzE3LC44NzE3LC44NzE3LC44NzE3LDEuMDA1MjcsMS4wMTc1NiwxLjA1MzU2LDEuMDUzNTYsMS4wNTM1NiwxLjA1MzU2LDEuMDUzNTYsMS4yNDY0NCwuOTU5MjMsMS4wMTc1NiwxLjAxNzU2LDEuMDE3NTYsMS4wMTc1NiwuOTY3NzcsMS4wNTcwNywuOTY3NzcsLjk2NzA2LC45MTQ4NCwuOTY3MDYsLjkxNDg0LC45NjcwNiwuOTE0ODQsLjg1NzM0LC45MjM4MywuODU3MzQsLjkyMzgzLC44NTczNCwuOTIzODMsLjg1NzM0LC45MjM4MywuOTcwOTMsMS4wOTY5LC45NzA5MywxLjA1ODgyLC43NTg0MiwuOTQwMywuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC43NTg0MiwuOTQwMywuNzU4NDIsLjk0MDMsLjg4MTk4LDEuMDU4ODIsLjg4MTk4LDEuMDU4ODIsLjg4MTk4LDEuMDU4ODIsMSwxLC45ODMxLDEuMDE3NTYsLjk4MzEsMS4wMTc1NiwuOTU3ODIsLjg3MTcsLjk1NzgyLC44NzE3LC45NTc4MiwuODcxNywuOTU3ODIsMS4wOTAxMSwuOTU3ODIsLjg3MTcsLjg0Nzg0LDEuMTE1NTEsLjcxMzg3LDEuMDkwMTEsMSwxLC45OTQxNCwuODQ2MzYsMS4wOTAxMSwxLDEsLjg0NjM2LDEuMDUzNiwuODQ2MzYsLjk0Mjk4LC44NDYzNiwxLjIzMjk3LDEuMDM1ODQsMS4wMTc1NiwxLDEsMS4wMzU4NCwxLjAxNzU2LDEuMDAzMjMsMS4wMzQ0NCwxLjAxNzU2LC45NjkyNCwxLjA1MzU2LC45NjkyNCwxLjA1MzU2LC45NjkyNCwxLjA1MzU2LC45MzA2NiwuOTgyOTMsLjgyODI2LDEuMDQzOTksMSwxLC44MjgyNiwxLjA0Mzk5LC43OTY0OSwuODQ4NjMsLjc5NjQ5LC44NDg2MywuNzk2NDksLjg0ODYzLC43OTY0OSwuODQ4NjMsMSwxLC44NTc3MSwxLjE3MzE4LC44NTc3MSwxLjIxOTY4LC45NTEzMiwxLjAxNzU2LC45NTEzMiwxLjAxNzU2LC45NTEzMiwxLjAxNzU2LC45NTEzMiwxLjAxNzU2LC45NTEzMiwxLjAxNzU2LC45NTEzMiwxLjAxNzU2LC45ODk2NSwxLjAwMDY4LC44Mjg3LC45Njc3NywuODI4NywuOTMzNjUsLjkwNDMsLjkzMzY1LC45MDQzLC45MzM2NSwuOTA0MywxLjA4NTcxLC45NjkyNywuOTY3MDYsLjkxNDg0LC44NjAzNSwuOTM1NzUsLjk2OTI0LC45NTkyMywxLDEsLjg1NzcxLDEuMjE5NjgsMS4xMTQzNywxLjExNDM3LC45MzEwOSwuOTEyMDIsLjYwNDExLC44NDE2NCwuNTU1NzIsMS4wMTE3MywuOTczNjEsLjgxODE4LC44MTgxOCwuOTY2MzUsLjc4MDMyLC43MjcyNywuOTIzNjYsLjk4NjAxLDEuMDM0MDUsLjc3OTY4LDEuMDk3OTksMS4yLC45NjcwNiwuODU5NDQsLjg1NjM4LC45NjQ5MSwuNzU4NDIsLjkzMzY1LC45ODMxLC45NjkyNCwuOTU3ODIsLjg2OTY5LC45NDE1MiwxLjA3Nzk2LDEuMDM1ODQsLjc4NDM3LC45NjkyNCwuOTg3MTUsLjgzOTY4LC44MzQ5MSwuODU3NzEsLjgyODcsLjk0NDkyLC44ODQzMywuOTI4NywxLjAwOTgsLjk1NzgyLC44Mjg3LDEuMDYyNSwuOTgyNDgsMS4wMzQyNCwxLjIsMS4wMTA3MSwxLjA2MjUsLjk1MjQ2LDEuMDM4MDksMS4wNDkxMiwuOTgyNDgsMS4wMDIyMSwxLjAzNDI0LDEuMDU0NDMsMS4yLDEuMDQ3ODUsLjk5NjA5LDEuMDAxNjksMS4wNTE3NiwuOTkzNDYsMS4wNTM1NiwuOTA4NywxLjAzMDA0LC45NTU0MiwuOTMxMTcsMS4yMzM2MiwxLjAxMDcxLDEuMDc4MzEsMS4wMjUxMiwxLjA1MjA1LDEuMDM1MDIsMS4yLDEuMDEwNzEsMS4wNTM1NiwxLjAxMDcxLDEuMDM1MDIsLjc1ODQyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDM3MTksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk0MDMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNDAyMSwxLDEsMSwxLDEsMSwuOTg5NjUsMS4wMDA2OCwuOTg5NjUsMS4wMDA2OCwuOTg5NjUsMS4wMDA2OCwuODI4NywuOTY3NzcsMSwxLjIwMDg4LC44OTkwMywxLDEsLjc1MTU1LDEuMDMwNzcsMS4wMzA3NywxLjAzMDc3LDEuMDMwNzcsMS4xMzE5NiwxLjEzMTk2LDEuMTMxOTYsLjY3NDI4LC42NzQyOCwxLjE2MDM5LC43MzI5MSwxLjIwOTk2LDEuMjIxMzUsMS4wNjQ4MywuOTQ4NjgsLjk0ODY4LC45NTk5NiwxLjI0NjMzLDEsMS4wNzQ5NywuODc3OTYsLjk2OTI3LDEuMDE1MTgsLjk2OTI3LDEsMSwxLC43NzI5NSwxLDEsMS4xMDUzOSwxLjEwNTM5LDEuMTEzNTgsMS4wNjk2NywuODYyNzksLjk0NDM0LC44NjI3OSwuOTQ0MzQsLjg2MTgyLDEsMSwxLjA4MywxLC45MTU3OCwuODY1MDcsMS4xNzE0LDEuMTg0MTYsMS4xNDU4OSwuNjk4MjUsLjk3NjIyLDEuOTY5NywxLjI0ODIyLDEuMjQ4MjIsMS4xNzIzOCwxLjI0ODIyLDEuMjQ4MjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjQyNjAzLDEsLjk5ODYyLC45OTg2MiwxLC44NzAyNSwuODcwMjUsLjg3MDI1LC44NzAyNSwxLjE4MDgzLDEuNDI2MDMsMSwxLjQyNjAzLDEuNDI2MDMsLjk5ODYyLDEsMSwxLDEsMSwxLjI4ODYsMS4wNDMxNSwxLjE1Mjk2LDEuMzQxNjMsMSwxLDEsMS4xMDkzOCwxLjEwOTM4LDEsMSwxLDEuMDU0MjUsMS4wOTk3MSwxLjA5OTcxLDEuMDk5NzEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxDcz17bGluZUhlaWdodDoxLjMzMDA4LGxpbmVHYXA6MH0saHM9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWyJNeXJpYWRQcm8tUmVndWxhciJdPWVbIlBkZkpTLUZhbGxiYWNrLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczppcyxiYXNlV2lkdGhzOlphLGJhc2VNYXBwaW5nOlZhLG1ldHJpY3M6YXN9O2VbIk15cmlhZFByby1Cb2xkIl09ZVsiUGRmSlMtRmFsbGJhY2stQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOnphLGJhc2VXaWR0aHM6cWEsYmFzZU1hcHBpbmc6T2EsbWV0cmljczpfYX07ZVsiTXlyaWFkUHJvLUl0Il09ZVsiTXlyaWFkUHJvLUl0YWxpYyJdPWVbIlBkZkpTLUZhbGxiYWNrLUl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiLGZhY3RvcnM6ZXMsYmFzZVdpZHRoczpqYSxiYXNlTWFwcGluZzpYYSxtZXRyaWNzOnRzfTtlWyJNeXJpYWRQcm8tQm9sZEl0Il09ZVsiTXlyaWFkUHJvLUJvbGRJdGFsaWMiXT1lWyJQZGZKUy1GYWxsYmFjay1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6JGEsYmFzZVdpZHRoczpQYSxiYXNlTWFwcGluZzpXYSxtZXRyaWNzOkFzfTtlLkFyaWFsTVQ9ZS5BcmlhbD1lWyJBcmlhbC1SZWd1bGFyIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGJhc2VXaWR0aHM6WmEsYmFzZU1hcHBpbmc6VmF9O2VbIkFyaWFsLUJvbGRNVCJdPWVbIkFyaWFsLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsYmFzZVdpZHRoczpxYSxiYXNlTWFwcGluZzpPYX07ZVsiQXJpYWwtSXRhbGljTVQiXT1lWyJBcmlhbC1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixiYXNlV2lkdGhzOmphLGJhc2VNYXBwaW5nOlhhfTtlWyJBcmlhbC1Cb2xkSXRhbGljTVQiXT1lWyJBcmlhbC1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGJhc2VXaWR0aHM6UGEsYmFzZU1hcHBpbmc6V2F9O2VbIkNhbGlicmktUmVndWxhciJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixmYWN0b3JzOnhhLGJhc2VXaWR0aHM6WmEsYmFzZU1hcHBpbmc6VmEsbWV0cmljczpVYX07ZVsiQ2FsaWJyaS1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGZhY3RvcnM6RmEsYmFzZVdpZHRoczpxYSxiYXNlTWFwcGluZzpPYSxtZXRyaWNzOlNhfTtlWyJDYWxpYnJpLUl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiLGZhY3RvcnM6TmEsYmFzZVdpZHRoczpqYSxiYXNlTWFwcGluZzpYYSxtZXRyaWNzOkdhfTtlWyJDYWxpYnJpLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsZmFjdG9yczprYSxiYXNlV2lkdGhzOlBhLGJhc2VNYXBwaW5nOldhLG1ldHJpY3M6UmF9O2VbIlNlZ29ldWktUmVndWxhciJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixmYWN0b3JzOmNzLGJhc2VXaWR0aHM6WmEsYmFzZU1hcHBpbmc6VmEsbWV0cmljczpDc307ZVsiU2Vnb2V1aS1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGZhY3RvcnM6c3MsYmFzZVdpZHRoczpxYSxiYXNlTWFwcGluZzpPYSxtZXRyaWNzOnJzfTtlWyJTZWdvZXVpLUl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiLGZhY3RvcnM6b3MsYmFzZVdpZHRoczpqYSxiYXNlTWFwcGluZzpYYSxtZXRyaWNzOklzfTtlWyJTZWdvZXVpLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsZmFjdG9yczpucyxiYXNlV2lkdGhzOlBhLGJhc2VNYXBwaW5nOldhLG1ldHJpY3M6Z3N9O2VbIkhlbHZldGljYS1SZWd1bGFyIl09ZS5IZWx2ZXRpY2E9e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGZhY3RvcnM6S2EsYmFzZVdpZHRoczpaYSxiYXNlTWFwcGluZzpWYSxtZXRyaWNzOlRhfTtlWyJIZWx2ZXRpY2EtQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOk1hLGJhc2VXaWR0aHM6cWEsYmFzZU1hcHBpbmc6T2EsbWV0cmljczpMYX07ZVsiSGVsdmV0aWNhLUl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiLGZhY3RvcnM6WWEsYmFzZVdpZHRoczpqYSxiYXNlTWFwcGluZzpYYSxtZXRyaWNzOnZhfTtlWyJIZWx2ZXRpY2EtQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixmYWN0b3JzOkhhLGJhc2VXaWR0aHM6UGEsYmFzZU1hcHBpbmc6V2EsbWV0cmljczpKYX19KSk7ZnVuY3Rpb24gZ2V0WGZhRm9udE5hbWUoZSl7Y29uc3QgdD1ub3JtYWxpemVGb250TmFtZShlKTtyZXR1cm4gaHMoKVt0XX1mdW5jdGlvbiBnZXRYZmFGb250RGljdChlKXtjb25zdCB0PWZ1bmN0aW9uIGdldFhmYUZvbnRXaWR0aHMoZSl7Y29uc3QgdD1nZXRYZmFGb250TmFtZShlKTtpZighdClyZXR1cm4gbnVsbDtjb25zdHtiYXNlV2lkdGhzOmksYmFzZU1hcHBpbmc6YSxmYWN0b3JzOnN9PXQscj1zP2kubWFwKCgoZSx0KT0+ZSpzW3RdKSk6aTtsZXQgbixnPS0yO2NvbnN0IG89W107Zm9yKGNvbnN0W2UsdF1vZiBhLm1hcCgoKGUsdCk9PltlLHRdKSkuc29ydCgoKFtlXSxbdF0pPT5lLXQpKSlpZigtMSE9PWUpaWYoZT09PWcrMSl7bi5wdXNoKHJbdF0pO2crPTF9ZWxzZXtnPWU7bj1bclt0XV07by5wdXNoKGUsbil9cmV0dXJuIG99KGUpLGk9bmV3IERpY3QobnVsbCk7aS5zZXQoIkJhc2VGb250IixOYW1lLmdldChlKSk7aS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2kuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiQ0lERm9udFR5cGUyIikpO2kuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIklkZW50aXR5LUgiKSk7aS5zZXQoIkNJRFRvR0lETWFwIixOYW1lLmdldCgiSWRlbnRpdHkiKSk7aS5zZXQoIlciLHQpO2kuc2V0KCJGaXJzdENoYXIiLHRbMF0pO2kuc2V0KCJMYXN0Q2hhciIsdC5hdCgtMikrdC5hdCgtMSkubGVuZ3RoLTEpO2NvbnN0IGE9bmV3IERpY3QobnVsbCk7aS5zZXQoIkZvbnREZXNjcmlwdG9yIixhKTtjb25zdCBzPW5ldyBEaWN0KG51bGwpO3Muc2V0KCJPcmRlcmluZyIsIklkZW50aXR5Iik7cy5zZXQoIlJlZ2lzdHJ5IiwiQWRvYmUiKTtzLnNldCgiU3VwcGxlbWVudCIsMCk7aS5zZXQoIkNJRFN5c3RlbUluZm8iLHMpO3JldHVybiBpfWNsYXNzIFBvc3RTY3JpcHRQYXJzZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5sZXhlcj1lO3RoaXMub3BlcmF0b3JzPVtdO3RoaXMudG9rZW49bnVsbDt0aGlzLnByZXY9bnVsbH1uZXh0VG9rZW4oKXt0aGlzLnByZXY9dGhpcy50b2tlbjt0aGlzLnRva2VuPXRoaXMubGV4ZXIuZ2V0VG9rZW4oKX1hY2NlcHQoZSl7aWYodGhpcy50b2tlbi50eXBlPT09ZSl7dGhpcy5uZXh0VG9rZW4oKTtyZXR1cm4hMH1yZXR1cm4hMX1leHBlY3QoZSl7aWYodGhpcy5hY2NlcHQoZSkpcmV0dXJuITA7dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmV4cGVjdGVkIHN5bWJvbDogZm91bmQgJHt0aGlzLnRva2VuLnR5cGV9IGV4cGVjdGVkICR7ZX0uYCl9cGFyc2UoKXt0aGlzLm5leHRUb2tlbigpO3RoaXMuZXhwZWN0KGxzLkxCUkFDRSk7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QobHMuUkJSQUNFKTtyZXR1cm4gdGhpcy5vcGVyYXRvcnN9cGFyc2VCbG9jaygpe2Zvcig7OylpZih0aGlzLmFjY2VwdChscy5OVU1CRVIpKXRoaXMub3BlcmF0b3JzLnB1c2godGhpcy5wcmV2LnZhbHVlKTtlbHNlIGlmKHRoaXMuYWNjZXB0KGxzLk9QRVJBVE9SKSl0aGlzLm9wZXJhdG9ycy5wdXNoKHRoaXMucHJldi52YWx1ZSk7ZWxzZXtpZighdGhpcy5hY2NlcHQobHMuTEJSQUNFKSlyZXR1cm47dGhpcy5wYXJzZUNvbmRpdGlvbigpfX1wYXJzZUNvbmRpdGlvbigpe2NvbnN0IGU9dGhpcy5vcGVyYXRvcnMubGVuZ3RoO3RoaXMub3BlcmF0b3JzLnB1c2gobnVsbCxudWxsKTt0aGlzLnBhcnNlQmxvY2soKTt0aGlzLmV4cGVjdChscy5SQlJBQ0UpO2lmKHRoaXMuYWNjZXB0KGxzLklGKSl7dGhpcy5vcGVyYXRvcnNbZV09dGhpcy5vcGVyYXRvcnMubGVuZ3RoO3RoaXMub3BlcmF0b3JzW2UrMV09Imp6In1lbHNle2lmKCF0aGlzLmFjY2VwdChscy5MQlJBQ0UpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUFMgRnVuY3Rpb246IGVycm9yIHBhcnNpbmcgY29uZGl0aW9uYWwuIik7e2NvbnN0IHQ9dGhpcy5vcGVyYXRvcnMubGVuZ3RoO3RoaXMub3BlcmF0b3JzLnB1c2gobnVsbCxudWxsKTtjb25zdCBpPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLnBhcnNlQmxvY2soKTt0aGlzLmV4cGVjdChscy5SQlJBQ0UpO3RoaXMuZXhwZWN0KGxzLklGRUxTRSk7dGhpcy5vcGVyYXRvcnNbdF09dGhpcy5vcGVyYXRvcnMubGVuZ3RoO3RoaXMub3BlcmF0b3JzW3QrMV09ImoiO3RoaXMub3BlcmF0b3JzW2VdPWk7dGhpcy5vcGVyYXRvcnNbZSsxXT0ianoifX19fWNvbnN0IGxzPXtMQlJBQ0U6MCxSQlJBQ0U6MSxOVU1CRVI6MixPUEVSQVRPUjozLElGOjQsSUZFTFNFOjV9O2NsYXNzIFBvc3RTY3JpcHRUb2tlbntzdGF0aWMgZ2V0IG9wQ2FjaGUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIm9wQ2FjaGUiLE9iamVjdC5jcmVhdGUobnVsbCkpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy50eXBlPWU7dGhpcy52YWx1ZT10fXN0YXRpYyBnZXRPcGVyYXRvcihlKXtyZXR1cm4gUG9zdFNjcmlwdFRva2VuLm9wQ2FjaGVbZV18fD1uZXcgUG9zdFNjcmlwdFRva2VuKGxzLk9QRVJBVE9SLGUpfXN0YXRpYyBnZXQgTEJSQUNFKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJMQlJBQ0UiLG5ldyBQb3N0U2NyaXB0VG9rZW4obHMuTEJSQUNFLCJ7IikpfXN0YXRpYyBnZXQgUkJSQUNFKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJSQlJBQ0UiLG5ldyBQb3N0U2NyaXB0VG9rZW4obHMuUkJSQUNFLCJ9IikpfXN0YXRpYyBnZXQgSUYoKXtyZXR1cm4gc2hhZG93KHRoaXMsIklGIixuZXcgUG9zdFNjcmlwdFRva2VuKGxzLklGLCJJRiIpKX1zdGF0aWMgZ2V0IElGRUxTRSgpe3JldHVybiBzaGFkb3codGhpcywiSUZFTFNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGxzLklGRUxTRSwiSUZFTFNFIikpfX1jbGFzcyBQb3N0U2NyaXB0TGV4ZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5zdHJlYW09ZTt0aGlzLm5leHRDaGFyKCk7dGhpcy5zdHJCdWY9W119bmV4dENoYXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Q2hhcj10aGlzLnN0cmVhbS5nZXRCeXRlKCl9Z2V0VG9rZW4oKXtsZXQgZT0hMSx0PXRoaXMuY3VycmVudENoYXI7Zm9yKDs7KXtpZih0PDApcmV0dXJuIHl0O2lmKGUpMTAhPT10JiYxMyE9PXR8fChlPSExKTtlbHNlIGlmKDM3PT09dCllPSEwO2Vsc2UgaWYoIWlzV2hpdGVTcGFjZSh0KSlicmVhazt0PXRoaXMubmV4dENoYXIoKX1zd2l0Y2goMHx0KXtjYXNlIDQ4OmNhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6Y2FzZSA1NjpjYXNlIDU3OmNhc2UgNDM6Y2FzZSA0NTpjYXNlIDQ2OnJldHVybiBuZXcgUG9zdFNjcmlwdFRva2VuKGxzLk5VTUJFUix0aGlzLmdldE51bWJlcigpKTtjYXNlIDEyMzp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5MQlJBQ0U7Y2FzZSAxMjU6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBQb3N0U2NyaXB0VG9rZW4uUkJSQUNFfWNvbnN0IGk9dGhpcy5zdHJCdWY7aS5sZW5ndGg9MDtpWzBdPVN0cmluZy5mcm9tQ2hhckNvZGUodCk7Zm9yKDsodD10aGlzLm5leHRDaGFyKCkpPj0wJiYodD49NjUmJnQ8PTkwfHx0Pj05NyYmdDw9MTIyKTspaS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUodCkpO2NvbnN0IGE9aS5qb2luKCIiKTtzd2l0Y2goYS50b0xvd2VyQ2FzZSgpKXtjYXNlImlmIjpyZXR1cm4gUG9zdFNjcmlwdFRva2VuLklGO2Nhc2UiaWZlbHNlIjpyZXR1cm4gUG9zdFNjcmlwdFRva2VuLklGRUxTRTtkZWZhdWx0OnJldHVybiBQb3N0U2NyaXB0VG9rZW4uZ2V0T3BlcmF0b3IoYSl9fWdldE51bWJlcigpe2xldCBlPXRoaXMuY3VycmVudENoYXI7Y29uc3QgdD10aGlzLnN0ckJ1Zjt0Lmxlbmd0aD0wO3RbMF09U3RyaW5nLmZyb21DaGFyQ29kZShlKTtmb3IoOyhlPXRoaXMubmV4dENoYXIoKSk+PTAmJihlPj00OCYmZTw9NTd8fDQ1PT09ZXx8NDY9PT1lKTspdC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2NvbnN0IGk9cGFyc2VGbG9hdCh0LmpvaW4oIiIpKTtpZihpc05hTihpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyOiAke2l9YCk7cmV0dXJuIGl9fWNsYXNzIEJhc2VMb2NhbENhY2hle2NvbnN0cnVjdG9yKGUpe3RoaXMuX29ubHlSZWZzPSEwPT09ZT8ub25seVJlZnM7aWYoIXRoaXMuX29ubHlSZWZzKXt0aGlzLl9uYW1lUmVmTWFwPW5ldyBNYXA7dGhpcy5faW1hZ2VNYXA9bmV3IE1hcH10aGlzLl9pbWFnZUNhY2hlPW5ldyBSZWZTZXRDYWNoZX1nZXRCeU5hbWUoZSl7dGhpcy5fb25seVJlZnMmJnVucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgYGdldEJ5TmFtZWAgbWV0aG9kLiIpO2NvbnN0IHQ9dGhpcy5fbmFtZVJlZk1hcC5nZXQoZSk7cmV0dXJuIHQ/dGhpcy5nZXRCeVJlZih0KTp0aGlzLl9pbWFnZU1hcC5nZXQoZSl8fG51bGx9Z2V0QnlSZWYoZSl7cmV0dXJuIHRoaXMuX2ltYWdlQ2FjaGUuZ2V0KGUpfHxudWxsfXNldChlLHQsaSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgc2V0YCBjYWxsZWQuIil9fWNsYXNzIExvY2FsSW1hZ2VDYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle3NldChlLHQ9bnVsbCxpKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCdMb2NhbEltYWdlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgIm5hbWUiIGFyZ3VtZW50LicpO2lmKHQpe2lmKHRoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpKXJldHVybjt0aGlzLl9uYW1lUmVmTWFwLnNldChlLHQpO3RoaXMuX2ltYWdlQ2FjaGUucHV0KHQsaSl9ZWxzZSB0aGlzLl9pbWFnZU1hcC5oYXMoZSl8fHRoaXMuX2ltYWdlTWFwLnNldChlLGkpfX1jbGFzcyBMb2NhbENvbG9yU3BhY2VDYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle3NldChlPW51bGwsdD1udWxsLGkpe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmIXQpdGhyb3cgbmV3IEVycm9yKCdMb2NhbENvbG9yU3BhY2VDYWNoZS5zZXQgLSBleHBlY3RlZCAibmFtZSIgYW5kL29yICJyZWYiIGFyZ3VtZW50LicpO2lmKHQpe2lmKHRoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpKXJldHVybjtudWxsIT09ZSYmdGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxpKX19Y2xhc3MgTG9jYWxGdW5jdGlvbkNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoe29ubHlSZWZzOiEwfSl9c2V0KGU9bnVsbCx0LGkpe2lmKCF0KXRocm93IG5ldyBFcnJvcignTG9jYWxGdW5jdGlvbkNhY2hlLnNldCAtIGV4cGVjdGVkICJyZWYiIGFyZ3VtZW50LicpO3RoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpfHx0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfX1jbGFzcyBMb2NhbEdTdGF0ZUNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7c2V0KGUsdD1udWxsLGkpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsR1N0YXRlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgIm5hbWUiIGFyZ3VtZW50LicpO2lmKHQpe2lmKHRoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpKXJldHVybjt0aGlzLl9uYW1lUmVmTWFwLnNldChlLHQpO3RoaXMuX2ltYWdlQ2FjaGUucHV0KHQsaSl9ZWxzZSB0aGlzLl9pbWFnZU1hcC5oYXMoZSl8fHRoaXMuX2ltYWdlTWFwLnNldChlLGkpfX1jbGFzcyBMb2NhbFRpbGluZ1BhdHRlcm5DYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle2NvbnN0cnVjdG9yKGUpe3N1cGVyKHtvbmx5UmVmczohMH0pfXNldChlPW51bGwsdCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsVGlsaW5nUGF0dGVybkNhY2hlLnNldCAtIGV4cGVjdGVkICJyZWYiIGFyZ3VtZW50LicpO3RoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpfHx0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfX1jbGFzcyBSZWdpb25hbEltYWdlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXtzdXBlcih7b25seVJlZnM6ITB9KX1zZXQoZT1udWxsLHQsaSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdSZWdpb25hbEltYWdlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgInJlZiIgYXJndW1lbnQuJyk7dGhpcy5faW1hZ2VDYWNoZS5oYXModCl8fHRoaXMuX2ltYWdlQ2FjaGUucHV0KHQsaSl9fWNsYXNzIEdsb2JhbEltYWdlQ2FjaGV7c3RhdGljIE5VTV9QQUdFU19USFJFU0hPTEQ9MjtzdGF0aWMgTUlOX0lNQUdFU19UT19DQUNIRT0xMDtzdGF0aWMgTUFYX0JZVEVfU0laRT01ZTc7I2I9bmV3IFJlZlNldDtjb25zdHJ1Y3Rvcigpe3RoaXMuX3JlZkNhY2hlPW5ldyBSZWZTZXRDYWNoZTt0aGlzLl9pbWFnZUNhY2hlPW5ldyBSZWZTZXRDYWNoZX1nZXQjRigpe2xldCBlPTA7Zm9yKGNvbnN0IHQgb2YgdGhpcy5faW1hZ2VDYWNoZSllKz10LmJ5dGVTaXplO3JldHVybiBlfWdldCNTKCl7cmV0dXJuISh0aGlzLl9pbWFnZUNhY2hlLnNpemU8R2xvYmFsSW1hZ2VDYWNoZS5NSU5fSU1BR0VTX1RPX0NBQ0hFKSYmISh0aGlzLiNGPEdsb2JhbEltYWdlQ2FjaGUuTUFYX0JZVEVfU0laRSl9c2hvdWxkQ2FjaGUoZSx0KXtsZXQgaT10aGlzLl9yZWZDYWNoZS5nZXQoZSk7aWYoIWkpe2k9bmV3IFNldDt0aGlzLl9yZWZDYWNoZS5wdXQoZSxpKX1pLmFkZCh0KTtyZXR1cm4hKGkuc2l6ZTxHbG9iYWxJbWFnZUNhY2hlLk5VTV9QQUdFU19USFJFU0hPTEQpJiYhKCF0aGlzLl9pbWFnZUNhY2hlLmhhcyhlKSYmdGhpcy4jUyl9YWRkRGVjb2RlRmFpbGVkKGUpe3RoaXMuI2IucHV0KGUpfWhhc0RlY29kZUZhaWxlZChlKXtyZXR1cm4gdGhpcy4jYi5oYXMoZSl9YWRkQnl0ZVNpemUoZSx0KXtjb25zdCBpPXRoaXMuX2ltYWdlQ2FjaGUuZ2V0KGUpO2kmJihpLmJ5dGVTaXplfHwoaS5ieXRlU2l6ZT10KSl9Z2V0RGF0YShlLHQpe2NvbnN0IGk9dGhpcy5fcmVmQ2FjaGUuZ2V0KGUpO2lmKCFpKXJldHVybiBudWxsO2lmKGkuc2l6ZTxHbG9iYWxJbWFnZUNhY2hlLk5VTV9QQUdFU19USFJFU0hPTEQpcmV0dXJuIG51bGw7Y29uc3QgYT10aGlzLl9pbWFnZUNhY2hlLmdldChlKTtpZighYSlyZXR1cm4gbnVsbDtpLmFkZCh0KTtyZXR1cm4gYX1zZXREYXRhKGUsdCl7aWYoIXRoaXMuX3JlZkNhY2hlLmhhcyhlKSl0aHJvdyBuZXcgRXJyb3IoJ0dsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YSAtIGV4cGVjdGVkICJzaG91bGRDYWNoZSIgdG8gaGF2ZSBiZWVuIGNhbGxlZC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyhlKXx8KHRoaXMuI1M/d2FybigiR2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhIC0gY2FjaGUgbGltaXQgcmVhY2hlZC4iKTp0aGlzLl9pbWFnZUNhY2hlLnB1dChlLHQpKX1jbGVhcihlPSExKXtpZighZSl7dGhpcy4jYi5jbGVhcigpO3RoaXMuX3JlZkNhY2hlLmNsZWFyKCl9dGhpcy5faW1hZ2VDYWNoZS5jbGVhcigpfX1jbGFzcyBQREZGdW5jdGlvbkZhY3Rvcnl7Y29uc3RydWN0b3Ioe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dD0hMH0pe3RoaXMueHJlZj1lO3RoaXMuaXNFdmFsU3VwcG9ydGVkPSExIT09dH1jcmVhdGUoZSl7Y29uc3QgdD10aGlzLmdldENhY2hlZChlKTtpZih0KXJldHVybiB0O2NvbnN0IGk9UERGRnVuY3Rpb24ucGFyc2Uoe3hyZWY6dGhpcy54cmVmLGlzRXZhbFN1cHBvcnRlZDp0aGlzLmlzRXZhbFN1cHBvcnRlZCxmbjplIGluc3RhbmNlb2YgUmVmP3RoaXMueHJlZi5mZXRjaChlKTplfSk7dGhpcy5fY2FjaGUoZSxpKTtyZXR1cm4gaX1jcmVhdGVGcm9tQXJyYXkoZSl7Y29uc3QgdD10aGlzLmdldENhY2hlZChlKTtpZih0KXJldHVybiB0O2NvbnN0IGk9UERGRnVuY3Rpb24ucGFyc2VBcnJheSh7eHJlZjp0aGlzLnhyZWYsaXNFdmFsU3VwcG9ydGVkOnRoaXMuaXNFdmFsU3VwcG9ydGVkLGZuT2JqOmUgaW5zdGFuY2VvZiBSZWY/dGhpcy54cmVmLmZldGNoKGUpOmV9KTt0aGlzLl9jYWNoZShlLGkpO3JldHVybiBpfWdldENhY2hlZChlKXtsZXQgdDtlIGluc3RhbmNlb2YgUmVmP3Q9ZTplIGluc3RhbmNlb2YgRGljdD90PWUub2JqSWQ6ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJih0PWUuZGljdD8ub2JqSWQpO2lmKHQpe2NvbnN0IGU9dGhpcy5fbG9jYWxGdW5jdGlvbkNhY2hlLmdldEJ5UmVmKHQpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIG51bGx9X2NhY2hlKGUsdCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdQREZGdW5jdGlvbkZhY3RvcnkuX2NhY2hlIC0gZXhwZWN0ZWQgInBhcnNlZEZ1bmN0aW9uIiBhcmd1bWVudC4nKTtsZXQgaTtlIGluc3RhbmNlb2YgUmVmP2k9ZTplIGluc3RhbmNlb2YgRGljdD9pPWUub2JqSWQ6ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJihpPWUuZGljdD8ub2JqSWQpO2kmJnRoaXMuX2xvY2FsRnVuY3Rpb25DYWNoZS5zZXQobnVsbCxpLHQpfWdldCBfbG9jYWxGdW5jdGlvbkNhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfbG9jYWxGdW5jdGlvbkNhY2hlIixuZXcgTG9jYWxGdW5jdGlvbkNhY2hlKX19ZnVuY3Rpb24gdG9OdW1iZXJBcnJheShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9pc051bWJlckFycmF5KGUsbnVsbCk/ZTplLm1hcCgoZT0+K2UpKTpudWxsfWNsYXNzIFBERkZ1bmN0aW9ue3N0YXRpYyBnZXRTYW1wbGVBcnJheShlLHQsaSxhKXtsZXQgcyxyLG49MTtmb3Iocz0wLHI9ZS5sZW5ndGg7czxyO3MrKyluKj1lW3NdO24qPXQ7Y29uc3QgZz1uZXcgQXJyYXkobik7bGV0IG89MCxjPTA7Y29uc3QgQz0xLygyKippLTEpLGg9YS5nZXRCeXRlcygobippKzcpLzgpO2xldCBsPTA7Zm9yKHM9MDtzPG47cysrKXtmb3IoO288aTspe2M8PD04O2N8PWhbbCsrXTtvKz04fW8tPWk7Z1tzXT0oYz4+bykqQztjJj0oMTw8byktMX1yZXR1cm4gZ31zdGF0aWMgcGFyc2Uoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppfSl7Y29uc3QgYT1pLmRpY3R8fGk7c3dpdGNoKGEuZ2V0KCJGdW5jdGlvblR5cGUiKSl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnN0cnVjdFNhbXBsZWQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppLGRpY3Q6YX0pO2Nhc2UgMTpicmVhaztjYXNlIDI6cmV0dXJuIHRoaXMuY29uc3RydWN0SW50ZXJwb2xhdGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZGljdDphfSk7Y2FzZSAzOnJldHVybiB0aGlzLmNvbnN0cnVjdFN0aWNoZWQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxkaWN0OmF9KTtjYXNlIDQ6cmV0dXJuIHRoaXMuY29uc3RydWN0UG9zdFNjcmlwdCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmksZGljdDphfSl9dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGUgb2YgZnVuY3Rpb24iKX1zdGF0aWMgcGFyc2VBcnJheSh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuT2JqOml9KXtpZighQXJyYXkuaXNBcnJheShpKSlyZXR1cm4gdGhpcy5wYXJzZSh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOml9KTtjb25zdCBhPVtdO2Zvcihjb25zdCBzIG9mIGkpYS5wdXNoKHRoaXMucGFyc2Uoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjplLmZldGNoSWZSZWYocyl9KSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxpLHMpe2ZvcihsZXQgcj0wLG49YS5sZW5ndGg7cjxuO3IrKylhW3JdKGUsdCxpLHMrcil9fXN0YXRpYyBjb25zdHJ1Y3RTYW1wbGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aSxkaWN0OmF9KXtmdW5jdGlvbiB0b011bHRpQXJyYXkoZSl7Y29uc3QgdD1lLmxlbmd0aCxpPVtdO2xldCBhPTA7Zm9yKGxldCBzPTA7czx0O3MrPTIpaVthKytdPVtlW3NdLGVbcysxXV07cmV0dXJuIGl9ZnVuY3Rpb24gaW50ZXJwb2xhdGUoZSx0LGksYSxzKXtyZXR1cm4gYSsocy1hKS8oaS10KSooZS10KX1sZXQgcz10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkRvbWFpbiIpKSxyPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiUmFuZ2UiKSk7aWYoIXN8fCFyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gZG9tYWluIG9yIHJhbmdlIik7Y29uc3Qgbj1zLmxlbmd0aC8yLGc9ci5sZW5ndGgvMjtzPXRvTXVsdGlBcnJheShzKTtyPXRvTXVsdGlBcnJheShyKTtjb25zdCBvPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiU2l6ZSIpKSxjPWEuZ2V0KCJCaXRzUGVyU2FtcGxlIiksQz1hLmdldCgiT3JkZXIiKXx8MTsxIT09QyYmaW5mbygiTm8gc3VwcG9ydCBmb3IgY3ViaWMgc3BsaW5lIGludGVycG9sYXRpb246ICIrQyk7bGV0IGg9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJFbmNvZGUiKSk7aWYoaCloPXRvTXVsdGlBcnJheShoKTtlbHNle2g9W107Zm9yKGxldCBlPTA7ZTxuOysrZSloLnB1c2goWzAsb1tlXS0xXSl9bGV0IGw9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJEZWNvZGUiKSk7bD1sP3RvTXVsdGlBcnJheShsKTpyO2NvbnN0IFE9dGhpcy5nZXRTYW1wbGVBcnJheShvLGcsYyxpKTtyZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0U2FtcGxlZEZuKGUsdCxpLGEpe2NvbnN0IGM9MTw8bixDPW5ldyBGbG9hdDY0QXJyYXkoYyksRT1uZXcgVWludDMyQXJyYXkoYyk7bGV0IHUsZDtmb3IoZD0wO2Q8YztkKyspQ1tkXT0xO2xldCBmPWcscD0xO2Zvcih1PTA7dTxuOysrdSl7Y29uc3QgaT1zW3VdWzBdLGE9c1t1XVsxXTtsZXQgcj1pbnRlcnBvbGF0ZShNYXRoLm1pbihNYXRoLm1heChlW3QrdV0saSksYSksaSxhLGhbdV1bMF0saFt1XVsxXSk7Y29uc3Qgbj1vW3VdO3I9TWF0aC5taW4oTWF0aC5tYXgociwwKSxuLTEpO2NvbnN0IGc9cjxuLTE/TWF0aC5mbG9vcihyKTpyLTEsbD1nKzEtcixRPXItZyxtPWcqZix5PW0rZjtmb3IoZD0wO2Q8YztkKyspaWYoZCZwKXtDW2RdKj1RO0VbZF0rPXl9ZWxzZXtDW2RdKj1sO0VbZF0rPW19Zio9bjtwPDw9MX1mb3IoZD0wO2Q8ZzsrK2Qpe2xldCBlPTA7Zm9yKHU9MDt1PGM7dSsrKWUrPVFbRVt1XStkXSpDW3VdO2U9aW50ZXJwb2xhdGUoZSwwLDEsbFtkXVswXSxsW2RdWzFdKTtpW2ErZF09TWF0aC5taW4oTWF0aC5tYXgoZSxyW2RdWzBdKSxyW2RdWzFdKX19fXN0YXRpYyBjb25zdHJ1Y3RJbnRlcnBvbGF0ZWQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxkaWN0Oml9KXtjb25zdCBhPXRvTnVtYmVyQXJyYXkoaS5nZXRBcnJheSgiQzAiKSl8fFswXSxzPXRvTnVtYmVyQXJyYXkoaS5nZXRBcnJheSgiQzEiKSl8fFsxXSxyPWkuZ2V0KCJOIiksbj1bXTtmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDsrK2Upbi5wdXNoKHNbZV0tYVtlXSk7Y29uc3QgZz1uLmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0SW50ZXJwb2xhdGVkRm4oZSx0LGkscyl7Y29uc3Qgbz0xPT09cj9lW3RdOmVbdF0qKnI7Zm9yKGxldCBlPTA7ZTxnOysrZSlpW3MrZV09YVtlXStvKm5bZV19fXN0YXRpYyBjb25zdHJ1Y3RTdGljaGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZGljdDppfSl7Y29uc3QgYT10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkRvbWFpbiIpKTtpZighYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIGRvbWFpbiIpO2lmKDEhPT1hLmxlbmd0aC8yKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGRvbWFpbiBmb3Igc3RpY2hlZCBmdW5jdGlvbiIpO2NvbnN0IHM9W107Zm9yKGNvbnN0IGEgb2YgaS5nZXQoIkZ1bmN0aW9ucyIpKXMucHVzaCh0aGlzLnBhcnNlKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46ZS5mZXRjaElmUmVmKGEpfSkpO2NvbnN0IHI9dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJCb3VuZHMiKSksbj10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkVuY29kZSIpKSxnPW5ldyBGbG9hdDMyQXJyYXkoMSk7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdFN0aWNoZWRGbihlLHQsaSxvKXtjb25zdCBjPWZ1bmN0aW9uIGNvbnN0cnVjdFN0aWNoZWRGcm9tSVJDbGlwKGUsdCxpKXtlPmk/ZT1pOmU8dCYmKGU9dCk7cmV0dXJuIGV9KGVbdF0sYVswXSxhWzFdKSxDPXIubGVuZ3RoO2xldCBoO2ZvcihoPTA7aDxDJiYhKGM8cltoXSk7KytoKTtsZXQgbD1hWzBdO2g+MCYmKGw9cltoLTFdKTtsZXQgUT1hWzFdO2g8ci5sZW5ndGgmJihRPXJbaF0pO2NvbnN0IEU9blsyKmhdLHU9blsyKmgrMV07Z1swXT1sPT09UT9FOkUrKGMtbCkqKHUtRSkvKFEtbCk7c1toXShnLDAsaSxvKX19c3RhdGljIGNvbnN0cnVjdFBvc3RTY3JpcHQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppLGRpY3Q6YX0pe2NvbnN0IHM9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJEb21haW4iKSkscj10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIlJhbmdlIikpO2lmKCFzKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gZG9tYWluLiIpO2lmKCFyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gcmFuZ2UuIik7Y29uc3Qgbj1uZXcgUG9zdFNjcmlwdExleGVyKGkpLGc9bmV3IFBvc3RTY3JpcHRQYXJzZXIobikucGFyc2UoKTtpZih0JiZGZWF0dXJlVGVzdC5pc0V2YWxTdXBwb3J0ZWQpe2NvbnN0IGU9KG5ldyBQb3N0U2NyaXB0Q29tcGlsZXIpLmNvbXBpbGUoZyxzLHIpO2lmKGUpcmV0dXJuIG5ldyBGdW5jdGlvbigic3JjIiwic3JjT2Zmc2V0IiwiZGVzdCIsImRlc3RPZmZzZXQiLGUpfWluZm8oIlVuYWJsZSB0byBjb21waWxlIFBTIGZ1bmN0aW9uIik7Y29uc3Qgbz1yLmxlbmd0aD4+MSxjPXMubGVuZ3RoPj4xLEM9bmV3IFBvc3RTY3JpcHRFdmFsdWF0b3IoZyksaD1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBsPTgxOTI7Y29uc3QgUT1uZXcgRmxvYXQzMkFycmF5KGMpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RQb3N0U2NyaXB0Rm4oZSx0LGksYSl7bGV0IHMsbixnPSIiO2NvbnN0IEU9UTtmb3Iocz0wO3M8YztzKyspe249ZVt0K3NdO0Vbc109bjtnKz1uKyJfIn1jb25zdCB1PWhbZ107aWYodm9pZCAwIT09dSl7aS5zZXQodSxhKTtyZXR1cm59Y29uc3QgZD1uZXcgRmxvYXQzMkFycmF5KG8pLGY9Qy5leGVjdXRlKEUpLHA9Zi5sZW5ndGgtbztmb3Iocz0wO3M8bztzKyspe249ZltwK3NdO2xldCBlPXJbMipzXTtpZihuPGUpbj1lO2Vsc2V7ZT1yWzIqcysxXTtuPmUmJihuPWUpfWRbc109bn1pZihsPjApe2wtLTtoW2ddPWR9aS5zZXQoZCxhKX19fWZ1bmN0aW9uIGlzUERGRnVuY3Rpb24oZSl7bGV0IHQ7aWYoZSBpbnN0YW5jZW9mIERpY3QpdD1lO2Vsc2V7aWYoIShlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpcmV0dXJuITE7dD1lLmRpY3R9cmV0dXJuIHQuaGFzKCJGdW5jdGlvblR5cGUiKX1jbGFzcyBQb3N0U2NyaXB0U3RhY2t7c3RhdGljIE1BWF9TVEFDS19TSVpFPTEwMDtjb25zdHJ1Y3RvcihlKXt0aGlzLnN0YWNrPWU/QXJyYXkuZnJvbShlKTpbXX1wdXNoKGUpe2lmKHRoaXMuc3RhY2subGVuZ3RoPj1Qb3N0U2NyaXB0U3RhY2suTUFYX1NUQUNLX1NJWkUpdGhyb3cgbmV3IEVycm9yKCJQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIG92ZXJmbG93LiIpO3RoaXMuc3RhY2sucHVzaChlKX1wb3AoKXtpZih0aGlzLnN0YWNrLmxlbmd0aDw9MCl0aHJvdyBuZXcgRXJyb3IoIlBvc3RTY3JpcHQgZnVuY3Rpb24gc3RhY2sgdW5kZXJmbG93LiIpO3JldHVybiB0aGlzLnN0YWNrLnBvcCgpfWNvcHkoZSl7aWYodGhpcy5zdGFjay5sZW5ndGgrZT49UG9zdFNjcmlwdFN0YWNrLk1BWF9TVEFDS19TSVpFKXRocm93IG5ldyBFcnJvcigiUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayBvdmVyZmxvdy4iKTtjb25zdCB0PXRoaXMuc3RhY2s7Zm9yKGxldCBpPXQubGVuZ3RoLWUsYT1lLTE7YT49MDthLS0saSsrKXQucHVzaCh0W2ldKX1pbmRleChlKXt0aGlzLnB1c2godGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC1lLTFdKX1yb2xsKGUsdCl7Y29uc3QgaT10aGlzLnN0YWNrLGE9aS5sZW5ndGgtZSxzPWkubGVuZ3RoLTEscj1hKyh0LU1hdGguZmxvb3IodC9lKSplKTtmb3IobGV0IGU9YSx0PXM7ZTx0O2UrKyx0LS0pe2NvbnN0IGE9aVtlXTtpW2VdPWlbdF07aVt0XT1hfWZvcihsZXQgZT1hLHQ9ci0xO2U8dDtlKyssdC0tKXtjb25zdCBhPWlbZV07aVtlXT1pW3RdO2lbdF09YX1mb3IobGV0IGU9cix0PXM7ZTx0O2UrKyx0LS0pe2NvbnN0IGE9aVtlXTtpW2VdPWlbdF07aVt0XT1hfX19Y2xhc3MgUG9zdFNjcmlwdEV2YWx1YXRvcntjb25zdHJ1Y3RvcihlKXt0aGlzLm9wZXJhdG9ycz1lfWV4ZWN1dGUoZSl7Y29uc3QgdD1uZXcgUG9zdFNjcmlwdFN0YWNrKGUpO2xldCBpPTA7Y29uc3QgYT10aGlzLm9wZXJhdG9ycyxzPWEubGVuZ3RoO2xldCByLG4sZztmb3IoO2k8czspe3I9YVtpKytdO2lmKCJudW1iZXIiIT10eXBlb2Ygcilzd2l0Y2gocil7Y2FzZSJqeiI6Zz10LnBvcCgpO249dC5wb3AoKTtufHwoaT1nKTticmVhaztjYXNlImoiOm49dC5wb3AoKTtpPW47YnJlYWs7Y2FzZSJhYnMiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5hYnMobikpO2JyZWFrO2Nhc2UiYWRkIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuK2cpO2JyZWFrO2Nhc2UiYW5kIjpnPXQucG9wKCk7bj10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIG4mJiJib29sZWFuIj09dHlwZW9mIGc/dC5wdXNoKG4mJmcpOnQucHVzaChuJmcpO2JyZWFrO2Nhc2UiYXRhbiI6Zz10LnBvcCgpO249dC5wb3AoKTtuPU1hdGguYXRhbjIobixnKS9NYXRoLlBJKjE4MDtuPDAmJihuKz0zNjApO3QucHVzaChuKTticmVhaztjYXNlImJpdHNoaWZ0IjpnPXQucG9wKCk7bj10LnBvcCgpO24+MD90LnB1c2gobjw8Zyk6dC5wdXNoKG4+PmcpO2JyZWFrO2Nhc2UiY2VpbGluZyI6bj10LnBvcCgpO3QucHVzaChNYXRoLmNlaWwobikpO2JyZWFrO2Nhc2UiY29weSI6bj10LnBvcCgpO3QuY29weShuKTticmVhaztjYXNlImNvcyI6bj10LnBvcCgpO3QucHVzaChNYXRoLmNvcyhuJTM2MC8xODAqTWF0aC5QSSkpO2JyZWFrO2Nhc2UiY3ZpIjpuPTB8dC5wb3AoKTt0LnB1c2gobik7YnJlYWs7Y2FzZSJjdnIiOmJyZWFrO2Nhc2UiZGl2IjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuL2cpO2JyZWFrO2Nhc2UiZHVwIjp0LmNvcHkoMSk7YnJlYWs7Y2FzZSJlcSI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobj09PWcpO2JyZWFrO2Nhc2UiZXhjaCI6dC5yb2xsKDIsMSk7YnJlYWs7Y2FzZSJleHAiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4qKmcpO2JyZWFrO2Nhc2UiZmFsc2UiOnQucHVzaCghMSk7YnJlYWs7Y2FzZSJmbG9vciI6bj10LnBvcCgpO3QucHVzaChNYXRoLmZsb29yKG4pKTticmVhaztjYXNlImdlIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPj1nKTticmVhaztjYXNlImd0IjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPmcpO2JyZWFrO2Nhc2UiaWRpdiI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobi9nfDApO2JyZWFrO2Nhc2UiaW5kZXgiOm49dC5wb3AoKTt0LmluZGV4KG4pO2JyZWFrO2Nhc2UibGUiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG48PWcpO2JyZWFrO2Nhc2UibG4iOm49dC5wb3AoKTt0LnB1c2goTWF0aC5sb2cobikpO2JyZWFrO2Nhc2UibG9nIjpuPXQucG9wKCk7dC5wdXNoKE1hdGgubG9nMTAobikpO2JyZWFrO2Nhc2UibHQiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG48Zyk7YnJlYWs7Y2FzZSJtb2QiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4lZyk7YnJlYWs7Y2FzZSJtdWwiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4qZyk7YnJlYWs7Y2FzZSJuZSI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobiE9PWcpO2JyZWFrO2Nhc2UibmVnIjpuPXQucG9wKCk7dC5wdXNoKC1uKTticmVhaztjYXNlIm5vdCI6bj10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIG4/dC5wdXNoKCFuKTp0LnB1c2gofm4pO2JyZWFrO2Nhc2Uib3IiOmc9dC5wb3AoKTtuPXQucG9wKCk7ImJvb2xlYW4iPT10eXBlb2YgbiYmImJvb2xlYW4iPT10eXBlb2YgZz90LnB1c2gobnx8Zyk6dC5wdXNoKG58Zyk7YnJlYWs7Y2FzZSJwb3AiOnQucG9wKCk7YnJlYWs7Y2FzZSJyb2xsIjpnPXQucG9wKCk7bj10LnBvcCgpO3Qucm9sbChuLGcpO2JyZWFrO2Nhc2Uicm91bmQiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5yb3VuZChuKSk7YnJlYWs7Y2FzZSJzaW4iOm49dC5wb3AoKTt0LnB1c2goTWF0aC5zaW4obiUzNjAvMTgwKk1hdGguUEkpKTticmVhaztjYXNlInNxcnQiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5zcXJ0KG4pKTticmVhaztjYXNlInN1YiI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobi1nKTticmVhaztjYXNlInRydWUiOnQucHVzaCghMCk7YnJlYWs7Y2FzZSJ0cnVuY2F0ZSI6bj10LnBvcCgpO249bjwwP01hdGguY2VpbChuKTpNYXRoLmZsb29yKG4pO3QucHVzaChuKTticmVhaztjYXNlInhvciI6Zz10LnBvcCgpO249dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBuJiYiYm9vbGVhbiI9PXR5cGVvZiBnP3QucHVzaChuIT09Zyk6dC5wdXNoKG5eZyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gb3BlcmF0b3IgJHtyfWApfWVsc2UgdC5wdXNoKHIpfXJldHVybiB0LnN0YWNrfX1jbGFzcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT1lfXZpc2l0KGUpe3VucmVhY2hhYmxlKCJhYnN0cmFjdCBtZXRob2QiKX19Y2xhc3MgQXN0QXJndW1lbnQgZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiYXJncyIpO3RoaXMuaW5kZXg9ZTt0aGlzLm1pbj10O3RoaXMubWF4PWl9dmlzaXQoZSl7ZS52aXNpdEFyZ3VtZW50KHRoaXMpfX1jbGFzcyBBc3RMaXRlcmFsIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigibGl0ZXJhbCIpO3RoaXMubnVtYmVyPWU7dGhpcy5taW49ZTt0aGlzLm1heD1lfXZpc2l0KGUpe2UudmlzaXRMaXRlcmFsKHRoaXMpfX1jbGFzcyBBc3RCaW5hcnlPcGVyYXRpb24gZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCxpLGEscyl7c3VwZXIoImJpbmFyeSIpO3RoaXMub3A9ZTt0aGlzLmFyZzE9dDt0aGlzLmFyZzI9aTt0aGlzLm1pbj1hO3RoaXMubWF4PXN9dmlzaXQoZSl7ZS52aXNpdEJpbmFyeU9wZXJhdGlvbih0aGlzKX19Y2xhc3MgQXN0TWluIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJtYXgiKTt0aGlzLmFyZz1lO3RoaXMubWluPWUubWluO3RoaXMubWF4PXR9dmlzaXQoZSl7ZS52aXNpdE1pbih0aGlzKX19Y2xhc3MgQXN0VmFyaWFibGUgZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigidmFyIik7dGhpcy5pbmRleD1lO3RoaXMubWluPXQ7dGhpcy5tYXg9aX12aXNpdChlKXtlLnZpc2l0VmFyaWFibGUodGhpcyl9fWNsYXNzIEFzdFZhcmlhYmxlRGVmaW5pdGlvbiBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigiZGVmaW5pdGlvbiIpO3RoaXMudmFyaWFibGU9ZTt0aGlzLmFyZz10fXZpc2l0KGUpe2UudmlzaXRWYXJpYWJsZURlZmluaXRpb24odGhpcyl9fWNsYXNzIEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcntjb25zdHJ1Y3Rvcigpe3RoaXMucGFydHM9W119dmlzaXRBcmd1bWVudChlKXt0aGlzLnBhcnRzLnB1c2goIk1hdGgubWF4KCIsZS5taW4sIiwgTWF0aC5taW4oIixlLm1heCwiLCBzcmNbc3JjT2Zmc2V0ICsgIixlLmluZGV4LCJdKSkiKX12aXNpdFZhcmlhYmxlKGUpe3RoaXMucGFydHMucHVzaCgidiIsZS5pbmRleCl9dmlzaXRMaXRlcmFsKGUpe3RoaXMucGFydHMucHVzaChlLm51bWJlcil9dmlzaXRCaW5hcnlPcGVyYXRpb24oZSl7dGhpcy5wYXJ0cy5wdXNoKCIoIik7ZS5hcmcxLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiICIsZS5vcCwiICIpO2UuYXJnMi52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIikiKX12aXNpdFZhcmlhYmxlRGVmaW5pdGlvbihlKXt0aGlzLnBhcnRzLnB1c2goInZhciAiKTtlLnZhcmlhYmxlLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiID0gIik7ZS5hcmcudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCI7Iil9dmlzaXRNaW4oZSl7dGhpcy5wYXJ0cy5wdXNoKCJNYXRoLm1pbigiKTtlLmFyZy52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIiwgIixlLm1heCwiKSIpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucGFydHMuam9pbigiIil9fWZ1bmN0aW9uIGJ1aWxkQWRkT3BlcmF0aW9uKGUsdCl7cmV0dXJuImxpdGVyYWwiPT09dC50eXBlJiYwPT09dC5udW1iZXI/ZToibGl0ZXJhbCI9PT1lLnR5cGUmJjA9PT1lLm51bWJlcj90OiJsaXRlcmFsIj09PXQudHlwZSYmImxpdGVyYWwiPT09ZS50eXBlP25ldyBBc3RMaXRlcmFsKGUubnVtYmVyK3QubnVtYmVyKTpuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCIrIixlLHQsZS5taW4rdC5taW4sZS5tYXgrdC5tYXgpfWZ1bmN0aW9uIGJ1aWxkTXVsT3BlcmF0aW9uKGUsdCl7aWYoImxpdGVyYWwiPT09dC50eXBlKXtpZigwPT09dC5udW1iZXIpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKDApO2lmKDE9PT10Lm51bWJlcilyZXR1cm4gZTtpZigibGl0ZXJhbCI9PT1lLnR5cGUpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKGUubnVtYmVyKnQubnVtYmVyKX1pZigibGl0ZXJhbCI9PT1lLnR5cGUpe2lmKDA9PT1lLm51bWJlcilyZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7aWYoMT09PWUubnVtYmVyKXJldHVybiB0fWNvbnN0IGk9TWF0aC5taW4oZS5taW4qdC5taW4sZS5taW4qdC5tYXgsZS5tYXgqdC5taW4sZS5tYXgqdC5tYXgpLGE9TWF0aC5tYXgoZS5taW4qdC5taW4sZS5taW4qdC5tYXgsZS5tYXgqdC5taW4sZS5tYXgqdC5tYXgpO3JldHVybiBuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCIqIixlLHQsaSxhKX1mdW5jdGlvbiBidWlsZFN1Yk9wZXJhdGlvbihlLHQpe2lmKCJsaXRlcmFsIj09PXQudHlwZSl7aWYoMD09PXQubnVtYmVyKXJldHVybiBlO2lmKCJsaXRlcmFsIj09PWUudHlwZSlyZXR1cm4gbmV3IEFzdExpdGVyYWwoZS5udW1iZXItdC5udW1iZXIpfXJldHVybiJiaW5hcnkiPT09dC50eXBlJiYiLSI9PT10Lm9wJiYibGl0ZXJhbCI9PT1lLnR5cGUmJjE9PT1lLm51bWJlciYmImxpdGVyYWwiPT09dC5hcmcxLnR5cGUmJjE9PT10LmFyZzEubnVtYmVyP3QuYXJnMjpuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCItIixlLHQsZS5taW4tdC5tYXgsZS5tYXgtdC5taW4pfWZ1bmN0aW9uIGJ1aWxkTWluT3BlcmF0aW9uKGUsdCl7cmV0dXJuIGUubWluPj10P25ldyBBc3RMaXRlcmFsKHQpOmUubWF4PD10P2U6bmV3IEFzdE1pbihlLHQpfWNsYXNzIFBvc3RTY3JpcHRDb21waWxlcntjb21waWxlKGUsdCxpKXtjb25zdCBhPVtdLHM9W10scj10Lmxlbmd0aD4+MSxuPWkubGVuZ3RoPj4xO2xldCBnLG8sYyxDLGgsbCxRLEUsdT0wO2ZvcihsZXQgZT0wO2U8cjtlKyspYS5wdXNoKG5ldyBBc3RBcmd1bWVudChlLHRbMiplXSx0WzIqZSsxXSkpO2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrKyl7RT1lW3RdO2lmKCJudW1iZXIiIT10eXBlb2YgRSlzd2l0Y2goRSl7Y2FzZSJhZGQiOmlmKGEubGVuZ3RoPDIpcmV0dXJuIG51bGw7Qz1hLnBvcCgpO2M9YS5wb3AoKTthLnB1c2goYnVpbGRBZGRPcGVyYXRpb24oYyxDKSk7YnJlYWs7Y2FzZSJjdnIiOmlmKGEubGVuZ3RoPDEpcmV0dXJuIG51bGw7YnJlYWs7Y2FzZSJtdWwiOmlmKGEubGVuZ3RoPDIpcmV0dXJuIG51bGw7Qz1hLnBvcCgpO2M9YS5wb3AoKTthLnB1c2goYnVpbGRNdWxPcGVyYXRpb24oYyxDKSk7YnJlYWs7Y2FzZSJzdWIiOmlmKGEubGVuZ3RoPDIpcmV0dXJuIG51bGw7Qz1hLnBvcCgpO2M9YS5wb3AoKTthLnB1c2goYnVpbGRTdWJPcGVyYXRpb24oYyxDKSk7YnJlYWs7Y2FzZSJleGNoIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO2g9YS5wb3AoKTtsPWEucG9wKCk7YS5wdXNoKGgsbCk7YnJlYWs7Y2FzZSJwb3AiOmlmKGEubGVuZ3RoPDEpcmV0dXJuIG51bGw7YS5wb3AoKTticmVhaztjYXNlImluZGV4IjppZihhLmxlbmd0aDwxKXJldHVybiBudWxsO2M9YS5wb3AoKTtpZigibGl0ZXJhbCIhPT1jLnR5cGUpcmV0dXJuIG51bGw7Zz1jLm51bWJlcjtpZihnPDB8fCFOdW1iZXIuaXNJbnRlZ2VyKGcpfHxhLmxlbmd0aDxnKXJldHVybiBudWxsO2g9YVthLmxlbmd0aC1nLTFdO2lmKCJsaXRlcmFsIj09PWgudHlwZXx8InZhciI9PT1oLnR5cGUpe2EucHVzaChoKTticmVha31RPW5ldyBBc3RWYXJpYWJsZSh1KyssaC5taW4saC5tYXgpO2FbYS5sZW5ndGgtZy0xXT1RO2EucHVzaChRKTtzLnB1c2gobmV3IEFzdFZhcmlhYmxlRGVmaW5pdGlvbihRLGgpKTticmVhaztjYXNlImR1cCI6aWYoYS5sZW5ndGg8MSlyZXR1cm4gbnVsbDtpZigibnVtYmVyIj09dHlwZW9mIGVbdCsxXSYmImd0Ij09PWVbdCsyXSYmZVt0KzNdPT09dCs3JiYianoiPT09ZVt0KzRdJiYicG9wIj09PWVbdCs1XSYmZVt0KzZdPT09ZVt0KzFdKXtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkTWluT3BlcmF0aW9uKGMsZVt0KzFdKSk7dCs9NjticmVha31oPWEuYXQoLTEpO2lmKCJsaXRlcmFsIj09PWgudHlwZXx8InZhciI9PT1oLnR5cGUpe2EucHVzaChoKTticmVha31RPW5ldyBBc3RWYXJpYWJsZSh1KyssaC5taW4saC5tYXgpO2FbYS5sZW5ndGgtMV09UTthLnB1c2goUSk7cy5wdXNoKG5ldyBBc3RWYXJpYWJsZURlZmluaXRpb24oUSxoKSk7YnJlYWs7Y2FzZSJyb2xsIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7aWYoImxpdGVyYWwiIT09Qy50eXBlfHwibGl0ZXJhbCIhPT1jLnR5cGUpcmV0dXJuIG51bGw7bz1DLm51bWJlcjtnPWMubnVtYmVyO2lmKGc8PTB8fCFOdW1iZXIuaXNJbnRlZ2VyKGcpfHwhTnVtYmVyLmlzSW50ZWdlcihvKXx8YS5sZW5ndGg8ZylyZXR1cm4gbnVsbDtvPShvJWcrZyklZztpZigwPT09bylicmVhazthLnB1c2goLi4uYS5zcGxpY2UoYS5sZW5ndGgtZyxnLW8pKTticmVhaztkZWZhdWx0OnJldHVybiBudWxsfWVsc2UgYS5wdXNoKG5ldyBBc3RMaXRlcmFsKEUpKX1pZihhLmxlbmd0aCE9PW4pcmV0dXJuIG51bGw7Y29uc3QgZD1bXTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCB0PW5ldyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3I7ZS52aXNpdCh0KTtkLnB1c2godC50b1N0cmluZygpKX1mb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9YVtlXSxzPW5ldyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3I7dC52aXNpdChzKTtjb25zdCByPWlbMiplXSxuPWlbMiplKzFdLGc9W3MudG9TdHJpbmcoKV07aWYocj50Lm1pbil7Zy51bnNoaWZ0KCJNYXRoLm1heCgiLHIsIiwgIik7Zy5wdXNoKCIpIil9aWYobjx0Lm1heCl7Zy51bnNoaWZ0KCJNYXRoLm1pbigiLG4sIiwgIik7Zy5wdXNoKCIpIil9Zy51bnNoaWZ0KCJkZXN0W2Rlc3RPZmZzZXQgKyAiLGUsIl0gPSAiKTtnLnB1c2goIjsiKTtkLnB1c2goZy5qb2luKCIiKSl9cmV0dXJuIGQuam9pbigiXG4iKX19Y29uc3QgQnM9WyJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJTIiwiQiIsIlMiLCJXUyIsIkIiLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQiIsIkIiLCJCIiwiUyIsIldTIiwiT04iLCJPTiIsIkVUIiwiRVQiLCJFVCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJFUyIsIkNTIiwiRVMiLCJDUyIsIkNTIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJDUyIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJPTiIsIk9OIiwiT04iLCJPTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkIiLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQ1MiLCJPTiIsIkVUIiwiRVQiLCJFVCIsIkVUIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiT04iLCJPTiIsIkJOIiwiT04iLCJPTiIsIkVUIiwiRVQiLCJFTiIsIkVOIiwiT04iLCJMIiwiT04iLCJPTiIsIk9OIiwiRU4iLCJMIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCJdLFFzPVsiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiT04iLCJPTiIsIkFMIiwiRVQiLCJFVCIsIkFMIiwiQ1MiLCJBTCIsIk9OIiwiT04iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTCIsIkFMIiwiIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJFVCIsIkFOIiwiQU4iLCJBTCIsIkFMIiwiQUwiLCJOU00iLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQU4iLCJPTiIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFMIiwiQUwiLCJOU00iLCJOU00iLCJPTiIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFMIiwiQUwiLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCJdO2Z1bmN0aW9uIGlzT2RkKGUpe3JldHVybiAwIT0oMSZlKX1mdW5jdGlvbiBpc0V2ZW4oZSl7cmV0dXJuIDA9PSgxJmUpfWZ1bmN0aW9uIGZpbmRVbmVxdWFsKGUsdCxpKXtsZXQgYSxzO2ZvcihhPXQscz1lLmxlbmd0aDthPHM7KythKWlmKGVbYV0hPT1pKXJldHVybiBhO3JldHVybiBhfWZ1bmN0aW9uIHNldFZhbHVlcyhlLHQsaSxhKXtmb3IobGV0IHM9dDtzPGk7KytzKWVbc109YX1mdW5jdGlvbiByZXZlcnNlVmFsdWVzKGUsdCxpKXtmb3IobGV0IGE9dCxzPWktMTthPHM7KythLC0tcyl7Y29uc3QgdD1lW2FdO2VbYV09ZVtzXTtlW3NdPXR9fWZ1bmN0aW9uIGNyZWF0ZUJpZGlUZXh0KGUsdCxpPSExKXtsZXQgYT0ibHRyIjtpP2E9InR0YiI6dHx8KGE9InJ0bCIpO3JldHVybntzdHI6ZSxkaXI6YX19Y29uc3QgRXM9W10sdXM9W107ZnVuY3Rpb24gYmlkaShlLHQ9LTEsaT0hMSl7bGV0IGE9ITA7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09c3x8aSlyZXR1cm4gY3JlYXRlQmlkaVRleHQoZSxhLGkpO0VzLmxlbmd0aD1zO3VzLmxlbmd0aD1zO2xldCByLG4sZz0wO2ZvcihyPTA7cjxzOysrcil7RXNbcl09ZS5jaGFyQXQocik7Y29uc3QgdD1lLmNoYXJDb2RlQXQocik7bGV0IGk9IkwiO2lmKHQ8PTI1NSlpPUJzW3RdO2Vsc2UgaWYoMTQyNDw9dCYmdDw9MTUyNClpPSJSIjtlbHNlIGlmKDE1MzY8PXQmJnQ8PTE3OTEpe2k9UXNbMjU1JnRdO2l8fHdhcm4oIkJpZGk6IGludmFsaWQgVW5pY29kZSBjaGFyYWN0ZXIgIit0LnRvU3RyaW5nKDE2KSl9ZWxzZSgxNzkyPD10JiZ0PD0yMjIwfHw2NDMzNjw9dCYmdDw9NjUwMjN8fDY1MTM2PD10JiZ0PD02NTI3OSkmJihpPSJBTCIpOyJSIiE9PWkmJiJBTCIhPT1pJiYiQU4iIT09aXx8ZysrO3VzW3JdPWl9aWYoMD09PWcpe2E9ITA7cmV0dXJuIGNyZWF0ZUJpZGlUZXh0KGUsYSl9aWYoLTE9PT10KWlmKGcvczwuMyYmcz40KXthPSEwO3Q9MH1lbHNle2E9ITE7dD0xfWNvbnN0IG89W107Zm9yKHI9MDtyPHM7KytyKW9bcl09dDtjb25zdCBjPWlzT2RkKHQpPyJSIjoiTCIsQz1jLGg9QztsZXQgbCxRPUM7Zm9yKHI9MDtyPHM7KytyKSJOU00iPT09dXNbcl0/dXNbcl09UTpRPXVzW3JdO1E9Qztmb3Iocj0wO3I8czsrK3Ipe2w9dXNbcl07IkVOIj09PWw/dXNbcl09IkFMIj09PVE/IkFOIjoiRU4iOiJSIiE9PWwmJiJMIiE9PWwmJiJBTCIhPT1sfHwoUT1sKX1mb3Iocj0wO3I8czsrK3Ipe2w9dXNbcl07IkFMIj09PWwmJih1c1tyXT0iUiIpfWZvcihyPTE7cjxzLTE7KytyKXsiRVMiPT09dXNbcl0mJiJFTiI9PT11c1tyLTFdJiYiRU4iPT09dXNbcisxXSYmKHVzW3JdPSJFTiIpOyJDUyIhPT11c1tyXXx8IkVOIiE9PXVzW3ItMV0mJiJBTiIhPT11c1tyLTFdfHx1c1tyKzFdIT09dXNbci0xXXx8KHVzW3JdPXVzW3ItMV0pfWZvcihyPTA7cjxzOysrcilpZigiRU4iPT09dXNbcl0pe2ZvcihsZXQgZT1yLTE7ZT49MCYmIkVUIj09PXVzW2VdOy0tZSl1c1tlXT0iRU4iO2ZvcihsZXQgZT1yKzE7ZTxzJiYiRVQiPT09dXNbZV07KytlKXVzW2VdPSJFTiJ9Zm9yKHI9MDtyPHM7KytyKXtsPXVzW3JdOyJXUyIhPT1sJiYiRVMiIT09bCYmIkVUIiE9PWwmJiJDUyIhPT1sfHwodXNbcl09Ik9OIil9UT1DO2ZvcihyPTA7cjxzOysrcil7bD11c1tyXTsiRU4iPT09bD91c1tyXT0iTCI9PT1RPyJMIjoiRU4iOiJSIiE9PWwmJiJMIiE9PWx8fChRPWwpfWZvcihyPTA7cjxzOysrcilpZigiT04iPT09dXNbcl0pe2NvbnN0IGU9ZmluZFVuZXF1YWwodXMscisxLCJPTiIpO2xldCB0PUM7cj4wJiYodD11c1tyLTFdKTtsZXQgaT1oO2UrMTxzJiYoaT11c1tlKzFdKTsiTCIhPT10JiYodD0iUiIpOyJMIiE9PWkmJihpPSJSIik7dD09PWkmJnNldFZhbHVlcyh1cyxyLGUsdCk7cj1lLTF9Zm9yKHI9MDtyPHM7KytyKSJPTiI9PT11c1tyXSYmKHVzW3JdPWMpO2ZvcihyPTA7cjxzOysrcil7bD11c1tyXTtpc0V2ZW4ob1tyXSk/IlIiPT09bD9vW3JdKz0xOiJBTiIhPT1sJiYiRU4iIT09bHx8KG9bcl0rPTIpOiJMIiE9PWwmJiJBTiIhPT1sJiYiRU4iIT09bHx8KG9bcl0rPTEpfWxldCBFLHU9LTEsZD05OTtmb3Iocj0wLG49by5sZW5ndGg7cjxuOysrcil7RT1vW3JdO3U8RSYmKHU9RSk7ZD5FJiZpc09kZChFKSYmKGQ9RSl9Zm9yKEU9dTtFPj1kOy0tRSl7bGV0IGU9LTE7Zm9yKHI9MCxuPW8ubGVuZ3RoO3I8bjsrK3IpaWYob1tyXTxFKXtpZihlPj0wKXtyZXZlcnNlVmFsdWVzKEVzLGUscik7ZT0tMX19ZWxzZSBlPDAmJihlPXIpO2U+PTAmJnJldmVyc2VWYWx1ZXMoRXMsZSxvLmxlbmd0aCl9Zm9yKHI9MCxuPUVzLmxlbmd0aDtyPG47KytyKXtjb25zdCBlPUVzW3JdOyI8IiE9PWUmJiI+IiE9PWV8fChFc1tyXT0iIil9cmV0dXJuIGNyZWF0ZUJpZGlUZXh0KEVzLmpvaW4oIiIpLGEpfWNvbnN0IGRzPXtzdHlsZToibm9ybWFsIix3ZWlnaHQ6Im5vcm1hbCJ9LGZzPXtzdHlsZToibm9ybWFsIix3ZWlnaHQ6ImJvbGQifSxwcz17c3R5bGU6Iml0YWxpYyIsd2VpZ2h0OiJub3JtYWwifSxtcz17c3R5bGU6Iml0YWxpYyIsd2VpZ2h0OiJib2xkIn0seXM9bmV3IE1hcChbWyJUaW1lcy1Sb21hbiIse2xvY2FsOlsiVGltZXMgTmV3IFJvbWFuIiwiVGltZXMtUm9tYW4iLCJUaW1lcyIsIkxpYmVyYXRpb24gU2VyaWYiLCJOaW1idXMgUm9tYW4iLCJOaW1idXMgUm9tYW4gTCIsIlRpbm9zIiwiVGhvcm5kYWxlIiwiVGVYIEd5cmUgVGVybWVzIiwiRnJlZVNlcmlmIiwiTGludXggTGliZXJ0aW5lIE8iLCJMaWJlcnRpbnVzIFNlcmlmIiwiRGVqYVZ1IFNlcmlmIiwiQml0c3RyZWFtIFZlcmEgU2VyaWYiLCJVYnVudHUiXSxzdHlsZTpkcyx1bHRpbWF0ZToic2VyaWYifV0sWyJUaW1lcy1Cb2xkIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTpmcyx1bHRpbWF0ZToic2VyaWYifV0sWyJUaW1lcy1JdGFsaWMiLHthbGlhczoiVGltZXMtUm9tYW4iLHN0eWxlOnBzLHVsdGltYXRlOiJzZXJpZiJ9XSxbIlRpbWVzLUJvbGRJdGFsaWMiLHthbGlhczoiVGltZXMtUm9tYW4iLHN0eWxlOm1zLHVsdGltYXRlOiJzZXJpZiJ9XSxbIkhlbHZldGljYSIse2xvY2FsOlsiSGVsdmV0aWNhIiwiSGVsdmV0aWNhIE5ldWUiLCJBcmlhbCIsIkFyaWFsIE5vdmEiLCJMaWJlcmF0aW9uIFNhbnMiLCJBcmltbyIsIk5pbWJ1cyBTYW5zIiwiTmltYnVzIFNhbnMgTCIsIkEwMzAiLCJUZVggR3lyZSBIZXJvcyIsIkZyZWVTYW5zIiwiRGVqYVZ1IFNhbnMiLCJBbGJhbnkiLCJCaXRzdHJlYW0gVmVyYSBTYW5zIiwiQXJpYWwgVW5pY29kZSBNUyIsIk1pY3Jvc29mdCBTYW5zIFNlcmlmIiwiQXBwbGUgU3ltYm9scyIsIkNhbnRhcmVsbCJdLHBhdGg6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIudHRmIixzdHlsZTpkcyx1bHRpbWF0ZToic2Fucy1zZXJpZiJ9XSxbIkhlbHZldGljYS1Cb2xkIix7YWxpYXM6IkhlbHZldGljYSIscGF0aDoiTGliZXJhdGlvblNhbnMtQm9sZC50dGYiLHN0eWxlOmZzLHVsdGltYXRlOiJzYW5zLXNlcmlmIn1dLFsiSGVsdmV0aWNhLU9ibGlxdWUiLHthbGlhczoiSGVsdmV0aWNhIixwYXRoOiJMaWJlcmF0aW9uU2Fucy1JdGFsaWMudHRmIixzdHlsZTpwcyx1bHRpbWF0ZToic2Fucy1zZXJpZiJ9XSxbIkhlbHZldGljYS1Cb2xkT2JsaXF1ZSIse2FsaWFzOiJIZWx2ZXRpY2EiLHBhdGg6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMudHRmIixzdHlsZTptcyx1bHRpbWF0ZToic2Fucy1zZXJpZiJ9XSxbIkNvdXJpZXIiLHtsb2NhbDpbIkNvdXJpZXIiLCJDb3VyaWVyIE5ldyIsIkxpYmVyYXRpb24gTW9ubyIsIk5pbWJ1cyBNb25vIiwiTmltYnVzIE1vbm8gTCIsIkNvdXNpbmUiLCJDdW1iZXJsYW5kIiwiVGVYIEd5cmUgQ3Vyc29yIiwiRnJlZU1vbm8iLCJMaW51eCBMaWJlcnRpbmUgTW9ubyBPIiwiTGliZXJ0aW51cyBNb25vIl0sc3R5bGU6ZHMsdWx0aW1hdGU6Im1vbm9zcGFjZSJ9XSxbIkNvdXJpZXItQm9sZCIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTpmcyx1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQ291cmllci1PYmxpcXVlIix7YWxpYXM6IkNvdXJpZXIiLHN0eWxlOnBzLHVsdGltYXRlOiJtb25vc3BhY2UifV0sWyJDb3VyaWVyLUJvbGRPYmxpcXVlIix7YWxpYXM6IkNvdXJpZXIiLHN0eWxlOm1zLHVsdGltYXRlOiJtb25vc3BhY2UifV0sWyJBcmlhbEJsYWNrIix7bG9jYWw6WyJBcmlhbCBCbGFjayJdLHN0eWxlOntzdHlsZToibm9ybWFsIix3ZWlnaHQ6IjkwMCJ9LGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZCJ9XSxbIkFyaWFsQmxhY2stQm9sZCIse2FsaWFzOiJBcmlhbEJsYWNrIn1dLFsiQXJpYWxCbGFjay1JdGFsaWMiLHthbGlhczoiQXJpYWxCbGFjayIsc3R5bGU6e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoiOTAwIn0sZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJ9XSxbIkFyaWFsQmxhY2stQm9sZEl0YWxpYyIse2FsaWFzOiJBcmlhbEJsYWNrLUl0YWxpYyJ9XSxbIkFyaWFsTmFycm93Iix7bG9jYWw6WyJBcmlhbCBOYXJyb3ciLCJMaWJlcmF0aW9uIFNhbnMgTmFycm93IiwiSGVsdmV0aWNhIENvbmRlbnNlZCIsIk5pbWJ1cyBTYW5zIE5hcnJvdyIsIlRlWCBHeXJlIEhlcm9zIENuIl0sc3R5bGU6ZHMsZmFsbGJhY2s6IkhlbHZldGljYSJ9XSxbIkFyaWFsTmFycm93LUJvbGQiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOmZzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZCJ9XSxbIkFyaWFsTmFycm93LUl0YWxpYyIse2FsaWFzOiJBcmlhbE5hcnJvdyIsc3R5bGU6cHMsZmFsbGJhY2s6IkhlbHZldGljYS1PYmxpcXVlIn1dLFsiQXJpYWxOYXJyb3ctQm9sZEl0YWxpYyIse2FsaWFzOiJBcmlhbE5hcnJvdyIsc3R5bGU6bXMsZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJ9XSxbIkNhbGlicmkiLHtsb2NhbDpbIkNhbGlicmkiLCJDYXJsaXRvIl0sc3R5bGU6ZHMsZmFsbGJhY2s6IkhlbHZldGljYSJ9XSxbIkNhbGlicmktQm9sZCIse2FsaWFzOiJDYWxpYnJpIixzdHlsZTpmcyxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJDYWxpYnJpLUl0YWxpYyIse2FsaWFzOiJDYWxpYnJpIixzdHlsZTpwcyxmYWxsYmFjazoiSGVsdmV0aWNhLU9ibGlxdWUifV0sWyJDYWxpYnJpLUJvbGRJdGFsaWMiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6bXMsZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJ9XSxbIldpbmdkaW5ncyIse2xvY2FsOlsiV2luZ2RpbmdzIiwiVVJXIERpbmdiYXRzIl0sc3R5bGU6ZHN9XSxbIldpbmdkaW5ncy1SZWd1bGFyIix7YWxpYXM6IldpbmdkaW5ncyJ9XSxbIldpbmdkaW5ncy1Cb2xkIix7YWxpYXM6IldpbmdkaW5ncyJ9XV0pLHdzPW5ldyBNYXAoW1siQXJpYWwtQmxhY2siLCJBcmlhbEJsYWNrIl1dKTtmdW5jdGlvbiBnZXRGYW1pbHlOYW1lKGUpe2NvbnN0IHQ9bmV3IFNldChbInRoaW4iLCJleHRyYWxpZ2h0IiwidWx0cmFsaWdodCIsImRlbWlsaWdodCIsInNlbWlsaWdodCIsImxpZ2h0IiwiYm9vayIsInJlZ3VsYXIiLCJub3JtYWwiLCJtZWRpdW0iLCJkZW1pYm9sZCIsInNlbWlib2xkIiwiYm9sZCIsImV4dHJhYm9sZCIsInVsdHJhYm9sZCIsImJsYWNrIiwiaGVhdnkiLCJleHRyYWJsYWNrIiwidWx0cmFibGFjayIsInJvbWFuIiwiaXRhbGljIiwib2JsaXF1ZSIsInVsdHJhY29uZGVuc2VkIiwiZXh0cmFjb25kZW5zZWQiLCJjb25kZW5zZWQiLCJzZW1pY29uZGVuc2VkIiwibm9ybWFsIiwic2VtaWV4cGFuZGVkIiwiZXhwYW5kZWQiLCJleHRyYWV4cGFuZGVkIiwidWx0cmFleHBhbmRlZCIsImJvbGRpdGFsaWMiXSk7cmV0dXJuIGUuc3BsaXQoL1stICwrXSsvZykuZmlsdGVyKChlPT4hdC5oYXMoZS50b0xvd2VyQ2FzZSgpKSkpLmpvaW4oIiAiKX1mdW5jdGlvbiBnZW5lcmF0ZUZvbnQoe2FsaWFzOmUsbG9jYWw6dCxwYXRoOmksZmFsbGJhY2s6YSxzdHlsZTpzLHVsdGltYXRlOnJ9LG4sZyxvPSEwLGM9ITAsQz0iIil7Y29uc3QgaD17c3R5bGU6bnVsbCx1bHRpbWF0ZTpudWxsfTtpZih0KXtjb25zdCBlPUM/YCAke0N9YDoiIjtmb3IoY29uc3QgaSBvZiB0KW4ucHVzaChgbG9jYWwoJHtpfSR7ZX0pYCl9aWYoZSl7Y29uc3QgdD15cy5nZXQoZSkscj1DfHxmdW5jdGlvbiBnZXRTdHlsZVRvQXBwZW5kKGUpe3N3aXRjaChlKXtjYXNlIGZzOnJldHVybiJCb2xkIjtjYXNlIHBzOnJldHVybiJJdGFsaWMiO2Nhc2UgbXM6cmV0dXJuIkJvbGQgSXRhbGljIjtkZWZhdWx0OmlmKCJib2xkIj09PWU/LndlaWdodClyZXR1cm4iQm9sZCI7aWYoIml0YWxpYyI9PT1lPy5zdHlsZSlyZXR1cm4iSXRhbGljIn1yZXR1cm4iIn0ocyk7T2JqZWN0LmFzc2lnbihoLGdlbmVyYXRlRm9udCh0LG4sZyxvJiYhYSxjJiYhaSxyKSl9cyYmKGguc3R5bGU9cyk7ciYmKGgudWx0aW1hdGU9cik7aWYobyYmYSl7Y29uc3QgZT15cy5nZXQoYSkse3VsdGltYXRlOnR9PWdlbmVyYXRlRm9udChlLG4sZyxvLGMmJiFpLEMpO2gudWx0aW1hdGV8fD10fWMmJmkmJmcmJm4ucHVzaChgdXJsKCR7Z30ke2l9KWApO3JldHVybiBofWZ1bmN0aW9uIGdldEZvbnRTdWJzdGl0dXRpb24oZSx0LGksYSxzLHIpe2lmKGEuc3RhcnRzV2l0aCgiSW52YWxpZFBERmpzRm9udF8iKSlyZXR1cm4gbnVsbDsiVHJ1ZVR5cGUiIT09ciYmIlR5cGUxIiE9PXJ8fCEvXltBLVpdezZ9XCsvLnRlc3QoYSl8fChhPWEuc2xpY2UoNykpO2NvbnN0IG49YT1ub3JtYWxpemVGb250TmFtZShhKTtsZXQgZz1lLmdldChuKTtpZihnKXJldHVybiBnO2xldCBvPXlzLmdldChhKTtpZighbylmb3IoY29uc3RbZSx0XW9mIHdzKWlmKGEuc3RhcnRzV2l0aChlKSl7YT1gJHt0fSR7YS5zdWJzdHJpbmcoZS5sZW5ndGgpfWA7bz15cy5nZXQoYSk7YnJlYWt9bGV0IGM9ITE7aWYoIW8pe289eXMuZ2V0KHMpO2M9ITB9Y29uc3QgQz1gJHt0LmdldERvY0lkKCl9X3Mke3QuY3JlYXRlRm9udElkKCl9YDtpZighbyl7aWYoIXZhbGlkYXRlRm9udE5hbWUoYSkpe3dhcm4oYENhbm5vdCBzdWJzdGl0dXRlIHRoZSBmb250IGJlY2F1c2Ugb2YgaXRzIG5hbWU6ICR7YX1gKTtlLnNldChuLG51bGwpO3JldHVybiBudWxsfWNvbnN0IHQ9L2JvbGQvZ2kudGVzdChhKSxpPS9vYmxpcXVlfGl0YWxpYy9naS50ZXN0KGEpLHM9dCYmaSYmbXN8fHQmJmZzfHxpJiZwc3x8ZHM7Zz17Y3NzOmAiJHtnZXRGYW1pbHlOYW1lKGEpfSIsJHtDfWAsZ3Vlc3NGYWxsYmFjazohMCxsb2FkZWROYW1lOkMsYmFzZUZvbnROYW1lOmEsc3JjOmBsb2NhbCgke2F9KWAsc3R5bGU6c307ZS5zZXQobixnKTtyZXR1cm4gZ31jb25zdCBoPVtdO2MmJnZhbGlkYXRlRm9udE5hbWUoYSkmJmgucHVzaChgbG9jYWwoJHthfSlgKTtjb25zdHtzdHlsZTpsLHVsdGltYXRlOlF9PWdlbmVyYXRlRm9udChvLGgsaSksRT1udWxsPT09USx1PUU/IiI6YCwke1F9YDtnPXtjc3M6YCIke2dldEZhbWlseU5hbWUoYSl9Iiwke0N9JHt1fWAsZ3Vlc3NGYWxsYmFjazpFLGxvYWRlZE5hbWU6QyxiYXNlRm9udE5hbWU6YSxzcmM6aC5qb2luKCIsIiksc3R5bGU6bH07ZS5zZXQobixnKTtyZXR1cm4gZ31jbGFzcyBJbWFnZVJlc2l6ZXJ7c3RhdGljI2s9MjA0ODtzdGF0aWMjUj0hMTtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2ltZ0RhdGE9ZTt0aGlzLl9pc01hc2s9dH1zdGF0aWMgZ2V0IGNhblVzZUltYWdlRGVjb2Rlcigpe3JldHVybiBzaGFkb3codGhpcywiY2FuVXNlSW1hZ2VEZWNvZGVyIix0aGlzLiNSfHwidW5kZWZpbmVkIj09dHlwZW9mIEltYWdlRGVjb2Rlcj9Qcm9taXNlLnJlc29sdmUoITEpOkltYWdlRGVjb2Rlci5pc1R5cGVTdXBwb3J0ZWQoImltYWdlL2JtcCIpKX1zdGF0aWMgbmVlZHNUb0JlUmVzaXplZChlLHQpe2lmKGU8PXRoaXMuI2smJnQ8PXRoaXMuI2spcmV0dXJuITE7Y29uc3R7TUFYX0RJTTppfT10aGlzO2lmKGU+aXx8dD5pKXJldHVybiEwO2NvbnN0IGE9ZSp0O2lmKHRoaXMuX2hhc01heEFyZWEpcmV0dXJuIGE+dGhpcy5NQVhfQVJFQTtpZihhPHRoaXMuI2sqKjIpcmV0dXJuITE7aWYodGhpcy5fYXJlR29vZERpbXMoZSx0KSl7dGhpcy4jaz1NYXRoLm1heCh0aGlzLiNrLE1hdGguZmxvb3IoTWF0aC5zcXJ0KGUqdCkpKTtyZXR1cm4hMX10aGlzLiNrPXRoaXMuX2d1ZXNzTWF4KHRoaXMuI2ssaSwxMjgsMCk7cmV0dXJuIGE+KHRoaXMuTUFYX0FSRUE9dGhpcy4jayoqMil9c3RhdGljIGdldCBNQVhfRElNKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJNQVhfRElNIix0aGlzLl9ndWVzc01heCgyMDQ4LDY1NTM3LDAsMSkpfXN0YXRpYyBnZXQgTUFYX0FSRUEoKXt0aGlzLl9oYXNNYXhBcmVhPSEwO3JldHVybiBzaGFkb3codGhpcywiTUFYX0FSRUEiLHRoaXMuX2d1ZXNzTWF4KHRoaXMuI2ssdGhpcy5NQVhfRElNLDEyOCwwKSoqMil9c3RhdGljIHNldCBNQVhfQVJFQShlKXtpZihlPj0wKXt0aGlzLl9oYXNNYXhBcmVhPSEwO3NoYWRvdyh0aGlzLCJNQVhfQVJFQSIsZSl9fXN0YXRpYyBzZXRNYXhBcmVhKGUpe3RoaXMuX2hhc01heEFyZWF8fCh0aGlzLk1BWF9BUkVBPWU+PjIpfXN0YXRpYyBzZXRPcHRpb25zKGUpe3RoaXMuc2V0TWF4QXJlYShlLm1heEFyZWE/Py0xKTt0aGlzLiNSPWUuaXNDaHJvbWU/PyExfXN0YXRpYyBfYXJlR29vZERpbXMoZSx0KXt0cnl7Y29uc3QgaT1uZXcgT2Zmc2NyZWVuQ2FudmFzKGUsdCksYT1pLmdldENvbnRleHQoIjJkIik7YS5maWxsUmVjdCgwLDAsMSwxKTtjb25zdCBzPWEuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpLmRhdGFbM107aS53aWR0aD1pLmhlaWdodD0xO3JldHVybiAwIT09c31jYXRjaHtyZXR1cm4hMX19c3RhdGljIF9ndWVzc01heChlLHQsaSxhKXtmb3IoO2UraSsxPHQ7KXtjb25zdCBpPU1hdGguZmxvb3IoKGUrdCkvMikscz1hfHxpO3RoaXMuX2FyZUdvb2REaW1zKGkscyk/ZT1pOnQ9aX1yZXR1cm4gZX1zdGF0aWMgYXN5bmMgY3JlYXRlSW1hZ2UoZSx0PSExKXtyZXR1cm4gbmV3IEltYWdlUmVzaXplcihlLHQpLl9jcmVhdGVJbWFnZSgpfWFzeW5jIF9jcmVhdGVJbWFnZSgpe2NvbnN0IGU9dGhpcy5fZW5jb2RlQk1QKCk7bGV0IHQsaTtpZihhd2FpdCBJbWFnZVJlc2l6ZXIuY2FuVXNlSW1hZ2VEZWNvZGVyKXt0PW5ldyBJbWFnZURlY29kZXIoe2RhdGE6ZSx0eXBlOiJpbWFnZS9ibXAiLHByZWZlckFuaW1hdGlvbjohMSx0cmFuc2ZlcjpbZS5idWZmZXJdfSk7aT10LmRlY29kZSgpLmNhdGNoKChlPT57d2FybihgQk1QIGltYWdlIGRlY29kaW5nIGZhaWxlZDogJHtlfWApO3JldHVybiBjcmVhdGVJbWFnZUJpdG1hcChuZXcgQmxvYihbdGhpcy5fZW5jb2RlQk1QKCkuYnVmZmVyXSx7dHlwZToiaW1hZ2UvYm1wIn0pKX0pKS5maW5hbGx5KCgoKT0+e3QuY2xvc2UoKX0pKX1lbHNlIGk9Y3JlYXRlSW1hZ2VCaXRtYXAobmV3IEJsb2IoW2UuYnVmZmVyXSx7dHlwZToiaW1hZ2UvYm1wIn0pKTtjb25zdHtNQVhfQVJFQTphLE1BWF9ESU06c309SW1hZ2VSZXNpemVyLHtfaW1nRGF0YTpyfT10aGlzLHt3aWR0aDpuLGhlaWdodDpnfT1yLG89TWF0aC5tYXgobi9zLGcvcyxNYXRoLnNxcnQobipnL2EpKSxjPU1hdGgubWF4KG8sMiksQz1NYXRoLnJvdW5kKDEwKihvKzEuMjUpKS8xMC9jLGg9TWF0aC5mbG9vcihNYXRoLmxvZzIoQykpLGw9bmV3IEFycmF5KGgrMikuZmlsbCgyKTtsWzBdPWM7bC5zcGxpY2UoLTEsMSxDLygxPDxoKSk7bGV0IFE9bixFPWc7Y29uc3QgdT1hd2FpdCBpO2xldCBkPXUuaW1hZ2V8fHU7Zm9yKGNvbnN0IGUgb2YgbCl7Y29uc3QgdD1RLGk9RTtRPU1hdGguZmxvb3IoUS9lKS0xO0U9TWF0aC5mbG9vcihFL2UpLTE7Y29uc3QgYT1uZXcgT2Zmc2NyZWVuQ2FudmFzKFEsRSk7YS5nZXRDb250ZXh0KCIyZCIpLmRyYXdJbWFnZShkLDAsMCx0LGksMCwwLFEsRSk7ZC5jbG9zZSgpO2Q9YS50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKX1yLmRhdGE9bnVsbDtyLmJpdG1hcD1kO3Iud2lkdGg9UTtyLmhlaWdodD1FO3JldHVybiByfV9lbmNvZGVCTVAoKXtjb25zdHt3aWR0aDplLGhlaWdodDp0LGtpbmQ6aX09dGhpcy5faW1nRGF0YTtsZXQgYSxzPXRoaXMuX2ltZ0RhdGEuZGF0YSxyPW5ldyBVaW50OEFycmF5KDApLG49cixnPTA7c3dpdGNoKGkpe2Nhc2UgYjp7YT0xO3I9bmV3IFVpbnQ4QXJyYXkodGhpcy5faXNNYXNrP1syNTUsMjU1LDI1NSwyNTUsMCwwLDAsMF06WzAsMCwwLDAsMjU1LDI1NSwyNTUsMjU1XSk7Y29uc3QgaT1lKzc+PjMsbj1pKzMmLTQ7aWYoaSE9PW4pe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkobip0KTtsZXQgYT0wO2ZvcihsZXQgcj0wLGc9dCppO3I8ZztyKz1pLGErPW4pZS5zZXQocy5zdWJhcnJheShyLHIraSksYSk7cz1lfWJyZWFrfWNhc2UgRjphPTI0O2lmKDMmZSl7Y29uc3QgaT0zKmUsYT1pKzMmLTQscj1hLWksbj1uZXcgVWludDhBcnJheShhKnQpO2xldCBnPTA7Zm9yKGxldCBlPTAsYT10Kmk7ZTxhO2UrPWkpe2NvbnN0IHQ9cy5zdWJhcnJheShlLGUraSk7Zm9yKGxldCBlPTA7ZTxpO2UrPTMpe25bZysrXT10W2UrMl07bltnKytdPXRbZSsxXTtuW2crK109dFtlXX1nKz1yfXM9bn1lbHNlIGZvcihsZXQgZT0wLHQ9cy5sZW5ndGg7ZTx0O2UrPTMpe2NvbnN0IHQ9c1tlXTtzW2VdPXNbZSsyXTtzW2UrMl09dH1icmVhaztjYXNlIFM6YT0zMjtnPTM7bj1uZXcgVWludDhBcnJheSg2OCk7Y29uc3QgaT1uZXcgRGF0YVZpZXcobi5idWZmZXIpO2lmKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuKXtpLnNldFVpbnQzMigwLDI1NSwhMCk7aS5zZXRVaW50MzIoNCw2NTI4MCwhMCk7aS5zZXRVaW50MzIoOCwxNjcxMTY4MCwhMCk7aS5zZXRVaW50MzIoMTIsNDI3ODE5MDA4MCwhMCl9ZWxzZXtpLnNldFVpbnQzMigwLDQyNzgxOTAwODAsITApO2kuc2V0VWludDMyKDQsMTY3MTE2ODAsITApO2kuc2V0VWludDMyKDgsNjUyODAsITApO2kuc2V0VWludDMyKDEyLDI1NSwhMCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0Iil9bGV0IG89MDtjb25zdCBjPTQwK24ubGVuZ3RoLEM9MTQrYytyLmxlbmd0aCtzLmxlbmd0aCxoPW5ldyBVaW50OEFycmF5KEMpLGw9bmV3IERhdGFWaWV3KGguYnVmZmVyKTtsLnNldFVpbnQxNihvLDE5Nzc4LCEwKTtvKz0yO2wuc2V0VWludDMyKG8sQywhMCk7bys9NDtsLnNldFVpbnQzMihvLDAsITApO28rPTQ7bC5zZXRVaW50MzIobywxNCtjK3IubGVuZ3RoLCEwKTtvKz00O2wuc2V0VWludDMyKG8sYywhMCk7bys9NDtsLnNldEludDMyKG8sZSwhMCk7bys9NDtsLnNldEludDMyKG8sLXQsITApO28rPTQ7bC5zZXRVaW50MTYobywxLCEwKTtvKz0yO2wuc2V0VWludDE2KG8sYSwhMCk7bys9MjtsLnNldFVpbnQzMihvLGcsITApO28rPTQ7bC5zZXRVaW50MzIobywwLCEwKTtvKz00O2wuc2V0SW50MzIobywwLCEwKTtvKz00O2wuc2V0SW50MzIobywwLCEwKTtvKz00O2wuc2V0VWludDMyKG8sci5sZW5ndGgvNCwhMCk7bys9NDtsLnNldFVpbnQzMihvLDAsITApO28rPTQ7aC5zZXQobixvKTtvKz1uLmxlbmd0aDtoLnNldChyLG8pO28rPXIubGVuZ3RoO2guc2V0KHMsbyk7cmV0dXJuIGh9fWNvbnN0IERzPTMyODUzNzc1MjAsYnM9NDI5NDkwMTc2MCxGcz02NTUzNTtjbGFzcyBNdXJtdXJIYXNoM182NHtjb25zdHJ1Y3RvcihlKXt0aGlzLmgxPWU/NDI5NDk2NzI5NSZlOkRzO3RoaXMuaDI9ZT80Mjk0OTY3Mjk1JmU6RHN9dXBkYXRlKGUpe2xldCB0LGk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXt0PW5ldyBVaW50OEFycmF5KDIqZS5sZW5ndGgpO2k9MDtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspe2NvbnN0IHM9ZS5jaGFyQ29kZUF0KGEpO2lmKHM8PTI1NSl0W2krK109cztlbHNle3RbaSsrXT1zPj4+ODt0W2krK109MjU1JnN9fX1lbHNle2lmKCFBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGRhdGEgZm9ybWF0LCBtdXN0IGJlIGEgc3RyaW5nIG9yIFR5cGVkQXJyYXkuIik7dD1lLnNsaWNlKCk7aT10LmJ5dGVMZW5ndGh9Y29uc3QgYT1pPj4yLHM9aS00KmEscj1uZXcgVWludDMyQXJyYXkodC5idWZmZXIsMCxhKTtsZXQgbj0wLGc9MCxvPXRoaXMuaDEsYz10aGlzLmgyO2NvbnN0IEM9MzQzMjkxODM1MyxoPTQ2MTg0NTkwNyxsPTExNjAxLFE9MTM3MTU7Zm9yKGxldCBlPTA7ZTxhO2UrKylpZigxJmUpe249cltlXTtuPW4qQyZic3xuKmwmRnM7bj1uPDwxNXxuPj4+MTc7bj1uKmgmYnN8bipRJkZzO29ePW47bz1vPDwxM3xvPj4+MTk7bz01Km8rMzg2NDI5MjE5Nn1lbHNle2c9cltlXTtnPWcqQyZic3xnKmwmRnM7Zz1nPDwxNXxnPj4+MTc7Zz1nKmgmYnN8ZypRJkZzO2NePWc7Yz1jPDwxM3xjPj4+MTk7Yz01KmMrMzg2NDI5MjE5Nn1uPTA7c3dpdGNoKHMpe2Nhc2UgMzpuXj10WzQqYSsyXTw8MTY7Y2FzZSAyOm5ePXRbNCphKzFdPDw4O2Nhc2UgMTpuXj10WzQqYV07bj1uKkMmYnN8bipsJkZzO249bjw8MTV8bj4+PjE3O249bipoJmJzfG4qUSZGczsxJmE/b149bjpjXj1ufXRoaXMuaDE9bzt0aGlzLmgyPWN9aGV4ZGlnZXN0KCl7bGV0IGU9dGhpcy5oMSx0PXRoaXMuaDI7ZV49dD4+PjE7ZT0zOTgxODA2Nzk3KmUmYnN8MzYwNDUqZSZGczt0PTQyODM1NDM1MTEqdCZic3woMjk1MDE2Mzc5NyoodDw8MTZ8ZT4+PjE2KSZicyk+Pj4xNjtlXj10Pj4+MTtlPTQ0NDk4NDQwMyplJmJzfDYwNDk5KmUmRnM7dD0zMzAxODgyMzY2KnQmYnN8KDMxMjA0Mzc4OTMqKHQ8PDE2fGU+Pj4xNikmYnMpPj4+MTY7ZV49dD4+PjE7cmV0dXJuKGU+Pj4wKS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpKyh0Pj4+MCkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKX19ZnVuY3Rpb24gYWRkU3RhdGUoZSx0LGksYSxzKXtsZXQgcj1lO2ZvcihsZXQgZT0wLGk9dC5sZW5ndGgtMTtlPGk7ZSsrKXtjb25zdCBpPXRbZV07cj1yW2ldfHw9W119clt0LmF0KC0xKV09e2NoZWNrRm46aSxpdGVyYXRlRm46YSxwcm9jZXNzRm46c319Y29uc3QgU3M9W107YWRkU3RhdGUoU3MsW0dBLFVBLHplLHhBXSxudWxsLChmdW5jdGlvbiBpdGVyYXRlSW5saW5lSW1hZ2VHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9KHQtKGUuaUN1cnItMykpJTQ7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4gaVt0XT09PUdBO2Nhc2UgMTpyZXR1cm4gaVt0XT09PVVBO2Nhc2UgMjpyZXR1cm4gaVt0XT09PXplO2Nhc2UgMzpyZXR1cm4gaVt0XT09PXhBfXRocm93IG5ldyBFcnJvcihgaXRlcmF0ZUlubGluZUltYWdlR3JvdXAgLSBpbnZhbGlkIHBvczogJHthfWApfSksKGZ1bmN0aW9uIGZvdW5kSW5saW5lSW1hZ2VHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz1lLmlDdXJyLHI9cy0zLG49cy0yLGc9cy0xLG89TWF0aC5taW4oTWF0aC5mbG9vcigodC1yKS80KSwyMDApO2lmKG88MTApcmV0dXJuIHQtKHQtciklNDtsZXQgYz0wO2NvbnN0IEM9W107bGV0IGg9MCxsPTEsUT0xO2ZvcihsZXQgZT0wO2U8bztlKyspe2NvbnN0IHQ9YVtuKyhlPDwyKV0saT1hW2crKGU8PDIpXVswXTtpZihsK2kud2lkdGg+MWUzKXtjPU1hdGgubWF4KGMsbCk7USs9aCsyO2w9MDtoPTB9Qy5wdXNoKHt0cmFuc2Zvcm06dCx4OmwseTpRLHc6aS53aWR0aCxoOmkuaGVpZ2h0fSk7bCs9aS53aWR0aCsyO2g9TWF0aC5tYXgoaCxpLmhlaWdodCl9Y29uc3QgRT1NYXRoLm1heChjLGwpKzEsdT1RK2grMSxkPW5ldyBVaW50OEFycmF5KEUqdSo0KSxmPUU8PDI7Zm9yKGxldCBlPTA7ZTxvO2UrKyl7Y29uc3QgdD1hW2crKGU8PDIpXVswXS5kYXRhLGk9Q1tlXS53PDwyO2xldCBzPTAscj1DW2VdLngrQ1tlXS55KkU8PDI7ZC5zZXQodC5zdWJhcnJheSgwLGkpLHItZik7Zm9yKGxldCBhPTAsbj1DW2VdLmg7YTxuO2ErKyl7ZC5zZXQodC5zdWJhcnJheShzLHMraSkscik7cys9aTtyKz1mfWQuc2V0KHQuc3ViYXJyYXkocy1pLHMpLHIpO2Zvcig7cj49MDspe3Rbci00XT10W3JdO3Rbci0zXT10W3IrMV07dFtyLTJdPXRbcisyXTt0W3ItMV09dFtyKzNdO3RbcitpXT10W3IraS00XTt0W3IraSsxXT10W3IraS0zXTt0W3IraSsyXT10W3IraS0yXTt0W3IraSszXT10W3IraS0xXTtyLT1mfX1jb25zdCBwPXt3aWR0aDpFLGhlaWdodDp1fTtpZihlLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKXtjb25zdCBlPW5ldyBPZmZzY3JlZW5DYW52YXMoRSx1KTtlLmdldENvbnRleHQoIjJkIikucHV0SW1hZ2VEYXRhKG5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGQuYnVmZmVyKSxFLHUpLDAsMCk7cC5iaXRtYXA9ZS50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKTtwLmRhdGE9bnVsbH1lbHNle3Aua2luZD1TO3AuZGF0YT1kfWkuc3BsaWNlKHIsNCpvLF9lKTthLnNwbGljZShyLDQqbyxbcCxDXSk7cmV0dXJuIHIrMX0pKTthZGRTdGF0ZShTcyxbR0EsVUEsWGUseEFdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVJbWFnZU1hc2tHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9KHQtKGUuaUN1cnItMykpJTQ7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4gaVt0XT09PUdBO2Nhc2UgMTpyZXR1cm4gaVt0XT09PVVBO2Nhc2UgMjpyZXR1cm4gaVt0XT09PVhlO2Nhc2UgMzpyZXR1cm4gaVt0XT09PXhBfXRocm93IG5ldyBFcnJvcihgaXRlcmF0ZUltYWdlTWFza0dyb3VwIC0gaW52YWxpZCBwb3M6ICR7YX1gKX0pLChmdW5jdGlvbiBmb3VuZEltYWdlTWFza0dyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPWUuaUN1cnIscj1zLTMsbj1zLTIsZz1zLTE7bGV0IG89TWF0aC5mbG9vcigodC1yKS80KTtpZihvPDEwKXJldHVybiB0LSh0LXIpJTQ7bGV0IGMsQyxoPSExO2NvbnN0IGw9YVtnXVswXSxRPWFbbl1bMF0sRT1hW25dWzFdLHU9YVtuXVsyXSxkPWFbbl1bM107aWYoRT09PXUpe2g9ITA7Yz1uKzQ7bGV0IGU9Zys0O2ZvcihsZXQgdD0xO3Q8bzt0KyssYys9NCxlKz00KXtDPWFbY107aWYoYVtlXVswXSE9PWx8fENbMF0hPT1RfHxDWzFdIT09RXx8Q1syXSE9PXV8fENbM10hPT1kKXt0PDEwP2g9ITE6bz10O2JyZWFrfX19aWYoaCl7bz1NYXRoLm1pbihvLDFlMyk7Y29uc3QgZT1uZXcgRmxvYXQzMkFycmF5KDIqbyk7Yz1uO2ZvcihsZXQgdD0wO3Q8bzt0KyssYys9NCl7Qz1hW2NdO2VbdDw8MV09Q1s0XTtlWzErKHQ8PDEpXT1DWzVdfWkuc3BsaWNlKHIsNCpvLEF0KTthLnNwbGljZShyLDQqbyxbbCxRLEUsdSxkLGVdKX1lbHNle289TWF0aC5taW4obywxMDApO2NvbnN0IGU9W107Zm9yKGxldCB0PTA7dDxvO3QrKyl7Qz1hW24rKHQ8PDIpXTtjb25zdCBpPWFbZysodDw8MildWzBdO2UucHVzaCh7ZGF0YTppLmRhdGEsd2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHQsaW50ZXJwb2xhdGU6aS5pbnRlcnBvbGF0ZSxjb3VudDppLmNvdW50LHRyYW5zZm9ybTpDfSl9aS5zcGxpY2Uociw0Km8sWmUpO2Euc3BsaWNlKHIsNCpvLFtlXSl9cmV0dXJuIHIrMX0pKTthZGRTdGF0ZShTcyxbR0EsVUEsVmUseEFdLChmdW5jdGlvbihlKXtjb25zdCB0PWUuYXJnc0FycmF5LGk9ZS5pQ3Vyci0yO3JldHVybiAwPT09dFtpXVsxXSYmMD09PXRbaV1bMl19KSwoZnVuY3Rpb24gaXRlcmF0ZUltYWdlR3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9KHQtKGUuaUN1cnItMykpJTQ7c3dpdGNoKHMpe2Nhc2UgMDpyZXR1cm4gaVt0XT09PUdBO2Nhc2UgMTppZihpW3RdIT09VUEpcmV0dXJuITE7Y29uc3Qgcz1lLmlDdXJyLTIscj1hW3NdWzBdLG49YVtzXVszXTtyZXR1cm4gYVt0XVswXT09PXImJjA9PT1hW3RdWzFdJiYwPT09YVt0XVsyXSYmYVt0XVszXT09PW47Y2FzZSAyOmlmKGlbdF0hPT1WZSlyZXR1cm4hMTtjb25zdCBnPWFbZS5pQ3Vyci0xXVswXTtyZXR1cm4gYVt0XVswXT09PWc7Y2FzZSAzOnJldHVybiBpW3RdPT09eEF9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW1hZ2VHcm91cCAtIGludmFsaWQgcG9zOiAke3N9YCl9KSwoZnVuY3Rpb24oZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9ZS5pQ3VycixyPXMtMyxuPXMtMixnPWFbcy0xXVswXSxvPWFbbl1bMF0sYz1hW25dWzNdLEM9TWF0aC5taW4oTWF0aC5mbG9vcigodC1yKS80KSwxZTMpO2lmKEM8MylyZXR1cm4gdC0odC1yKSU0O2NvbnN0IGg9bmV3IEZsb2F0MzJBcnJheSgyKkMpO2xldCBsPW47Zm9yKGxldCBlPTA7ZTxDO2UrKyxsKz00KXtjb25zdCB0PWFbbF07aFtlPDwxXT10WzRdO2hbMSsoZTw8MSldPXRbNV19Y29uc3QgUT1bZyxvLGMsaF07aS5zcGxpY2Uociw0KkMsJGUpO2Euc3BsaWNlKHIsNCpDLFEpO3JldHVybiByKzF9KSk7YWRkU3RhdGUoU3MsWyRBLHNlLEllLENlLEFlXSxudWxsLChmdW5jdGlvbiBpdGVyYXRlU2hvd1RleHRHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz0odC0oZS5pQ3Vyci00KSklNTtzd2l0Y2gocyl7Y2FzZSAwOnJldHVybiBpW3RdPT09JEE7Y2FzZSAxOnJldHVybiBpW3RdPT09c2U7Y2FzZSAyOnJldHVybiBpW3RdPT09SWU7Y2FzZSAzOmlmKGlbdF0hPT1DZSlyZXR1cm4hMTtjb25zdCBzPWUuaUN1cnItMyxyPWFbc11bMF0sbj1hW3NdWzFdO3JldHVybiBhW3RdWzBdPT09ciYmYVt0XVsxXT09PW47Y2FzZSA0OnJldHVybiBpW3RdPT09QWV9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlU2hvd1RleHRHcm91cCAtIGludmFsaWQgcG9zOiAke3N9YCl9KSwoZnVuY3Rpb24oZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9ZS5pQ3VycixyPXMtNCxuPXMtMyxnPXMtMixvPXMtMSxjPXMsQz1hW25dWzBdLGg9YVtuXVsxXTtsZXQgbD1NYXRoLm1pbihNYXRoLmZsb29yKCh0LXIpLzUpLDFlMyk7aWYobDwzKXJldHVybiB0LSh0LXIpJTU7bGV0IFE9cjtpZihyPj00JiZpW3ItNF09PT1pW25dJiZpW3ItM109PT1pW2ddJiZpW3ItMl09PT1pW29dJiZpW3ItMV09PT1pW2NdJiZhW3ItNF1bMF09PT1DJiZhW3ItNF1bMV09PT1oKXtsKys7US09NX1sZXQgRT1RKzQ7Zm9yKGxldCBlPTE7ZTxsO2UrKyl7aS5zcGxpY2UoRSwzKTthLnNwbGljZShFLDMpO0UrPTJ9cmV0dXJuIEUrMX0pKTtjbGFzcyBOdWxsT3B0aW1pemVye2NvbnN0cnVjdG9yKGUpe3RoaXMucXVldWU9ZX1fb3B0aW1pemUoKXt9cHVzaChlLHQpe3RoaXMucXVldWUuZm5BcnJheS5wdXNoKGUpO3RoaXMucXVldWUuYXJnc0FycmF5LnB1c2godCk7dGhpcy5fb3B0aW1pemUoKX1mbHVzaCgpe31yZXNldCgpe319Y2xhc3MgUXVldWVPcHRpbWl6ZXIgZXh0ZW5kcyBOdWxsT3B0aW1pemVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuc3RhdGU9bnVsbDt0aGlzLmNvbnRleHQ9e2lDdXJyOjAsZm5BcnJheTplLmZuQXJyYXksYXJnc0FycmF5OmUuYXJnc0FycmF5LGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOiExfTt0aGlzLm1hdGNoPW51bGw7dGhpcy5sYXN0UHJvY2Vzc2VkPTB9c2V0IGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKGUpe3RoaXMuY29udGV4dC5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZD1lfV9vcHRpbWl6ZSgpe2NvbnN0IGU9dGhpcy5xdWV1ZS5mbkFycmF5O2xldCB0PXRoaXMubGFzdFByb2Nlc3NlZCxpPWUubGVuZ3RoLGE9dGhpcy5zdGF0ZSxzPXRoaXMubWF0Y2g7aWYoIWEmJiFzJiZ0KzE9PT1pJiYhU3NbZVt0XV0pe3RoaXMubGFzdFByb2Nlc3NlZD1pO3JldHVybn1jb25zdCByPXRoaXMuY29udGV4dDtmb3IoO3Q8aTspe2lmKHMpe2lmKCgwLHMuaXRlcmF0ZUZuKShyLHQpKXt0Kys7Y29udGludWV9dD0oMCxzLnByb2Nlc3NGbikocix0KzEpO2k9ZS5sZW5ndGg7cz1udWxsO2E9bnVsbDtpZih0Pj1pKWJyZWFrfWE9KGF8fFNzKVtlW3RdXTtpZihhJiYhQXJyYXkuaXNBcnJheShhKSl7ci5pQ3Vycj10O3QrKztpZighYS5jaGVja0ZufHwoMCxhLmNoZWNrRm4pKHIpKXtzPWE7YT1udWxsfWVsc2UgYT1udWxsfWVsc2UgdCsrfXRoaXMuc3RhdGU9YTt0aGlzLm1hdGNoPXM7dGhpcy5sYXN0UHJvY2Vzc2VkPXR9Zmx1c2goKXtmb3IoO3RoaXMubWF0Y2g7KXtjb25zdCBlPXRoaXMucXVldWUuZm5BcnJheS5sZW5ndGg7dGhpcy5sYXN0UHJvY2Vzc2VkPSgwLHRoaXMubWF0Y2gucHJvY2Vzc0ZuKSh0aGlzLmNvbnRleHQsZSk7dGhpcy5tYXRjaD1udWxsO3RoaXMuc3RhdGU9bnVsbDt0aGlzLl9vcHRpbWl6ZSgpfX1yZXNldCgpe3RoaXMuc3RhdGU9bnVsbDt0aGlzLm1hdGNoPW51bGw7dGhpcy5sYXN0UHJvY2Vzc2VkPTB9fWNsYXNzIE9wZXJhdG9yTGlzdHtzdGF0aWMgQ0hVTktfU0laRT0xZTM7c3RhdGljIENIVU5LX1NJWkVfQUJPVVQ9dGhpcy5DSFVOS19TSVpFLTU7Y29uc3RydWN0b3IoZT0wLHQpe3RoaXMuX3N0cmVhbVNpbms9dDt0aGlzLmZuQXJyYXk9W107dGhpcy5hcmdzQXJyYXk9W107dGhpcy5vcHRpbWl6ZXI9IXR8fGUmRT9uZXcgTnVsbE9wdGltaXplcih0aGlzKTpuZXcgUXVldWVPcHRpbWl6ZXIodGhpcyk7dGhpcy5kZXBlbmRlbmNpZXM9bmV3IFNldDt0aGlzLl90b3RhbExlbmd0aD0wO3RoaXMud2VpZ2h0PTA7dGhpcy5fcmVzb2x2ZWQ9dD9udWxsOlByb21pc2UucmVzb2x2ZSgpfXNldCBpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZChlKXt0aGlzLm9wdGltaXplci5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZD1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5hcmdzQXJyYXkubGVuZ3RofWdldCByZWFkeSgpe3JldHVybiB0aGlzLl9yZXNvbHZlZHx8dGhpcy5fc3RyZWFtU2luay5yZWFkeX1nZXQgdG90YWxMZW5ndGgoKXtyZXR1cm4gdGhpcy5fdG90YWxMZW5ndGgrdGhpcy5sZW5ndGh9YWRkT3AoZSx0KXt0aGlzLm9wdGltaXplci5wdXNoKGUsdCk7dGhpcy53ZWlnaHQrKzt0aGlzLl9zdHJlYW1TaW5rJiYodGhpcy53ZWlnaHQ+PU9wZXJhdG9yTGlzdC5DSFVOS19TSVpFfHx0aGlzLndlaWdodD49T3BlcmF0b3JMaXN0LkNIVU5LX1NJWkVfQUJPVVQmJihlPT09eEF8fGU9PT1BZSkpJiZ0aGlzLmZsdXNoKCl9YWRkSW1hZ2VPcHMoZSx0LGkpe3ZvaWQgMCE9PWkmJnRoaXMuYWRkT3AoSmUsWyJPQyIsaV0pO3RoaXMuYWRkT3AoZSx0KTt2b2lkIDAhPT1pJiZ0aGlzLmFkZE9wKFllLFtdKX1hZGREZXBlbmRlbmN5KGUpe2lmKCF0aGlzLmRlcGVuZGVuY2llcy5oYXMoZSkpe3RoaXMuZGVwZW5kZW5jaWVzLmFkZChlKTt0aGlzLmFkZE9wKHlBLFtlXSl9fWFkZERlcGVuZGVuY2llcyhlKXtmb3IoY29uc3QgdCBvZiBlKXRoaXMuYWRkRGVwZW5kZW5jeSh0KX1hZGRPcExpc3QoZSl7aWYoZSBpbnN0YW5jZW9mIE9wZXJhdG9yTGlzdCl7Zm9yKGNvbnN0IHQgb2YgZS5kZXBlbmRlbmNpZXMpdGhpcy5kZXBlbmRlbmNpZXMuYWRkKHQpO2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrKyl0aGlzLmFkZE9wKGUuZm5BcnJheVt0XSxlLmFyZ3NBcnJheVt0XSl9ZWxzZSB3YXJuKCdhZGRPcExpc3QgLSBpZ25vcmluZyBpbnZhbGlkICJvcExpc3QiIHBhcmFtZXRlci4nKX1nZXRJUigpe3JldHVybntmbkFycmF5OnRoaXMuZm5BcnJheSxhcmdzQXJyYXk6dGhpcy5hcmdzQXJyYXksbGVuZ3RoOnRoaXMubGVuZ3RofX1nZXQgX3RyYW5zZmVycygpe2NvbnN0IGU9W10se2ZuQXJyYXk6dCxhcmdzQXJyYXk6aSxsZW5ndGg6YX09dGhpcztmb3IobGV0IHM9MDtzPGE7cysrKXN3aXRjaCh0W3NdKXtjYXNlIHplOmNhc2UgX2U6Y2FzZSBYZTpjb25zdCB0PWlbc11bMF07IXQuY2FjaGVkJiZ0LmRhdGE/LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZlLnB1c2godC5kYXRhLmJ1ZmZlcil9cmV0dXJuIGV9Zmx1c2goZT0hMSx0PW51bGwpe3RoaXMub3B0aW1pemVyLmZsdXNoKCk7Y29uc3QgaT10aGlzLmxlbmd0aDt0aGlzLl90b3RhbExlbmd0aCs9aTt0aGlzLl9zdHJlYW1TaW5rLmVucXVldWUoe2ZuQXJyYXk6dGhpcy5mbkFycmF5LGFyZ3NBcnJheTp0aGlzLmFyZ3NBcnJheSxsYXN0Q2h1bms6ZSxzZXBhcmF0ZUFubm90czp0LGxlbmd0aDppfSwxLHRoaXMuX3RyYW5zZmVycyk7dGhpcy5kZXBlbmRlbmNpZXMuY2xlYXIoKTt0aGlzLmZuQXJyYXkubGVuZ3RoPTA7dGhpcy5hcmdzQXJyYXkubGVuZ3RoPTA7dGhpcy53ZWlnaHQ9MDt0aGlzLm9wdGltaXplci5yZXNldCgpfX1mdW5jdGlvbiBkZWNvZGVBbmRDbGFtcChlLHQsaSxhKXsoZT10K2UqaSk8MD9lPTA6ZT5hJiYoZT1hKTtyZXR1cm4gZX1mdW5jdGlvbiByZXNpemVJbWFnZU1hc2soZSx0LGksYSxzLHIpe2NvbnN0IG49cypyO2xldCBnO2c9dDw9OD9uZXcgVWludDhBcnJheShuKTp0PD0xNj9uZXcgVWludDE2QXJyYXkobik6bmV3IFVpbnQzMkFycmF5KG4pO2NvbnN0IG89aS9zLGM9YS9yO2xldCBDLGgsbCxRLEU9MDtjb25zdCB1PW5ldyBVaW50MTZBcnJheShzKSxkPWk7Zm9yKEM9MDtDPHM7QysrKXVbQ109TWF0aC5mbG9vcihDKm8pO2ZvcihDPTA7QzxyO0MrKyl7bD1NYXRoLmZsb29yKEMqYykqZDtmb3IoaD0wO2g8cztoKyspe1E9bCt1W2hdO2dbRSsrXT1lW1FdfX1yZXR1cm4gZ31jbGFzcyBQREZJbWFnZXtjb25zdHJ1Y3Rvcih7eHJlZjplLHJlczp0LGltYWdlOmksaXNJbmxpbmU6YT0hMSxzbWFzazpzPW51bGwsbWFzazpyPW51bGwsaXNNYXNrOm49ITEscGRmRnVuY3Rpb25GYWN0b3J5OmcsbG9jYWxDb2xvclNwYWNlQ2FjaGU6b30pe3RoaXMuaW1hZ2U9aTtjb25zdCBjPWkuZGljdCxDPWMuZ2V0KCJGIiwiRmlsdGVyIik7bGV0IGg7aWYoQyBpbnN0YW5jZW9mIE5hbWUpaD1DLm5hbWU7ZWxzZSBpZihBcnJheS5pc0FycmF5KEMpKXtjb25zdCB0PWUuZmV0Y2hJZlJlZihDWzBdKTt0IGluc3RhbmNlb2YgTmFtZSYmKGg9dC5uYW1lKX1zd2l0Y2goaCl7Y2FzZSJKUFhEZWNvZGUiOih7d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHQsY29tcG9uZW50c0NvdW50OmkubnVtQ29tcHMsYml0c1BlckNvbXBvbmVudDppLmJpdHNQZXJDb21wb25lbnR9PUpweEltYWdlLnBhcnNlSW1hZ2VQcm9wZXJ0aWVzKGkuc3RyZWFtKSk7aS5zdHJlYW0ucmVzZXQoKTt0aGlzLmpweERlY29kZXJPcHRpb25zPXtudW1Db21wb25lbnRzOjAsaXNJbmRleGVkQ29sb3JtYXA6ITEsc21hc2tJbkRhdGE6Yy5oYXMoIlNNYXNrSW5EYXRhIil9O2JyZWFrO2Nhc2UiSkJJRzJEZWNvZGUiOmkuYml0c1BlckNvbXBvbmVudD0xO2kubnVtQ29tcHM9MX1sZXQgbD1jLmdldCgiVyIsIldpZHRoIiksUT1jLmdldCgiSCIsIkhlaWdodCIpO2lmKE51bWJlci5pc0ludGVnZXIoaS53aWR0aCkmJmkud2lkdGg+MCYmTnVtYmVyLmlzSW50ZWdlcihpLmhlaWdodCkmJmkuaGVpZ2h0PjAmJihpLndpZHRoIT09bHx8aS5oZWlnaHQhPT1RKSl7d2FybigiUERGSW1hZ2UgLSB1c2luZyB0aGUgV2lkdGgvSGVpZ2h0IG9mIHRoZSBpbWFnZSBkYXRhLCByYXRoZXIgdGhhbiB0aGUgaW1hZ2UgZGljdGlvbmFyeS4iKTtsPWkud2lkdGg7UT1pLmhlaWdodH1pZihsPDF8fFE8MSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgaW1hZ2Ugd2lkdGg6ICR7bH0gb3IgaGVpZ2h0OiAke1F9YCk7dGhpcy53aWR0aD1sO3RoaXMuaGVpZ2h0PVE7dGhpcy5pbnRlcnBvbGF0ZT1jLmdldCgiSSIsIkludGVycG9sYXRlIik7dGhpcy5pbWFnZU1hc2s9Yy5nZXQoIklNIiwiSW1hZ2VNYXNrIil8fCExO3RoaXMubWF0dGU9Yy5nZXQoIk1hdHRlIil8fCExO2xldCBFPWkuYml0c1BlckNvbXBvbmVudDtpZighRSl7RT1jLmdldCgiQlBDIiwiQml0c1BlckNvbXBvbmVudCIpO2lmKCFFKXtpZighdGhpcy5pbWFnZU1hc2spdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBCaXRzIHBlciBjb21wb25lbnQgbWlzc2luZyBpbiBpbWFnZTogJHt0aGlzLmltYWdlTWFza31gKTtFPTF9fXRoaXMuYnBjPUU7aWYoIXRoaXMuaW1hZ2VNYXNrKXtsZXQgcz1jLmdldFJhdygiQ1MiKXx8Yy5nZXRSYXcoIkNvbG9yU3BhY2UiKTtjb25zdCByPSEhcztpZihyKXRoaXMuanB4RGVjb2Rlck9wdGlvbnM/LnNtYXNrSW5EYXRhJiYocz1OYW1lLmdldCgiRGV2aWNlUkdCQSIpKTtlbHNlIGlmKHRoaXMuanB4RGVjb2Rlck9wdGlvbnMpcz1OYW1lLmdldCgiRGV2aWNlUkdCQSIpO2Vsc2Ugc3dpdGNoKGkubnVtQ29tcHMpe2Nhc2UgMTpzPU5hbWUuZ2V0KCJEZXZpY2VHcmF5Iik7YnJlYWs7Y2FzZSAzOnM9TmFtZS5nZXQoIkRldmljZVJHQiIpO2JyZWFrO2Nhc2UgNDpzPU5hbWUuZ2V0KCJEZXZpY2VDTVlLIik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYEltYWdlcyB3aXRoICR7aS5udW1Db21wc30gY29sb3IgY29tcG9uZW50cyBub3Qgc3VwcG9ydGVkLmApfXRoaXMuY29sb3JTcGFjZT1Db2xvclNwYWNlLnBhcnNlKHtjczpzLHhyZWY6ZSxyZXNvdXJjZXM6YT90Om51bGwscGRmRnVuY3Rpb25GYWN0b3J5OmcsbG9jYWxDb2xvclNwYWNlQ2FjaGU6b30pO3RoaXMubnVtQ29tcHM9dGhpcy5jb2xvclNwYWNlLm51bUNvbXBzO2lmKHRoaXMuanB4RGVjb2Rlck9wdGlvbnMpe3RoaXMuanB4RGVjb2Rlck9wdGlvbnMubnVtQ29tcG9uZW50cz1yP3RoaXMubnVtQ29tcDowO3RoaXMuanB4RGVjb2Rlck9wdGlvbnMuaXNJbmRleGVkQ29sb3JtYXA9IkluZGV4ZWQiPT09dGhpcy5jb2xvclNwYWNlLm5hbWV9fXRoaXMuZGVjb2RlPWMuZ2V0QXJyYXkoIkQiLCJEZWNvZGUiKTt0aGlzLm5lZWRzRGVjb2RlPSExO2lmKHRoaXMuZGVjb2RlJiYodGhpcy5jb2xvclNwYWNlJiYhdGhpcy5jb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSh0aGlzLmRlY29kZSxFKXx8biYmIUNvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKHRoaXMuZGVjb2RlLDEpKSl7dGhpcy5uZWVkc0RlY29kZT0hMDtjb25zdCBlPSgxPDxFKS0xO3RoaXMuZGVjb2RlQ29lZmZpY2llbnRzPVtdO3RoaXMuZGVjb2RlQWRkZW5kcz1bXTtjb25zdCB0PSJJbmRleGVkIj09PXRoaXMuY29sb3JTcGFjZT8ubmFtZTtmb3IobGV0IGk9MCxhPTA7aTx0aGlzLmRlY29kZS5sZW5ndGg7aSs9MiwrK2Epe2NvbnN0IHM9dGhpcy5kZWNvZGVbaV0scj10aGlzLmRlY29kZVtpKzFdO3RoaXMuZGVjb2RlQ29lZmZpY2llbnRzW2FdPXQ/KHItcykvZTpyLXM7dGhpcy5kZWNvZGVBZGRlbmRzW2FdPXQ/czplKnN9fWlmKHMpdGhpcy5zbWFzaz1uZXcgUERGSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTpzLGlzSW5saW5lOmEscGRmRnVuY3Rpb25GYWN0b3J5OmcsbG9jYWxDb2xvclNwYWNlQ2FjaGU6b30pO2Vsc2UgaWYocilpZihyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7ci5kaWN0LmdldCgiSU0iLCJJbWFnZU1hc2siKT90aGlzLm1hc2s9bmV3IFBERkltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6cixpc0lubGluZTphLGlzTWFzazohMCxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSk6d2FybigiSWdub3JpbmcgL01hc2sgaW4gaW1hZ2Ugd2l0aG91dCAvSW1hZ2VNYXNrLiIpfWVsc2UgdGhpcy5tYXNrPXJ9c3RhdGljIGFzeW5jIGJ1aWxkSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTppLGlzSW5saW5lOmE9ITEscGRmRnVuY3Rpb25GYWN0b3J5OnMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6cn0pe2NvbnN0IG49aTtsZXQgZz1udWxsLG89bnVsbDtjb25zdCBjPWkuZGljdC5nZXQoIlNNYXNrIiksQz1pLmRpY3QuZ2V0KCJNYXNrIik7Yz9jIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9nPWM6d2FybigiVW5zdXBwb3J0ZWQgL1NNYXNrIGZvcm1hdC4iKTpDJiYoQyBpbnN0YW5jZW9mIEJhc2VTdHJlYW18fEFycmF5LmlzQXJyYXkoQyk/bz1DOndhcm4oIlVuc3VwcG9ydGVkIC9NYXNrIGZvcm1hdC4iKSk7cmV0dXJuIG5ldyBQREZJbWFnZSh7eHJlZjplLHJlczp0LGltYWdlOm4saXNJbmxpbmU6YSxzbWFzazpnLG1hc2s6byxwZGZGdW5jdGlvbkZhY3Rvcnk6cyxsb2NhbENvbG9yU3BhY2VDYWNoZTpyfSl9c3RhdGljIGNyZWF0ZVJhd01hc2soe2ltZ0FycmF5OmUsd2lkdGg6dCxoZWlnaHQ6aSxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTphLGludmVyc2VEZWNvZGU6cyxpbnRlcnBvbGF0ZTpyfSl7Y29uc3Qgbj0odCs3Pj4zKSppLGc9ZS5ieXRlTGVuZ3RoO2xldCBvLGM7aWYoIWF8fHMmJiEobj09PWcpKWlmKHMpe289bmV3IFVpbnQ4QXJyYXkobik7by5zZXQoZSk7by5maWxsKDI1NSxnKX1lbHNlIG89bmV3IFVpbnQ4QXJyYXkoZSk7ZWxzZSBvPWU7aWYocylmb3IoYz0wO2M8ZztjKyspb1tjXV49MjU1O3JldHVybntkYXRhOm8sd2lkdGg6dCxoZWlnaHQ6aSxpbnRlcnBvbGF0ZTpyfX1zdGF0aWMgYXN5bmMgY3JlYXRlTWFzayh7aW1nQXJyYXk6ZSx3aWR0aDp0LGhlaWdodDppLGltYWdlSXNGcm9tRGVjb2RlU3RyZWFtOmEsaW52ZXJzZURlY29kZTpzLGludGVycG9sYXRlOnIsaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6bj0hMX0pe2NvbnN0IGc9MT09PXQmJjE9PT1pJiZzPT09KDA9PT1lLmxlbmd0aHx8ISEoMTI4JmVbMF0pKTtpZihnKXJldHVybntpc1NpbmdsZU9wYXF1ZVBpeGVsOmd9O2lmKG4pe2lmKEltYWdlUmVzaXplci5uZWVkc1RvQmVSZXNpemVkKHQsaSkpe2NvbnN0IGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHQqaSo0KTtjb252ZXJ0QmxhY2tBbmRXaGl0ZVRvUkdCQSh7c3JjOmUsZGVzdDphLHdpZHRoOnQsaGVpZ2h0Omksbm9uQmxhY2tDb2xvcjowLGludmVyc2VEZWNvZGU6c30pO3JldHVybiBJbWFnZVJlc2l6ZXIuY3JlYXRlSW1hZ2Uoe2tpbmQ6UyxkYXRhOmEsd2lkdGg6dCxoZWlnaHQ6aSxpbnRlcnBvbGF0ZTpyfSl9Y29uc3QgYT1uZXcgT2Zmc2NyZWVuQ2FudmFzKHQsaSksbj1hLmdldENvbnRleHQoIjJkIiksZz1uLmNyZWF0ZUltYWdlRGF0YSh0LGkpO2NvbnZlcnRCbGFja0FuZFdoaXRlVG9SR0JBKHtzcmM6ZSxkZXN0OmcuZGF0YSx3aWR0aDp0LGhlaWdodDppLG5vbkJsYWNrQ29sb3I6MCxpbnZlcnNlRGVjb2RlOnN9KTtuLnB1dEltYWdlRGF0YShnLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDp0LGhlaWdodDppLGludGVycG9sYXRlOnIsYml0bWFwOmEudHJhbnNmZXJUb0ltYWdlQml0bWFwKCl9fXJldHVybiB0aGlzLmNyZWF0ZVJhd01hc2soe2ltZ0FycmF5OmUsd2lkdGg6dCxoZWlnaHQ6aSxpbnZlcnNlRGVjb2RlOnMsaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06YSxpbnRlcnBvbGF0ZTpyfSl9Z2V0IGRyYXdXaWR0aCgpe3JldHVybiBNYXRoLm1heCh0aGlzLndpZHRoLHRoaXMuc21hc2s/LndpZHRofHwwLHRoaXMubWFzaz8ud2lkdGh8fDApfWdldCBkcmF3SGVpZ2h0KCl7cmV0dXJuIE1hdGgubWF4KHRoaXMuaGVpZ2h0LHRoaXMuc21hc2s/LmhlaWdodHx8MCx0aGlzLm1hc2s/LmhlaWdodHx8MCl9ZGVjb2RlQnVmZmVyKGUpe2NvbnN0IHQ9dGhpcy5icGMsaT10aGlzLm51bUNvbXBzLGE9dGhpcy5kZWNvZGVBZGRlbmRzLHM9dGhpcy5kZWNvZGVDb2VmZmljaWVudHMscj0oMTw8dCktMTtsZXQgbixnO2lmKDE9PT10KXtmb3Iobj0wLGc9ZS5sZW5ndGg7bjxnO24rKyllW25dPSshZVtuXTtyZXR1cm59bGV0IG89MDtmb3Iobj0wLGc9dGhpcy53aWR0aCp0aGlzLmhlaWdodDtuPGc7bisrKWZvcihsZXQgdD0wO3Q8aTt0Kyspe2Vbb109ZGVjb2RlQW5kQ2xhbXAoZVtvXSxhW3RdLHNbdF0scik7bysrfX1nZXRDb21wb25lbnRzKGUpe2NvbnN0IHQ9dGhpcy5icGM7aWYoOD09PXQpcmV0dXJuIGU7Y29uc3QgaT10aGlzLndpZHRoLGE9dGhpcy5oZWlnaHQscz10aGlzLm51bUNvbXBzLHI9aSphKnM7bGV0IG4sZz0wO249dDw9OD9uZXcgVWludDhBcnJheShyKTp0PD0xNj9uZXcgVWludDE2QXJyYXkocik6bmV3IFVpbnQzMkFycmF5KHIpO2NvbnN0IG89aSpzLGM9KDE8PHQpLTE7bGV0IEMsaCxsPTA7aWYoMT09PXQpe2xldCB0LGkscztmb3IobGV0IHI9MDtyPGE7cisrKXtpPWwrKC04Jm8pO3M9bCtvO2Zvcig7bDxpOyl7aD1lW2crK107bltsXT1oPj43JjE7bltsKzFdPWg+PjYmMTtuW2wrMl09aD4+NSYxO25bbCszXT1oPj40JjE7bltsKzRdPWg+PjMmMTtuW2wrNV09aD4+MiYxO25bbCs2XT1oPj4xJjE7bltsKzddPTEmaDtsKz04fWlmKGw8cyl7aD1lW2crK107dD0xMjg7Zm9yKDtsPHM7KXtuW2wrK109KyEhKGgmdCk7dD4+PTF9fX19ZWxzZXtsZXQgaT0wO2g9MDtmb3IobD0wLEM9cjtsPEM7KytsKXtpZihsJW89PTApe2g9MDtpPTB9Zm9yKDtpPHQ7KXtoPWg8PDh8ZVtnKytdO2krPTh9Y29uc3QgYT1pLXQ7bGV0IHM9aD4+YTtzPDA/cz0wOnM+YyYmKHM9Yyk7bltsXT1zO2gmPSgxPDxhKS0xO2k9YX19cmV0dXJuIG59YXN5bmMgZmlsbE9wYWNpdHkoZSx0LGksYSxzKXtjb25zdCByPXRoaXMuc21hc2ssbj10aGlzLm1hc2s7bGV0IGcsbyxjLEMsaCxsO2lmKHIpe289ci53aWR0aDtjPXIuaGVpZ2h0O2c9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KG8qYyk7YXdhaXQgci5maWxsR3JheUJ1ZmZlcihnKTtvPT09dCYmYz09PWl8fChnPXJlc2l6ZUltYWdlTWFzayhnLHIuYnBjLG8sYyx0LGkpKX1lbHNlIGlmKG4paWYobiBpbnN0YW5jZW9mIFBERkltYWdlKXtvPW4ud2lkdGg7Yz1uLmhlaWdodDtnPW5ldyBVaW50OENsYW1wZWRBcnJheShvKmMpO24ubnVtQ29tcHM9MTthd2FpdCBuLmZpbGxHcmF5QnVmZmVyKGcpO2ZvcihDPTAsaD1vKmM7QzxoOysrQylnW0NdPTI1NS1nW0NdO289PT10JiZjPT09aXx8KGc9cmVzaXplSW1hZ2VNYXNrKGcsbi5icGMsbyxjLHQsaSkpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkobikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIG1hc2sgZm9ybWF0LiIpO3tnPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KmkpO2NvbnN0IGU9dGhpcy5udW1Db21wcztmb3IoQz0wLGg9dCppO0M8aDsrK0Mpe2xldCB0PTA7Y29uc3QgaT1DKmU7Zm9yKGw9MDtsPGU7KytsKXtjb25zdCBlPXNbaStsXSxhPTIqbDtpZihlPG5bYV18fGU+blthKzFdKXt0PTI1NTticmVha319Z1tDXT10fX19aWYoZylmb3IoQz0wLGw9MyxoPXQqYTtDPGg7KytDLGwrPTQpZVtsXT1nW0NdO2Vsc2UgZm9yKEM9MCxsPTMsaD10KmE7QzxoOysrQyxsKz00KWVbbF09MjU1fXVuZG9QcmVibGVuZChlLHQsaSl7Y29uc3QgYT10aGlzLnNtYXNrPy5tYXR0ZTtpZighYSlyZXR1cm47Y29uc3Qgcz10aGlzLmNvbG9yU3BhY2UuZ2V0UmdiKGEsMCkscj1zWzBdLG49c1sxXSxnPXNbMl0sbz10KmkqNDtmb3IobGV0IHQ9MDt0PG87dCs9NCl7Y29uc3QgaT1lW3QrM107aWYoMD09PWkpe2VbdF09MjU1O2VbdCsxXT0yNTU7ZVt0KzJdPTI1NTtjb250aW51ZX1jb25zdCBhPTI1NS9pO2VbdF09KGVbdF0tcikqYStyO2VbdCsxXT0oZVt0KzFdLW4pKmErbjtlW3QrMl09KGVbdCsyXS1nKSphK2d9fWFzeW5jIGNyZWF0ZUltYWdlRGF0YShlPSExLHQ9ITEpe2NvbnN0IGk9dGhpcy5kcmF3V2lkdGgsYT10aGlzLmRyYXdIZWlnaHQscz17d2lkdGg6aSxoZWlnaHQ6YSxpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlLGtpbmQ6MCxkYXRhOm51bGx9LHI9dGhpcy5udW1Db21wcyxuPXRoaXMud2lkdGgsZz10aGlzLmhlaWdodCxvPXRoaXMuYnBjLGM9bipyKm8rNz4+MyxDPXQmJkltYWdlUmVzaXplci5uZWVkc1RvQmVSZXNpemVkKGksYSk7aWYoIXRoaXMuc21hc2smJiF0aGlzLm1hc2smJiJEZXZpY2VSR0JBIj09PXRoaXMuY29sb3JTcGFjZS5uYW1lKXtzLmtpbmQ9Uztjb25zdCBlPXMuZGF0YT1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZypuKjQse30pO3JldHVybiB0P0M/SW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHMsITEpOnRoaXMuY3JlYXRlQml0bWFwKFMsaSxhLGUpOnN9aWYoIWUpe2xldCBlOyJEZXZpY2VHcmF5Ij09PXRoaXMuY29sb3JTcGFjZS5uYW1lJiYxPT09bz9lPWI6IkRldmljZVJHQiIhPT10aGlzLmNvbG9yU3BhY2UubmFtZXx8OCE9PW98fHRoaXMubmVlZHNEZWNvZGV8fChlPUYpO2lmKGUmJiF0aGlzLnNtYXNrJiYhdGhpcy5tYXNrJiZpPT09biYmYT09PWcpe2NvbnN0IHI9YXdhaXQgdGhpcy4jTihuLGcpO2lmKHIpcmV0dXJuIHI7Y29uc3Qgbz1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZypjLHt9KTtpZih0KXJldHVybiBDP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZSh7ZGF0YTpvLGtpbmQ6ZSx3aWR0aDppLGhlaWdodDphLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9LHRoaXMubmVlZHNEZWNvZGUpOnRoaXMuY3JlYXRlQml0bWFwKGUsbixnLG8pO3Mua2luZD1lO3MuZGF0YT1vO2lmKHRoaXMubmVlZHNEZWNvZGUpe2Fzc2VydChlPT09YiwiUERGSW1hZ2UuY3JlYXRlSW1hZ2VEYXRhOiBUaGUgaW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUuIik7Y29uc3QgdD1zLmRhdGE7Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7ZSsrKXRbZV1ePTI1NX1yZXR1cm4gc31pZih0aGlzLmltYWdlIGluc3RhbmNlb2YgSnBlZ1N0cmVhbSYmIXRoaXMuc21hc2smJiF0aGlzLm1hc2smJiF0aGlzLm5lZWRzRGVjb2RlKXtsZXQgZT1nKmM7aWYodCYmIUMpe2xldCB0PSExO3N3aXRjaCh0aGlzLmNvbG9yU3BhY2UubmFtZSl7Y2FzZSJEZXZpY2VHcmF5IjplKj00O3Q9ITA7YnJlYWs7Y2FzZSJEZXZpY2VSR0IiOmU9ZS8zKjQ7dD0hMDticmVhaztjYXNlIkRldmljZUNNWUsiOnQ9ITB9aWYodCl7Y29uc3QgdD1hd2FpdCB0aGlzLiNOKGksYSk7aWYodClyZXR1cm4gdDtjb25zdCBzPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhlLHtkcmF3V2lkdGg6aSxkcmF3SGVpZ2h0OmEsZm9yY2VSR0JBOiEwfSk7cmV0dXJuIHRoaXMuY3JlYXRlQml0bWFwKFMsaSxhLHMpfX1lbHNlIHN3aXRjaCh0aGlzLmNvbG9yU3BhY2UubmFtZSl7Y2FzZSJEZXZpY2VHcmF5IjplKj0zO2Nhc2UiRGV2aWNlUkdCIjpjYXNlIkRldmljZUNNWUsiOnMua2luZD1GO3MuZGF0YT1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOmksZHJhd0hlaWdodDphLGZvcmNlUkdCOiEwfSk7cmV0dXJuIEM/SW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHMpOnN9fX1jb25zdCBoPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhnKmMse2ludGVybmFsOiEwfSksbD0wfGgubGVuZ3RoL2MqYS9nLFE9dGhpcy5nZXRDb21wb25lbnRzKGgpO2xldCBFLHUsZCxmLHAsbTtpZih0JiYhQyl7ZD1uZXcgT2Zmc2NyZWVuQ2FudmFzKGksYSk7Zj1kLmdldENvbnRleHQoIjJkIik7cD1mLmNyZWF0ZUltYWdlRGF0YShpLGEpO209cC5kYXRhfXMua2luZD1TO2lmKGV8fHRoaXMuc21hc2t8fHRoaXMubWFzayl7dCYmIUN8fChtPW5ldyBVaW50OENsYW1wZWRBcnJheShpKmEqNCkpO0U9MTt1PSEwO2F3YWl0IHRoaXMuZmlsbE9wYWNpdHkobSxpLGEsbCxRKX1lbHNle2lmKCF0fHxDKXtzLmtpbmQ9RjttPW5ldyBVaW50OENsYW1wZWRBcnJheShpKmEqMyk7RT0wfWVsc2V7bmV3IFVpbnQzMkFycmF5KG0uYnVmZmVyKS5maWxsKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzQyNzgxOTAwODA6MjU1KTtFPTF9dT0hMX10aGlzLm5lZWRzRGVjb2RlJiZ0aGlzLmRlY29kZUJ1ZmZlcihRKTt0aGlzLmNvbG9yU3BhY2UuZmlsbFJnYihtLG4sZyxpLGEsbCxvLFEsRSk7dSYmdGhpcy51bmRvUHJlYmxlbmQobSxpLGwpO2lmKHQmJiFDKXtmLnB1dEltYWdlRGF0YShwLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDppLGhlaWdodDphLGJpdG1hcDpkLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9fXMuZGF0YT1tO3JldHVybiBDP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzKTpzfWFzeW5jIGZpbGxHcmF5QnVmZmVyKGUpe2NvbnN0IHQ9dGhpcy5udW1Db21wcztpZigxIT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFJlYWRpbmcgZ3JheSBzY2FsZSBmcm9tIGEgY29sb3IgaW1hZ2U6ICR7dH1gKTtjb25zdCBpPXRoaXMud2lkdGgsYT10aGlzLmhlaWdodCxzPXRoaXMuYnBjLHI9aSp0KnMrNz4+MyxuPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhhKnIse2ludGVybmFsOiEwfSksZz10aGlzLmdldENvbXBvbmVudHMobik7bGV0IG8sYztpZigxPT09cyl7Yz1pKmE7aWYodGhpcy5uZWVkc0RlY29kZSlmb3Iobz0wO288YzsrK28pZVtvXT1nW29dLTEmMjU1O2Vsc2UgZm9yKG89MDtvPGM7KytvKWVbb109MjU1Ji1nW29dO3JldHVybn10aGlzLm5lZWRzRGVjb2RlJiZ0aGlzLmRlY29kZUJ1ZmZlcihnKTtjPWkqYTtjb25zdCBDPTI1NS8oKDE8PHMpLTEpO2ZvcihvPTA7bzxjOysrbyllW29dPUMqZ1tvXX1jcmVhdGVCaXRtYXAoZSx0LGksYSl7Y29uc3Qgcz1uZXcgT2Zmc2NyZWVuQ2FudmFzKHQsaSkscj1zLmdldENvbnRleHQoIjJkIik7bGV0IG47aWYoZT09PVMpbj1uZXcgSW1hZ2VEYXRhKGEsdCxpKTtlbHNle249ci5jcmVhdGVJbWFnZURhdGEodCxpKTtjb252ZXJ0VG9SR0JBKHtraW5kOmUsc3JjOmEsZGVzdDpuZXcgVWludDMyQXJyYXkobi5kYXRhLmJ1ZmZlciksd2lkdGg6dCxoZWlnaHQ6aSxpbnZlcnNlRGVjb2RlOnRoaXMubmVlZHNEZWNvZGV9KX1yLnB1dEltYWdlRGF0YShuLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDp0LGhlaWdodDppLGJpdG1hcDpzLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9fWFzeW5jI04oZSx0KXtjb25zdCBpPWF3YWl0IHRoaXMuaW1hZ2UuZ2V0VHJhbnNmZXJhYmxlSW1hZ2UoKTtyZXR1cm4gaT97ZGF0YTpudWxsLHdpZHRoOmUsaGVpZ2h0OnQsYml0bWFwOmksaW50ZXJwb2xhdGU6dGhpcy5pbnRlcnBvbGF0ZX06bnVsbH1hc3luYyBnZXRJbWFnZUJ5dGVzKGUse2RyYXdXaWR0aDp0LGRyYXdIZWlnaHQ6aSxmb3JjZVJHQkE6YT0hMSxmb3JjZVJHQjpzPSExLGludGVybmFsOnI9ITF9KXt0aGlzLmltYWdlLnJlc2V0KCk7dGhpcy5pbWFnZS5kcmF3V2lkdGg9dHx8dGhpcy53aWR0aDt0aGlzLmltYWdlLmRyYXdIZWlnaHQ9aXx8dGhpcy5oZWlnaHQ7dGhpcy5pbWFnZS5mb3JjZVJHQkE9ISFhO3RoaXMuaW1hZ2UuZm9yY2VSR0I9ISFzO2NvbnN0IG49YXdhaXQgdGhpcy5pbWFnZS5nZXRJbWFnZURhdGEoZSx0aGlzLmpweERlY29kZXJPcHRpb25zKTtpZihyfHx0aGlzLmltYWdlIGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtKXJldHVybiBuO2Fzc2VydChuIGluc3RhbmNlb2YgVWludDhBcnJheSwnUERGSW1hZ2UuZ2V0SW1hZ2VCeXRlczogVW5zdXBwb3J0ZWQgImltYWdlQnl0ZXMiIHR5cGUuJyk7cmV0dXJuIG5ldyBVaW50OEFycmF5KG4pfX1jb25zdCBrcz1PYmplY3QuZnJlZXplKHttYXhJbWFnZVNpemU6LTEsZGlzYWJsZUZvbnRGYWNlOiExLGlnbm9yZUVycm9yczohMSxpc0V2YWxTdXBwb3J0ZWQ6ITAsaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6ITEsaXNDaHJvbWU6ITEsY2FudmFzTWF4QXJlYUluQnl0ZXM6LTEsZm9udEV4dHJhUHJvcGVydGllczohMSx1c2VTeXN0ZW1Gb250czohMCxjTWFwVXJsOm51bGwsc3RhbmRhcmRGb250RGF0YVVybDpudWxsfSksUnM9MSxOcz0yLEdzPVByb21pc2UucmVzb2x2ZSgpO2Z1bmN0aW9uIG5vcm1hbGl6ZUJsZW5kTW9kZShlLHQ9ITEpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9bm9ybWFsaXplQmxlbmRNb2RlKHQsITApO2lmKGUpcmV0dXJuIGV9d2FybihgVW5zdXBwb3J0ZWQgYmxlbmQgbW9kZSBBcnJheTogJHtlfWApO3JldHVybiJzb3VyY2Utb3ZlciJ9aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpcmV0dXJuIHQ/bnVsbDoic291cmNlLW92ZXIiO3N3aXRjaChlLm5hbWUpe2Nhc2UiTm9ybWFsIjpjYXNlIkNvbXBhdGlibGUiOnJldHVybiJzb3VyY2Utb3ZlciI7Y2FzZSJNdWx0aXBseSI6cmV0dXJuIm11bHRpcGx5IjtjYXNlIlNjcmVlbiI6cmV0dXJuInNjcmVlbiI7Y2FzZSJPdmVybGF5IjpyZXR1cm4ib3ZlcmxheSI7Y2FzZSJEYXJrZW4iOnJldHVybiJkYXJrZW4iO2Nhc2UiTGlnaHRlbiI6cmV0dXJuImxpZ2h0ZW4iO2Nhc2UiQ29sb3JEb2RnZSI6cmV0dXJuImNvbG9yLWRvZGdlIjtjYXNlIkNvbG9yQnVybiI6cmV0dXJuImNvbG9yLWJ1cm4iO2Nhc2UiSGFyZExpZ2h0IjpyZXR1cm4iaGFyZC1saWdodCI7Y2FzZSJTb2Z0TGlnaHQiOnJldHVybiJzb2Z0LWxpZ2h0IjtjYXNlIkRpZmZlcmVuY2UiOnJldHVybiJkaWZmZXJlbmNlIjtjYXNlIkV4Y2x1c2lvbiI6cmV0dXJuImV4Y2x1c2lvbiI7Y2FzZSJIdWUiOnJldHVybiJodWUiO2Nhc2UiU2F0dXJhdGlvbiI6cmV0dXJuInNhdHVyYXRpb24iO2Nhc2UiQ29sb3IiOnJldHVybiJjb2xvciI7Y2FzZSJMdW1pbm9zaXR5IjpyZXR1cm4ibHVtaW5vc2l0eSJ9aWYodClyZXR1cm4gbnVsbDt3YXJuKGBVbnN1cHBvcnRlZCBibGVuZCBtb2RlOiAke2UubmFtZX1gKTtyZXR1cm4ic291cmNlLW92ZXIifWZ1bmN0aW9uIGFkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhlLHQpe3Qub2JqSWQmJmUuYWRkRGVwZW5kZW5jeSh0Lm9iaklkKTtlLmFkZEltYWdlT3BzKHQuZm4sdC5hcmdzLHQub3B0aW9uYWxDb250ZW50KTt0LmZuPT09WGUmJnQuYXJnc1swXT8uY291bnQ+MCYmdC5hcmdzWzBdLmNvdW50Kyt9Y2xhc3MgVGltZVNsb3RNYW5hZ2Vye3N0YXRpYyBUSU1FX1NMT1RfRFVSQVRJT05fTVM9MjA7c3RhdGljIENIRUNLX1RJTUVfRVZFUlk9MTAwO2NvbnN0cnVjdG9yKCl7dGhpcy5yZXNldCgpfWNoZWNrKCl7aWYoKyt0aGlzLmNoZWNrZWQ8VGltZVNsb3RNYW5hZ2VyLkNIRUNLX1RJTUVfRVZFUlkpcmV0dXJuITE7dGhpcy5jaGVja2VkPTA7cmV0dXJuIHRoaXMuZW5kVGltZTw9RGF0ZS5ub3coKX1yZXNldCgpe3RoaXMuZW5kVGltZT1EYXRlLm5vdygpK1RpbWVTbG90TWFuYWdlci5USU1FX1NMT1RfRFVSQVRJT05fTVM7dGhpcy5jaGVja2VkPTB9fWNsYXNzIFBhcnRpYWxFdmFsdWF0b3J7Y29uc3RydWN0b3Ioe3hyZWY6ZSxoYW5kbGVyOnQscGFnZUluZGV4OmksaWRGYWN0b3J5OmEsZm9udENhY2hlOnMsYnVpbHRJbkNNYXBDYWNoZTpyLHN0YW5kYXJkRm9udERhdGFDYWNoZTpuLGdsb2JhbEltYWdlQ2FjaGU6ZyxzeXN0ZW1Gb250Q2FjaGU6byxvcHRpb25zOmM9bnVsbH0pe3RoaXMueHJlZj1lO3RoaXMuaGFuZGxlcj10O3RoaXMucGFnZUluZGV4PWk7dGhpcy5pZEZhY3Rvcnk9YTt0aGlzLmZvbnRDYWNoZT1zO3RoaXMuYnVpbHRJbkNNYXBDYWNoZT1yO3RoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlPW47dGhpcy5nbG9iYWxJbWFnZUNhY2hlPWc7dGhpcy5zeXN0ZW1Gb250Q2FjaGU9bzt0aGlzLm9wdGlvbnM9Y3x8a3M7dGhpcy50eXBlM0ZvbnRSZWZzPW51bGw7dGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlPW5ldyBSZWdpb25hbEltYWdlQ2FjaGU7dGhpcy5fZmV0Y2hCdWlsdEluQ01hcEJvdW5kPXRoaXMuZmV0Y2hCdWlsdEluQ01hcC5iaW5kKHRoaXMpO0ltYWdlUmVzaXplci5zZXRPcHRpb25zKHtpc0Nocm9tZTp0aGlzLm9wdGlvbnMuaXNDaHJvbWUsbWF4QXJlYTp0aGlzLm9wdGlvbnMuY2FudmFzTWF4QXJlYUluQnl0ZXN9KX1nZXQgX3BkZkZ1bmN0aW9uRmFjdG9yeSgpe3JldHVybiBzaGFkb3codGhpcywiX3BkZkZ1bmN0aW9uRmFjdG9yeSIsbmV3IFBERkZ1bmN0aW9uRmFjdG9yeSh7eHJlZjp0aGlzLnhyZWYsaXNFdmFsU3VwcG9ydGVkOnRoaXMub3B0aW9ucy5pc0V2YWxTdXBwb3J0ZWR9KSl9Z2V0IHBhcnNpbmdUeXBlM0ZvbnQoKXtyZXR1cm4hIXRoaXMudHlwZTNGb250UmVmc31jbG9uZShlPW51bGwpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZSh0aGlzKTt0Lm9wdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMub3B0aW9ucyxlKTtyZXR1cm4gdH1oYXNCbGVuZE1vZGVzKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuITE7aWYoZS5vYmpJZCYmdC5oYXMoZS5vYmpJZCkpcmV0dXJuITE7Y29uc3QgaT1uZXcgUmVmU2V0KHQpO2Uub2JqSWQmJmkucHV0KGUub2JqSWQpO2NvbnN0IGE9W2VdLHM9dGhpcy54cmVmO2Zvcig7YS5sZW5ndGg7KXtjb25zdCBlPWEuc2hpZnQoKSx0PWUuZ2V0KCJFeHRHU3RhdGUiKTtpZih0IGluc3RhbmNlb2YgRGljdClmb3IobGV0IGUgb2YgdC5nZXRSYXdWYWx1ZXMoKSl7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoaS5oYXMoZSkpY29udGludWU7dHJ5e2U9cy5mZXRjaChlKX1jYXRjaCh0KXtpLnB1dChlKTtpbmZvKGBoYXNCbGVuZE1vZGVzIC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHt0fSIuYCk7Y29udGludWV9fWlmKCEoZSBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2Uub2JqSWQmJmkucHV0KGUub2JqSWQpO2NvbnN0IHQ9ZS5nZXQoIkJNIik7aWYodCBpbnN0YW5jZW9mIE5hbWUpe2lmKCJOb3JtYWwiIT09dC5uYW1lKXJldHVybiEwfWVsc2UgaWYodm9pZCAwIT09dCYmQXJyYXkuaXNBcnJheSh0KSlmb3IoY29uc3QgZSBvZiB0KWlmKGUgaW5zdGFuY2VvZiBOYW1lJiYiTm9ybWFsIiE9PWUubmFtZSlyZXR1cm4hMH1jb25zdCByPWUuZ2V0KCJYT2JqZWN0Iik7aWYociBpbnN0YW5jZW9mIERpY3QpZm9yKGxldCBlIG9mIHIuZ2V0UmF3VmFsdWVzKCkpe2lmKGUgaW5zdGFuY2VvZiBSZWYpe2lmKGkuaGFzKGUpKWNvbnRpbnVlO3RyeXtlPXMuZmV0Y2goZSl9Y2F0Y2godCl7aS5wdXQoZSk7aW5mbyhgaGFzQmxlbmRNb2RlcyAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke3R9Ii5gKTtjb250aW51ZX19aWYoIShlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpY29udGludWU7ZS5kaWN0Lm9iaklkJiZpLnB1dChlLmRpY3Qub2JqSWQpO2NvbnN0IHQ9ZS5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYodCBpbnN0YW5jZW9mIERpY3QmJighdC5vYmpJZHx8IWkuaGFzKHQub2JqSWQpKSl7YS5wdXNoKHQpO3Qub2JqSWQmJmkucHV0KHQub2JqSWQpfX19Zm9yKGNvbnN0IGUgb2YgaSl0LnB1dChlKTtyZXR1cm4hMX1hc3luYyBmZXRjaEJ1aWx0SW5DTWFwKGUpe2NvbnN0IHQ9dGhpcy5idWlsdEluQ01hcENhY2hlLmdldChlKTtpZih0KXJldHVybiB0O2xldCBpO2lmKG51bGwhPT10aGlzLm9wdGlvbnMuY01hcFVybCl7Y29uc3QgdD1gJHt0aGlzLm9wdGlvbnMuY01hcFVybH0ke2V9LmJjbWFwYCxhPWF3YWl0IGZldGNoKHQpO2lmKCFhLm9rKXRocm93IG5ldyBFcnJvcihgZmV0Y2hCdWlsdEluQ01hcDogZmFpbGVkIHRvIGZldGNoIGZpbGUgIiR7dH0iIHdpdGggIiR7YS5zdGF0dXNUZXh0fSIuYCk7aT17Y01hcERhdGE6bmV3IFVpbnQ4QXJyYXkoYXdhaXQgYS5hcnJheUJ1ZmZlcigpKSxpc0NvbXByZXNzZWQ6ITB9fWVsc2UgaT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaEJ1aWx0SW5DTWFwIix7bmFtZTplfSk7dGhpcy5idWlsdEluQ01hcENhY2hlLnNldChlLGkpO3JldHVybiBpfWFzeW5jIGZldGNoU3RhbmRhcmRGb250RGF0YShlKXtjb25zdCB0PXRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmdldChlKTtpZih0KXJldHVybiBuZXcgU3RyZWFtKHQpO2lmKHRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmIlN5bWJvbCIhPT1lJiYiWmFwZkRpbmdiYXRzIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1aaSgpW2VdO2xldCBhO2lmKG51bGwhPT10aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybCl7Y29uc3QgZT1gJHt0aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybH0ke2l9YCx0PWF3YWl0IGZldGNoKGUpO3Qub2s/YT1uZXcgVWludDhBcnJheShhd2FpdCB0LmFycmF5QnVmZmVyKCkpOndhcm4oYGZldGNoU3RhbmRhcmRGb250RGF0YTogZmFpbGVkIHRvIGZldGNoIGZpbGUgIiR7ZX0iIHdpdGggIiR7dC5zdGF0dXNUZXh0fSIuYCl9ZWxzZSB0cnl7YT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaFN0YW5kYXJkRm9udERhdGEiLHtmaWxlbmFtZTppfSl9Y2F0Y2goZSl7d2FybihgZmV0Y2hTdGFuZGFyZEZvbnREYXRhOiBmYWlsZWQgdG8gZmV0Y2ggZmlsZSAiJHtpfSIgd2l0aCAiJHtlfSIuYCl9aWYoIWEpcmV0dXJuIG51bGw7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUuc2V0KGUsYSk7cmV0dXJuIG5ldyBTdHJlYW0oYSl9YXN5bmMgYnVpbGRGb3JtWE9iamVjdChlLHQsaSxhLHMscixuKXtjb25zdCBnPXQuZGljdCxvPWxvb2t1cE1hdHJpeChnLmdldEFycmF5KCJNYXRyaXgiKSxudWxsKSxjPWxvb2t1cE5vcm1hbFJlY3QoZy5nZXRBcnJheSgiQkJveCIpLG51bGwpO2xldCBDLGg7Zy5oYXMoIk9DIikmJihDPWF3YWl0IHRoaXMucGFyc2VNYXJrZWRDb250ZW50UHJvcHMoZy5nZXQoIk9DIiksZSkpO3ZvaWQgMCE9PUMmJmEuYWRkT3AoSmUsWyJPQyIsQ10pO2NvbnN0IGw9Zy5nZXQoIkdyb3VwIik7aWYobCl7aD17bWF0cml4Om8sYmJveDpjLHNtYXNrOmksaXNvbGF0ZWQ6ITEsa25vY2tvdXQ6ITF9O2xldCB0PW51bGw7aWYoaXNOYW1lKGwuZ2V0KCJTIiksIlRyYW5zcGFyZW5jeSIpKXtoLmlzb2xhdGVkPWwuZ2V0KCJJIil8fCExO2gua25vY2tvdXQ9bC5nZXQoIksiKXx8ITE7aWYobC5oYXMoIkNTIikpe2NvbnN0IGk9bC5nZXRSYXcoIkNTIiksYT1Db2xvclNwYWNlLmdldENhY2hlZChpLHRoaXMueHJlZixuKTt0PWF8fGF3YWl0IHRoaXMucGFyc2VDb2xvclNwYWNlKHtjczppLHJlc291cmNlczplLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KX19aWYoaT8uYmFja2Ryb3Ape3R8fD1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2kuYmFja2Ryb3A9dC5nZXRSZ2IoaS5iYWNrZHJvcCwwKX1hLmFkZE9wKE9lLFtoXSl9Y29uc3QgUT1sP1tvLG51bGxdOltvLGNdO2EuYWRkT3AoVGUsUSk7YXdhaXQgdGhpcy5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTp0LHRhc2s6cyxyZXNvdXJjZXM6Zy5nZXQoIlJlc291cmNlcyIpfHxlLG9wZXJhdG9yTGlzdDphLGluaXRpYWxTdGF0ZTpyfSk7YS5hZGRPcChxZSxbXSk7bCYmYS5hZGRPcChQZSxbaF0pO3ZvaWQgMCE9PUMmJmEuYWRkT3AoWWUsW10pfV9zZW5kSW1nRGF0YShlLHQsaT0hMSl7Y29uc3QgYT10P1t0LmJpdG1hcHx8dC5kYXRhLmJ1ZmZlcl06bnVsbDtyZXR1cm4gdGhpcy5wYXJzaW5nVHlwZTNGb250fHxpP3RoaXMuaGFuZGxlci5zZW5kKCJjb21tb25vYmoiLFtlLCJJbWFnZSIsdF0sYSk6dGhpcy5oYW5kbGVyLnNlbmQoIm9iaiIsW2UsdGhpcy5wYWdlSW5kZXgsIkltYWdlIix0XSxhKX1hc3luYyBidWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmk9ITEsb3BlcmF0b3JMaXN0OmEsY2FjaGVLZXk6cyxsb2NhbEltYWdlQ2FjaGU6cixsb2NhbENvbG9yU3BhY2VDYWNoZTpufSl7Y29uc3QgZz10LmRpY3Qsbz1nLm9iaklkLGM9Zy5nZXQoIlciLCJXaWR0aCIpLEM9Zy5nZXQoIkgiLCJIZWlnaHQiKTtpZighY3x8Im51bWJlciIhPXR5cGVvZiBjfHwhQ3x8Im51bWJlciIhPXR5cGVvZiBDKXt3YXJuKCJJbWFnZSBkaW1lbnNpb25zIGFyZSBtaXNzaW5nLCBvciBub3QgbnVtYmVycy4iKTtyZXR1cm59Y29uc3QgaD10aGlzLm9wdGlvbnMubWF4SW1hZ2VTaXplO2lmKC0xIT09aCYmYypDPmgpe2NvbnN0IGU9IkltYWdlIGV4Y2VlZGVkIG1heGltdW0gYWxsb3dlZCBzaXplIGFuZCB3YXMgcmVtb3ZlZC4iO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oZSk7cmV0dXJufXRocm93IG5ldyBFcnJvcihlKX1sZXQgbDtnLmhhcygiT0MiKSYmKGw9YXdhaXQgdGhpcy5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhnLmdldCgiT0MiKSxlKSk7bGV0IFEsRTtpZihnLmdldCgiSU0iLCJJbWFnZU1hc2siKXx8ITEpe2NvbnN0IGU9Zy5nZXQoIkkiLCJJbnRlcnBvbGF0ZSIpLGk9Yys3Pj4zLG49dC5nZXRCeXRlcyhpKkMpLGg9Zy5nZXRBcnJheSgiRCIsIkRlY29kZSIpO2lmKHRoaXMucGFyc2luZ1R5cGUzRm9udCl7UT1QREZJbWFnZS5jcmVhdGVSYXdNYXNrKHtpbWdBcnJheTpuLHdpZHRoOmMsaGVpZ2h0OkMsaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06dCBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSxpbnZlcnNlRGVjb2RlOmg/LlswXT4wLGludGVycG9sYXRlOmV9KTtRLmNhY2hlZD0hIXM7RT1bUV07YS5hZGRJbWFnZU9wcyhYZSxFLGwpO2lmKHMpe2NvbnN0IGU9e2ZuOlhlLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1RPWF3YWl0IFBERkltYWdlLmNyZWF0ZU1hc2soe2ltZ0FycmF5Om4sd2lkdGg6YyxoZWlnaHQ6QyxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTp0IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtLGludmVyc2VEZWNvZGU6aD8uWzBdPjAsaW50ZXJwb2xhdGU6ZSxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDp0aGlzLm9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR9KTtpZihRLmlzU2luZ2xlT3BhcXVlUGl4ZWwpe2EuYWRkSW1hZ2VPcHMoZXQsW10sbCk7aWYocyl7Y29uc3QgZT17Zm46ZXQsYXJnczpbXSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1jb25zdCB1PWBtYXNrXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO2EuYWRkRGVwZW5kZW5jeSh1KTtRLmRhdGFMZW49US5iaXRtYXA/US53aWR0aCpRLmhlaWdodCo0OlEuZGF0YS5sZW5ndGg7dGhpcy5fc2VuZEltZ0RhdGEodSxRKTtFPVt7ZGF0YTp1LHdpZHRoOlEud2lkdGgsaGVpZ2h0OlEuaGVpZ2h0LGludGVycG9sYXRlOlEuaW50ZXJwb2xhdGUsY291bnQ6MX1dO2EuYWRkSW1hZ2VPcHMoWGUsRSxsKTtpZihzKXtjb25zdCBlPXtvYmpJZDp1LGZuOlhlLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1pZihpJiZjK0M8MjAwJiYhZy5oYXMoIlNNYXNrIikmJiFnLmhhcygiTWFzayIpKXt0cnl7Y29uc3Qgcz1uZXcgUERGSW1hZ2Uoe3hyZWY6dGhpcy54cmVmLHJlczplLGltYWdlOnQsaXNJbmxpbmU6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KTtRPWF3YWl0IHMuY3JlYXRlSW1hZ2VEYXRhKCEwLCExKTthLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPXRoaXMub3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDthLmFkZEltYWdlT3BzKHplLFtRXSxsKX1jYXRjaChlKXtjb25zdCB0PWBVbmFibGUgdG8gZGVjb2RlIGlubGluZSBpbWFnZTogIiR7ZX0iLmA7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgbmV3IEVycm9yKHQpO3dhcm4odCl9cmV0dXJufWxldCB1PWBpbWdfJHt0aGlzLmlkRmFjdG9yeS5jcmVhdGVPYmpJZCgpfWAsZD0hMTtpZih0aGlzLnBhcnNpbmdUeXBlM0ZvbnQpdT1gJHt0aGlzLmlkRmFjdG9yeS5nZXREb2NJZCgpfV90eXBlM18ke3V9YDtlbHNlIGlmKHMmJm8pe2Q9dGhpcy5nbG9iYWxJbWFnZUNhY2hlLnNob3VsZENhY2hlKG8sdGhpcy5wYWdlSW5kZXgpO2lmKGQpe2Fzc2VydCghaSwiQ2Fubm90IGNhY2hlIGFuIGlubGluZSBpbWFnZSBnbG9iYWxseS4iKTt1PWAke3RoaXMuaWRGYWN0b3J5LmdldERvY0lkKCl9XyR7dX1gfX1hLmFkZERlcGVuZGVuY3kodSk7RT1bdSxjLENdO2EuYWRkSW1hZ2VPcHMoVmUsRSxsKTtpZihkKXtpZih0aGlzLmdsb2JhbEltYWdlQ2FjaGUuaGFzRGVjb2RlRmFpbGVkKG8pKXt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YShvLHtvYmpJZDp1LGZuOlZlLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bCxieXRlU2l6ZTowfSk7dGhpcy5fc2VuZEltZ0RhdGEodSxudWxsLGQpO3JldHVybn1pZihjKkM+MjVlNHx8Zy5oYXMoIlNNYXNrIil8fGcuaGFzKCJNYXNrIikpe2NvbnN0IGU9YXdhaXQgdGhpcy5oYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgiY29tbW9ub2JqIixbdSwiQ29weUxvY2FsSW1hZ2UiLHtpbWFnZVJlZjpvfV0pO2lmKGUpe3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46VmUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KTt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUobyxlKTtyZXR1cm59fX1QREZJbWFnZS5idWlsZEltYWdlKHt4cmVmOnRoaXMueHJlZixyZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmkscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxsb2NhbENvbG9yU3BhY2VDYWNoZTpufSkudGhlbigoYXN5bmMgZT0+e1E9YXdhaXQgZS5jcmVhdGVJbWFnZURhdGEoITEsdGhpcy5vcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKTtRLmRhdGFMZW49US5iaXRtYXA/US53aWR0aCpRLmhlaWdodCo0OlEuZGF0YS5sZW5ndGg7US5yZWY9bztkJiZ0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUobyxRLmRhdGFMZW4pO3JldHVybiB0aGlzLl9zZW5kSW1nRGF0YSh1LFEsZCl9KSkuY2F0Y2goKGU9Pnt3YXJuKGBVbmFibGUgdG8gZGVjb2RlIGltYWdlICIke3V9IjogIiR7ZX0iLmApO28mJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5hZGREZWNvZGVGYWlsZWQobyk7cmV0dXJuIHRoaXMuX3NlbmRJbWdEYXRhKHUsbnVsbCxkKX0pKTtpZihzKXtjb25zdCBlPXtvYmpJZDp1LGZuOlZlLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO2lmKG8pe3RoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpO2QmJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46VmUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KX19fWhhbmRsZVNNYXNrKGUsdCxpLGEscyxyKXtjb25zdCBuPWUuZ2V0KCJHIiksZz17c3VidHlwZTplLmdldCgiUyIpLm5hbWUsYmFja2Ryb3A6ZS5nZXQoIkJDIil9LG89ZS5nZXQoIlRSIik7aWYoaXNQREZGdW5jdGlvbihvKSl7Y29uc3QgZT10aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnkuY3JlYXRlKG8pLHQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPW5ldyBGbG9hdDMyQXJyYXkoMSk7Zm9yKGxldCBhPTA7YTwyNTY7YSsrKXtpWzBdPWEvMjU1O2UoaSwwLGksMCk7dFthXT0yNTUqaVswXXwwfWcudHJhbnNmZXJNYXA9dH1yZXR1cm4gdGhpcy5idWlsZEZvcm1YT2JqZWN0KHQsbixnLGksYSxzLnN0YXRlLmNsb25lKCkscil9aGFuZGxlVHJhbnNmZXJGdW5jdGlvbihlKXtsZXQgdDtpZihBcnJheS5pc0FycmF5KGUpKXQ9ZTtlbHNle2lmKCFpc1BERkZ1bmN0aW9uKGUpKXJldHVybiBudWxsO3Q9W2VdfWNvbnN0IGk9W107bGV0IGE9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2hJZlJlZihlKTthKys7aWYoaXNOYW1lKHQsIklkZW50aXR5Iikpe2kucHVzaChudWxsKTtjb250aW51ZX1pZighaXNQREZGdW5jdGlvbih0KSlyZXR1cm4gbnVsbDtjb25zdCByPXRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeS5jcmVhdGUodCksbj1uZXcgVWludDhBcnJheSgyNTYpLGc9bmV3IEZsb2F0MzJBcnJheSgxKTtmb3IobGV0IGU9MDtlPDI1NjtlKyspe2dbMF09ZS8yNTU7cihnLDAsZywwKTtuW2VdPTI1NSpnWzBdfDB9aS5wdXNoKG4pO3MrK31yZXR1cm4gMSE9PWEmJjQhPT1hfHwwPT09cz9udWxsOml9aGFuZGxlVGlsaW5nVHlwZShlLHQsaSxhLHMscixuLGcpe2NvbnN0IG89bmV3IE9wZXJhdG9yTGlzdCxjPURpY3QubWVyZ2Uoe3hyZWY6dGhpcy54cmVmLGRpY3RBcnJheTpbcy5nZXQoIlJlc291cmNlcyIpLGldfSk7cmV0dXJuIHRoaXMuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06YSx0YXNrOm4scmVzb3VyY2VzOmMsb3BlcmF0b3JMaXN0Om99KS50aGVuKChmdW5jdGlvbigpe2NvbnN0IGk9by5nZXRJUigpLGE9Z2V0VGlsaW5nUGF0dGVybklSKGkscyx0KTtyLmFkZERlcGVuZGVuY2llcyhvLmRlcGVuZGVuY2llcyk7ci5hZGRPcChlLGEpO3Mub2JqSWQmJmcuc2V0KG51bGwscy5vYmpJZCx7b3BlcmF0b3JMaXN0SVI6aSxkaWN0OnN9KX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBoYW5kbGVUaWxpbmdUeXBlIC0gaWdub3JpbmcgcGF0dGVybjogIiR7ZX0iLmApfX0pKX1hc3luYyBoYW5kbGVTZXRGb250KGUsdCxpLGEscyxyLG49bnVsbCxnPW51bGwpe2NvbnN0IG89dD8uWzBdaW5zdGFuY2VvZiBOYW1lP3RbMF0ubmFtZTpudWxsO2xldCBjPWF3YWl0IHRoaXMubG9hZEZvbnQobyxpLGUsbixnKTtpZihjLmZvbnQuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IGMubG9hZFR5cGUzRGF0YSh0aGlzLGUscyk7YS5hZGREZXBlbmRlbmNpZXMoYy50eXBlM0RlcGVuZGVuY2llcyl9Y2F0Y2goZSl7Yz1uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBUeXBlMyBmb250IGxvYWQgZXJyb3I6ICR7ZX1gKSxkaWN0OmMuZm9udCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pfXIuZm9udD1jLmZvbnQ7Yy5zZW5kKHRoaXMuaGFuZGxlcik7cmV0dXJuIGMubG9hZGVkTmFtZX1oYW5kbGVUZXh0KGUsdCl7Y29uc3QgaT10LmZvbnQsYT1pLmNoYXJzVG9HbHlwaHMoZSk7aWYoaS5kYXRhKXsoISEodC50ZXh0UmVuZGVyaW5nTW9kZSZEKXx8IlBhdHRlcm4iPT09dC5maWxsQ29sb3JTcGFjZS5uYW1lfHxpLmRpc2FibGVGb250RmFjZXx8dGhpcy5vcHRpb25zLmRpc2FibGVGb250RmFjZSkmJlBhcnRpYWxFdmFsdWF0b3IuYnVpbGRGb250UGF0aHMoaSxhLHRoaXMuaGFuZGxlcix0aGlzLm9wdGlvbnMpfXJldHVybiBhfWVuc3VyZVN0YXRlRm9udChlKXtpZihlLmZvbnQpcmV0dXJuO2NvbnN0IHQ9bmV3IEZvcm1hdEVycm9yKCJNaXNzaW5nIHNldEZvbnQgKFRmKSBvcGVyYXRvciBiZWZvcmUgdGV4dCByZW5kZXJpbmcgb3BlcmF0b3IuIik7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgdDt3YXJuKGBlbnN1cmVTdGF0ZUZvbnQ6ICIke3R9Ii5gKX1hc3luYyBzZXRHU3RhdGUoe3Jlc291cmNlczplLGdTdGF0ZTp0LG9wZXJhdG9yTGlzdDppLGNhY2hlS2V5OmEsdGFzazpzLHN0YXRlTWFuYWdlcjpyLGxvY2FsR1N0YXRlQ2FjaGU6bixsb2NhbENvbG9yU3BhY2VDYWNoZTpnfSl7Y29uc3Qgbz10Lm9iaklkO2xldCBjPSEwO2NvbnN0IEM9W107bGV0IGg9UHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGNvbnN0IGEgb2YgdC5nZXRLZXlzKCkpe2NvbnN0IG49dC5nZXQoYSk7c3dpdGNoKGEpe2Nhc2UiVHlwZSI6YnJlYWs7Y2FzZSJMVyI6Y2FzZSJMQyI6Y2FzZSJMSiI6Y2FzZSJNTCI6Y2FzZSJEIjpjYXNlIlJJIjpjYXNlIkZMIjpjYXNlIkNBIjpjYXNlImNhIjpDLnB1c2goW2Esbl0pO2JyZWFrO2Nhc2UiRm9udCI6Yz0hMTtoPWgudGhlbigoKCk9PnRoaXMuaGFuZGxlU2V0Rm9udChlLG51bGwsblswXSxpLHMsci5zdGF0ZSkudGhlbigoZnVuY3Rpb24oZSl7aS5hZGREZXBlbmRlbmN5KGUpO0MucHVzaChbYSxbZSxuWzFdXV0pfSkpKSk7YnJlYWs7Y2FzZSJCTSI6Qy5wdXNoKFthLG5vcm1hbGl6ZUJsZW5kTW9kZShuKV0pO2JyZWFrO2Nhc2UiU01hc2siOmlmKGlzTmFtZShuLCJOb25lIikpe0MucHVzaChbYSwhMV0pO2JyZWFrfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjPSExO2g9aC50aGVuKCgoKT0+dGhpcy5oYW5kbGVTTWFzayhuLGUsaSxzLHIsZykpKTtDLnB1c2goW2EsITBdKX1lbHNlIHdhcm4oIlVuc3VwcG9ydGVkIFNNYXNrIHR5cGUiKTticmVhaztjYXNlIlRSIjpjb25zdCB0PXRoaXMuaGFuZGxlVHJhbnNmZXJGdW5jdGlvbihuKTtDLnB1c2goW2EsdF0pO2JyZWFrO2Nhc2UiT1AiOmNhc2Uib3AiOmNhc2UiT1BNIjpjYXNlIkJHIjpjYXNlIkJHMiI6Y2FzZSJVQ1IiOmNhc2UiVUNSMiI6Y2FzZSJUUjIiOmNhc2UiSFQiOmNhc2UiU00iOmNhc2UiU0EiOmNhc2UiQUlTIjpjYXNlIlRLIjppbmZvKCJncmFwaGljIHN0YXRlIG9wZXJhdG9yICIrYSk7YnJlYWs7ZGVmYXVsdDppbmZvKCJVbmtub3duIGdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgIithKX19YXdhaXQgaDtDLmxlbmd0aD4wJiZpLmFkZE9wKE5BLFtDXSk7YyYmbi5zZXQoYSxvLEMpfWxvYWRGb250KGUsdCxpLGE9bnVsbCxzPW51bGwpe2NvbnN0IGVycm9yRm9udD1hc3luYygpPT5uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApLGRpY3Q6dCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pO2xldCByO2lmKHQpdCBpbnN0YW5jZW9mIFJlZiYmKHI9dCk7ZWxzZXtjb25zdCB0PWkuZ2V0KCJGb250Iik7dCYmKHI9dC5nZXRSYXcoZSkpfWlmKHIpe2lmKHRoaXMudHlwZTNGb250UmVmcz8uaGFzKHIpKXJldHVybiBlcnJvckZvbnQoKTtpZih0aGlzLmZvbnRDYWNoZS5oYXMocikpcmV0dXJuIHRoaXMuZm9udENhY2hlLmdldChyKTt0cnl7dD10aGlzLnhyZWYuZmV0Y2hJZlJlZihyKX1jYXRjaChlKXt3YXJuKGBsb2FkRm9udCAtIGxvb2t1cCBmYWlsZWQ6ICIke2V9Ii5gKX19aWYoISh0IGluc3RhbmNlb2YgRGljdCkpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzJiYhdGhpcy5wYXJzaW5nVHlwZTNGb250KXt3YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApO3JldHVybiBlcnJvckZvbnQoKX13YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlIC0tIGF0dGVtcHRpbmcgdG8gZmFsbGJhY2sgdG8gYSBkZWZhdWx0IGZvbnQuYCk7dD1hfHxQYXJ0aWFsRXZhbHVhdG9yLmZhbGxiYWNrRm9udERpY3R9aWYodC5jYWNoZUtleSYmdGhpcy5mb250Q2FjaGUuaGFzKHQuY2FjaGVLZXkpKXJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQodC5jYWNoZUtleSk7Y29uc3R7cHJvbWlzZTpuLHJlc29sdmU6Z309UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7bGV0IG87dHJ5e289dGhpcy5wcmVFdmFsdWF0ZUZvbnQodCk7by5jc3NGb250SW5mbz1zfWNhdGNoKGUpe3dhcm4oYGxvYWRGb250IC0gcHJlRXZhbHVhdGVGb250IGZhaWxlZDogIiR7ZX0iLmApO3JldHVybiBlcnJvckZvbnQoKX1jb25zdHtkZXNjcmlwdG9yOmMsaGFzaDpDfT1vLGg9ciBpbnN0YW5jZW9mIFJlZjtsZXQgbDtpZihDJiZjIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1jLmZvbnRBbGlhc2VzfHw9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlW0NdKXtjb25zdCB0PWVbQ10uYWxpYXNSZWY7aWYoaCYmdCYmdGhpcy5mb250Q2FjaGUuaGFzKHQpKXt0aGlzLmZvbnRDYWNoZS5wdXRBbGlhcyhyLHQpO3JldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQocil9fWVsc2UgZVtDXT17Zm9udElEOnRoaXMuaWRGYWN0b3J5LmNyZWF0ZUZvbnRJZCgpfTtoJiYoZVtDXS5hbGlhc1JlZj1yKTtsPWVbQ10uZm9udElEfWVsc2UgbD10aGlzLmlkRmFjdG9yeS5jcmVhdGVGb250SWQoKTthc3NlcnQobD8uc3RhcnRzV2l0aCgiZiIpLCdUaGUgImZvbnRJRCIgbXVzdCBiZSAoY29ycmVjdGx5KSBkZWZpbmVkLicpO2lmKGgpdGhpcy5mb250Q2FjaGUucHV0KHIsbik7ZWxzZXt0LmNhY2hlS2V5PWBjYWNoZUtleV8ke2x9YDt0aGlzLmZvbnRDYWNoZS5wdXQodC5jYWNoZUtleSxuKX10LmxvYWRlZE5hbWU9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fJHtsfWA7dGhpcy50cmFuc2xhdGVGb250KG8pLnRoZW4oKGU9PntnKG5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDplLGRpY3Q6dCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pKX0pKS5jYXRjaCgoZT0+e3dhcm4oYGxvYWRGb250IC0gdHJhbnNsYXRlRm9udCBmYWlsZWQ6ICIke2V9Ii5gKTtnKG5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDpuZXcgRXJyb3JGb250KGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSksZGljdDp0LGV2YWx1YXRvck9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfSkpO3JldHVybiBufWJ1aWxkUGF0aChlLHQsaSxhPSExKXtjb25zdCBzPWUubGVuZ3RoLTE7aXx8KGk9W10pO2lmKHM8MHx8ZS5mbkFycmF5W3NdIT09dHQpe2lmKGEpe3dhcm4oYEVuY291bnRlcmVkIHBhdGggb3BlcmF0b3IgIiR7dH0iIGluc2lkZSBvZiBhIHRleHQgb2JqZWN0LmApO2UuYWRkT3AoR0EsbnVsbCl9bGV0IHM7c3dpdGNoKHQpe2Nhc2UgS0E6Y29uc3QgZT1pWzBdK2lbMl0sdD1pWzFdK2lbM107cz1bTWF0aC5taW4oaVswXSxlKSxNYXRoLm1pbihpWzFdLHQpLE1hdGgubWF4KGlbMF0sZSksTWF0aC5tYXgoaVsxXSx0KV07YnJlYWs7Y2FzZSBNQTpjYXNlIExBOnM9W2lbMF0saVsxXSxpWzBdLGlbMV1dO2JyZWFrO2RlZmF1bHQ6cz1bMS8wLDEvMCwtMS8wLC0xLzBdfWUuYWRkT3AodHQsW1t0XSxpLHNdKTthJiZlLmFkZE9wKHhBLG51bGwpfWVsc2V7Y29uc3QgYT1lLmFyZ3NBcnJheVtzXTthWzBdLnB1c2godCk7YVsxXS5wdXNoKC4uLmkpO2NvbnN0IHI9YVsyXTtzd2l0Y2godCl7Y2FzZSBLQTpjb25zdCBlPWlbMF0raVsyXSx0PWlbMV0raVszXTtyWzBdPU1hdGgubWluKHJbMF0saVswXSxlKTtyWzFdPU1hdGgubWluKHJbMV0saVsxXSx0KTtyWzJdPU1hdGgubWF4KHJbMl0saVswXSxlKTtyWzNdPU1hdGgubWF4KHJbM10saVsxXSx0KTticmVhaztjYXNlIE1BOmNhc2UgTEE6clswXT1NYXRoLm1pbihyWzBdLGlbMF0pO3JbMV09TWF0aC5taW4oclsxXSxpWzFdKTtyWzJdPU1hdGgubWF4KHJbMl0saVswXSk7clszXT1NYXRoLm1heChyWzNdLGlbMV0pfX19cGFyc2VDb2xvclNwYWNlKHtjczplLHJlc291cmNlczp0LGxvY2FsQ29sb3JTcGFjZUNhY2hlOml9KXtyZXR1cm4gQ29sb3JTcGFjZS5wYXJzZUFzeW5jKHtjczplLHhyZWY6dGhpcy54cmVmLHJlc291cmNlczp0LHBkZkZ1bmN0aW9uRmFjdG9yeTp0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksbG9jYWxDb2xvclNwYWNlQ2FjaGU6aX0pLmNhdGNoKChlPT57aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHBhcnNlQ29sb3JTcGFjZSAtIGlnbm9yaW5nIENvbG9yU3BhY2U6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH10aHJvdyBlfSkpfXBhcnNlU2hhZGluZyh7c2hhZGluZzplLHJlc291cmNlczp0LGxvY2FsQ29sb3JTcGFjZUNhY2hlOmksbG9jYWxTaGFkaW5nUGF0dGVybkNhY2hlOmF9KXtsZXQgcyxyPWEuZ2V0KGUpO2lmKHIpcmV0dXJuIHI7dHJ5e3M9UGF0dGVybi5wYXJzZVNoYWRpbmcoZSx0aGlzLnhyZWYsdCx0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksaSkuZ2V0SVIoKX1jYXRjaCh0KXtpZih0IGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pcmV0dXJuIG51bGw7aWYodGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl7d2FybihgcGFyc2VTaGFkaW5nIC0gaWdub3Jpbmcgc2hhZGluZzogIiR7dH0iLmApO2Euc2V0KGUsbnVsbCk7cmV0dXJuIG51bGx9dGhyb3cgdH1yPWBwYXR0ZXJuXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO3RoaXMucGFyc2luZ1R5cGUzRm9udCYmKHI9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fdHlwZTNfJHtyfWApO2Euc2V0KGUscik7dGhpcy5wYXJzaW5nVHlwZTNGb250P3RoaXMuaGFuZGxlci5zZW5kKCJjb21tb25vYmoiLFtyLCJQYXR0ZXJuIixzXSk6dGhpcy5oYW5kbGVyLnNlbmQoIm9iaiIsW3IsdGhpcy5wYWdlSW5kZXgsIlBhdHRlcm4iLHNdKTtyZXR1cm4gcn1oYW5kbGVDb2xvck4oZSx0LGksYSxzLHIsbixnLG8sYyl7Y29uc3QgQz1pLnBvcCgpO2lmKEMgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCBoPXMuZ2V0UmF3KEMubmFtZSksbD1oIGluc3RhbmNlb2YgUmVmJiZvLmdldEJ5UmVmKGgpO2lmKGwpdHJ5e2NvbnN0IHM9YS5iYXNlP2EuYmFzZS5nZXRSZ2IoaSwwKTpudWxsLHI9Z2V0VGlsaW5nUGF0dGVybklSKGwub3BlcmF0b3JMaXN0SVIsbC5kaWN0LHMpO2UuYWRkT3AodCxyKTtyZXR1cm59Y2F0Y2h7fWNvbnN0IFE9dGhpcy54cmVmLmZldGNoSWZSZWYoaCk7aWYoUSl7Y29uc3Qgcz1RIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9RLmRpY3Q6USxDPXMuZ2V0KCJQYXR0ZXJuVHlwZSIpO2lmKEM9PT1Scyl7Y29uc3QgZz1hLmJhc2U/YS5iYXNlLmdldFJnYihpLDApOm51bGw7cmV0dXJuIHRoaXMuaGFuZGxlVGlsaW5nVHlwZSh0LGcscixRLHMsZSxuLG8pfWlmKEM9PT1Ocyl7Y29uc3QgaT1zLmdldCgiU2hhZGluZyIpLGE9dGhpcy5wYXJzZVNoYWRpbmcoe3NoYWRpbmc6aSxyZXNvdXJjZXM6cixsb2NhbENvbG9yU3BhY2VDYWNoZTpnLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpjfSk7aWYoYSl7Y29uc3QgaT1sb29rdXBNYXRyaXgocy5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7ZS5hZGRPcCh0LFsiU2hhZGluZyIsYSxpXSl9cmV0dXJufXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBQYXR0ZXJuVHlwZTogJHtDfWApfX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gUGF0dGVybk5hbWU6ICR7Q31gKX1fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihlLHQsaSl7aWYoKyt0PjEwKXt3YXJuKCJWaXNpYmlsaXR5IGV4cHJlc3Npb24gaXMgdG9vIGRlZXBseSBuZXN0ZWQiKTtyZXR1cm59Y29uc3QgYT1lLmxlbmd0aCxzPXRoaXMueHJlZi5mZXRjaElmUmVmKGVbMF0pO2lmKCEoYTwyKSYmcyBpbnN0YW5jZW9mIE5hbWUpe3N3aXRjaChzLm5hbWUpe2Nhc2UiQW5kIjpjYXNlIk9yIjpjYXNlIk5vdCI6aS5wdXNoKHMubmFtZSk7YnJlYWs7ZGVmYXVsdDp3YXJuKGBJbnZhbGlkIG9wZXJhdG9yICR7cy5uYW1lfSBpbiB2aXNpYmlsaXR5IGV4cHJlc3Npb25gKTtyZXR1cm59Zm9yKGxldCBzPTE7czxhO3MrKyl7Y29uc3QgYT1lW3NdLHI9dGhpcy54cmVmLmZldGNoSWZSZWYoYSk7aWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3QgZT1bXTtpLnB1c2goZSk7dGhpcy5fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihyLHQsZSl9ZWxzZSBhIGluc3RhbmNlb2YgUmVmJiZpLnB1c2goYS50b1N0cmluZygpKX19ZWxzZSB3YXJuKCJJbnZhbGlkIHZpc2liaWxpdHkgZXhwcmVzc2lvbiIpfWFzeW5jIHBhcnNlTWFya2VkQ29udGVudFByb3BzKGUsdCl7bGV0IGk7aWYoZSBpbnN0YW5jZW9mIE5hbWUpe2k9dC5nZXQoIlByb3BlcnRpZXMiKS5nZXQoZS5uYW1lKX1lbHNle2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiT3B0aW9uYWwgY29udGVudCBwcm9wZXJ0aWVzIG1hbGZvcm1lZC4iKTtpPWV9Y29uc3QgYT1pLmdldCgiVHlwZSIpPy5uYW1lO2lmKCJPQ0ciPT09YSlyZXR1cm57dHlwZTphLGlkOmkub2JqSWR9O2lmKCJPQ01EIj09PWEpe2NvbnN0IGU9aS5nZXQoIlZFIik7aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3QgdD1bXTt0aGlzLl9wYXJzZVZpc2liaWxpdHlFeHByZXNzaW9uKGUsMCx0KTtpZih0Lmxlbmd0aD4wKXJldHVybnt0eXBlOiJPQ01EIixleHByZXNzaW9uOnR9fWNvbnN0IHQ9aS5nZXQoIk9DR3MiKTtpZihBcnJheS5pc0FycmF5KHQpfHx0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1bXTtpZihBcnJheS5pc0FycmF5KHQpKWZvcihjb25zdCBpIG9mIHQpZS5wdXNoKGkudG9TdHJpbmcoKSk7ZWxzZSBlLnB1c2godC5vYmpJZCk7cmV0dXJue3R5cGU6YSxpZHM6ZSxwb2xpY3k6aS5nZXQoIlAiKWluc3RhbmNlb2YgTmFtZT9pLmdldCgiUCIpLm5hbWU6bnVsbCxleHByZXNzaW9uOm51bGx9fWlmKHQgaW5zdGFuY2VvZiBSZWYpcmV0dXJue3R5cGU6YSxpZDp0LnRvU3RyaW5nKCl9fXJldHVybiBudWxsfWdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOmUsdGFzazp0LHJlc291cmNlczppLG9wZXJhdG9yTGlzdDphLGluaXRpYWxTdGF0ZTpzPW51bGwsZmFsbGJhY2tGb250RGljdDpyPW51bGx9KXtpfHw9RGljdC5lbXB0eTtzfHw9bmV3IEV2YWxTdGF0ZTtpZighYSl0aHJvdyBuZXcgRXJyb3IoJ2dldE9wZXJhdG9yTGlzdDogbWlzc2luZyAib3BlcmF0b3JMaXN0IiBwYXJhbWV0ZXInKTtjb25zdCBuPXRoaXMsZz10aGlzLnhyZWY7bGV0IG89ITE7Y29uc3QgYz1uZXcgTG9jYWxJbWFnZUNhY2hlLEM9bmV3IExvY2FsQ29sb3JTcGFjZUNhY2hlLGg9bmV3IExvY2FsR1N0YXRlQ2FjaGUsbD1uZXcgTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUsUT1uZXcgTWFwLEU9aS5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eSx1PWkuZ2V0KCJQYXR0ZXJuIil8fERpY3QuZW1wdHksZD1uZXcgU3RhdGVNYW5hZ2VyKHMpLGY9bmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihlLGcsZCkscD1uZXcgVGltZVNsb3RNYW5hZ2VyO2Z1bmN0aW9uIGNsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoZSl7Zm9yKGxldCBlPTAsdD1mLnNhdmVkU3RhdGVzRGVwdGg7ZTx0O2UrKylhLmFkZE9wKHhBLFtdKX1yZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uIHByb21pc2VCb2R5KGUscyl7Y29uc3QgbmV4dD1mdW5jdGlvbih0KXtQcm9taXNlLmFsbChbdCxhLnJlYWR5XSkudGhlbigoZnVuY3Rpb24oKXt0cnl7cHJvbWlzZUJvZHkoZSxzKX1jYXRjaChlKXtzKGUpfX0pLHMpfTt0LmVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtwLnJlc2V0KCk7Y29uc3QgbT17fTtsZXQgeSx3LEQsYixGLFM7Zm9yKDshKHk9cC5jaGVjaygpKTspe20uYXJncz1udWxsO2lmKCFmLnJlYWQobSkpYnJlYWs7bGV0IGU9bS5hcmdzLHM9bS5mbjtzd2l0Y2goMHxzKXtjYXNlIFVlOlM9ZVswXWluc3RhbmNlb2YgTmFtZTtGPWVbMF0ubmFtZTtpZihTKXtjb25zdCB0PWMuZ2V0QnlOYW1lKEYpO2lmKHQpe2FkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhhLHQpO2U9bnVsbDtjb250aW51ZX19bmV4dChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxzKXtpZighUyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3QgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2xldCByPUUuZ2V0UmF3KEYpO2lmKHIgaW5zdGFuY2VvZiBSZWYpe2NvbnN0IHQ9Yy5nZXRCeVJlZihyKXx8bi5fcmVnaW9uYWxJbWFnZUNhY2hlLmdldEJ5UmVmKHIpO2lmKHQpe2FkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhhLHQpO2UoKTtyZXR1cm59Y29uc3QgaT1uLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShyLG4ucGFnZUluZGV4KTtpZihpKXthLmFkZERlcGVuZGVuY3koaS5vYmpJZCk7YS5hZGRJbWFnZU9wcyhpLmZuLGkuYXJncyxpLm9wdGlvbmFsQ29udGVudCk7ZSgpO3JldHVybn1yPWcuZmV0Y2gocil9aWYoIShyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBiZSBhIHN0cmVhbSIpO2NvbnN0IG89ci5kaWN0LmdldCgiU3VidHlwZSIpO2lmKCEobyBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgaGF2ZSBhIE5hbWUgc3VidHlwZSIpO2lmKCJGb3JtIiE9PW8ubmFtZSlpZigiSW1hZ2UiIT09by5uYW1lKXtpZigiUFMiIT09by5uYW1lKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5oYW5kbGVkIFhPYmplY3Qgc3VidHlwZSAke28ubmFtZX1gKTtpbmZvKCJJZ25vcmVkIFhPYmplY3Qgc3VidHlwZSBQUyIpO2UoKX1lbHNlIG4uYnVpbGRQYWludEltYWdlWE9iamVjdCh7cmVzb3VyY2VzOmksaW1hZ2U6cixvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpGLGxvY2FsSW1hZ2VDYWNoZTpjLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkN9KS50aGVuKGUscyk7ZWxzZXtkLnNhdmUoKTtuLmJ1aWxkRm9ybVhPYmplY3QoaSxyLG51bGwsYSx0LGQuc3RhdGUuY2xvbmUoKSxDKS50aGVuKChmdW5jdGlvbigpe2QucmVzdG9yZSgpO2UoKX0pLHMpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke2V9Ii5gKX19KSkpO3JldHVybjtjYXNlIHNlOnZhciBrPWVbMV07bmV4dChuLmhhbmRsZVNldEZvbnQoaSxlLG51bGwsYSx0LGQuc3RhdGUscikudGhlbigoZnVuY3Rpb24oZSl7YS5hZGREZXBlbmRlbmN5KGUpO2EuYWRkT3Aoc2UsW2Usa10pfSkpKTtyZXR1cm47Y2FzZSAkQTpvPSEwO2JyZWFrO2Nhc2UgQWU6bz0hMTticmVhaztjYXNlIHhlOnZhciBSPWVbMF0uY2FjaGVLZXk7aWYoUil7Y29uc3QgdD1jLmdldEJ5TmFtZShSKTtpZih0KXthZGRMb2NhbGx5Q2FjaGVkSW1hZ2VPcHMoYSx0KTtlPW51bGw7Y29udGludWV9fW5leHQobi5idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6aSxpbWFnZTplWzBdLGlzSW5saW5lOiEwLG9wZXJhdG9yTGlzdDphLGNhY2hlS2V5OlIsbG9jYWxJbWFnZUNhY2hlOmMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pKTtyZXR1cm47Y2FzZSBDZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1lWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO2JyZWFrO2Nhc2UgaGU6aWYoIWQuc3RhdGUuZm9udCl7bi5lbnN1cmVTdGF0ZUZvbnQoZC5zdGF0ZSk7Y29udGludWV9dmFyIE49W10sRz1kLnN0YXRlO2Zvcihjb25zdCB0IG9mIGVbMF0pInN0cmluZyI9PXR5cGVvZiB0P04ucHVzaCguLi5uLmhhbmRsZVRleHQodCxHKSk6Im51bWJlciI9PXR5cGVvZiB0JiZOLnB1c2godCk7ZVswXT1OO3M9Q2U7YnJlYWs7Y2FzZSBsZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1hLmFkZE9wKGNlKTtlWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO3M9Q2U7YnJlYWs7Y2FzZSBCZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1hLmFkZE9wKGNlKTthLmFkZE9wKHRlLFtlLnNoaWZ0KCldKTthLmFkZE9wKGVlLFtlLnNoaWZ0KCldKTtlWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO3M9Q2U7YnJlYWs7Y2FzZSByZTpkLnN0YXRlLnRleHRSZW5kZXJpbmdNb2RlPWVbMF07YnJlYWs7Y2FzZSBkZTp7Y29uc3QgdD1Db2xvclNwYWNlLmdldENhY2hlZChlWzBdLGcsQyk7aWYodCl7ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT10O2NvbnRpbnVlfW5leHQobi5wYXJzZUNvbG9yU3BhY2Uoe2NzOmVbMF0scmVzb3VyY2VzOmksbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oKGZ1bmN0aW9uKGUpe2Quc3RhdGUuZmlsbENvbG9yU3BhY2U9ZXx8Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9KSkpO3JldHVybn1jYXNlIHVlOntjb25zdCB0PUNvbG9yU3BhY2UuZ2V0Q2FjaGVkKGVbMF0sZyxDKTtpZih0KXtkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9dDtjb250aW51ZX1uZXh0KG4ucGFyc2VDb2xvclNwYWNlKHtjczplWzBdLHJlc291cmNlczppLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkN9KS50aGVuKChmdW5jdGlvbihlKXtkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9ZXx8Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9KSkpO3JldHVybn1jYXNlIG1lOmI9ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZTtlPWIuZ2V0UmdiKGUsMCk7cz1GZTticmVhaztjYXNlIGZlOmI9ZC5zdGF0ZS5zdHJva2VDb2xvclNwYWNlO2U9Yi5nZXRSZ2IoZSwwKTtzPWJlO2JyZWFrO2Nhc2UgRGU6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTtlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYihlLDApO3M9RmU7YnJlYWs7Y2FzZSB3ZTpkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXk7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoZSwwKTtzPWJlO2JyZWFrO2Nhc2Uga2U6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215aztlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYihlLDApO3M9RmU7YnJlYWs7Y2FzZSBTZTpkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWs7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2IoZSwwKTtzPWJlO2JyZWFrO2Nhc2UgRmU6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoZSwwKTticmVhaztjYXNlIGJlOmQuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoZSwwKTticmVhaztjYXNlIHllOmI9ZC5zdGF0ZS5wYXR0ZXJuRmlsbENvbG9yU3BhY2U7aWYoIWIpe2lmKGlzTnVtYmVyQXJyYXkoZSxudWxsKSl7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrfWU9W107cz1hdDticmVha31pZigiUGF0dGVybiI9PT1iLm5hbWUpe25leHQobi5oYW5kbGVDb2xvck4oYSx5ZSxlLGIsdSxpLHQsQyxsLFEpKTtyZXR1cm59ZT1iLmdldFJnYihlLDApO3M9RmU7YnJlYWs7Y2FzZSBwZTpiPWQuc3RhdGUucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U7aWYoIWIpe2lmKGlzTnVtYmVyQXJyYXkoZSxudWxsKSl7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoZSwwKTtzPWJlO2JyZWFrfWU9W107cz1pdDticmVha31pZigiUGF0dGVybiI9PT1iLm5hbWUpe25leHQobi5oYW5kbGVDb2xvck4oYSxwZSxlLGIsdSxpLHQsQyxsLFEpKTtyZXR1cm59ZT1iLmdldFJnYihlLDApO3M9YmU7YnJlYWs7Y2FzZSBSZTpsZXQgZjt0cnl7Y29uc3QgdD1pLmdldCgiU2hhZGluZyIpO2lmKCF0KXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gc2hhZGluZyByZXNvdXJjZSBmb3VuZCIpO2Y9dC5nZXQoZVswXS5uYW1lKTtpZighZil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIHNoYWRpbmcgb2JqZWN0IGZvdW5kIil9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKWNvbnRpbnVlO2lmKG4ub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIFNoYWRpbmc6ICIke2V9Ii5gKTtjb250aW51ZX10aHJvdyBlfWNvbnN0IHA9bi5wYXJzZVNoYWRpbmcoe3NoYWRpbmc6ZixyZXNvdXJjZXM6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpDLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpRfSk7aWYoIXApY29udGludWU7ZT1bcF07cz1SZTticmVhaztjYXNlIE5BOlM9ZVswXWluc3RhbmNlb2YgTmFtZTtGPWVbMF0ubmFtZTtpZihTKXtjb25zdCB0PWguZ2V0QnlOYW1lKEYpO2lmKHQpe3QubGVuZ3RoPjAmJmEuYWRkT3AoTkEsW3RdKTtlPW51bGw7Y29udGludWV9fW5leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUscyl7aWYoIVMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2NvbnN0IHI9aS5nZXQoIkV4dEdTdGF0ZSIpO2lmKCEociBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRXh0R1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7Y29uc3QgZz1yLmdldChGKTtpZighKGcgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO24uc2V0R1N0YXRlKHtyZXNvdXJjZXM6aSxnU3RhdGU6ZyxvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpGLHRhc2s6dCxzdGF0ZU1hbmFnZXI6ZCxsb2NhbEdTdGF0ZUNhY2hlOmgsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oZSxzKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIEV4dEdTdGF0ZTogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgTUE6Y2FzZSBMQTpjYXNlIEhBOmNhc2UgSkE6Y2FzZSBZQTpjYXNlIHZBOmNhc2UgS0E6bi5idWlsZFBhdGgoYSxzLGUsbyk7Y29udGludWU7Y2FzZSBNZTpjYXNlIExlOmNhc2UgdmU6Y2FzZSBLZTpjb250aW51ZTtjYXNlIEplOmlmKCEoZVswXWluc3RhbmNlb2YgTmFtZSkpe3dhcm4oYEV4cGVjdGVkIG5hbWUgZm9yIGJlZ2luTWFya2VkQ29udGVudFByb3BzIGFyZzA9JHtlWzBdfWApO2EuYWRkT3AoSmUsWyJPQyIsbnVsbF0pO2NvbnRpbnVlfWlmKCJPQyI9PT1lWzBdLm5hbWUpe25leHQobi5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhlWzFdLGkpLnRoZW4oKGU9PnthLmFkZE9wKEplLFsiT0MiLGVdKX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIW4ub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBiZWdpbk1hcmtlZENvbnRlbnRQcm9wczogIiR7ZX0iLmApO2EuYWRkT3AoSmUsWyJPQyIsbnVsbF0pfX0pKSk7cmV0dXJufWU9W2VbMF0ubmFtZSxlWzFdaW5zdGFuY2VvZiBEaWN0P2VbMV0uZ2V0KCJNQ0lEIik6bnVsbF07YnJlYWs7ZGVmYXVsdDppZihudWxsIT09ZSl7Zm9yKHc9MCxEPWUubGVuZ3RoO3c8RCYmIShlW3ddaW5zdGFuY2VvZiBEaWN0KTt3KyspO2lmKHc8RCl7d2FybigiZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3Jpbmcgb3BlcmF0b3I6ICIrcyk7Y29udGludWV9fX1hLmFkZE9wKHMsZSl9aWYoeSluZXh0KEdzKTtlbHNle2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKTtlKCl9fSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIGVycm9ycyBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApO2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKX19KSl9Z2V0VGV4dENvbnRlbnQoe3N0cmVhbTplLHRhc2s6dCxyZXNvdXJjZXM6cyxzdGF0ZU1hbmFnZXI6cj1udWxsLGluY2x1ZGVNYXJrZWRDb250ZW50Om49ITEsc2luazpnLHNlZW5TdHlsZXM6bz1uZXcgU2V0LHZpZXdCb3g6YyxsYW5nOkM9bnVsbCxtYXJrZWRDb250ZW50RGF0YTpoPW51bGwsZGlzYWJsZU5vcm1hbGl6YXRpb246bD0hMSxrZWVwV2hpdGVTcGFjZTpRPSExfSl7c3x8PURpY3QuZW1wdHk7cnx8PW5ldyBTdGF0ZU1hbmFnZXIobmV3IFRleHRTdGF0ZSk7biYmKGh8fD17bGV2ZWw6MH0pO2NvbnN0IEU9e2l0ZW1zOltdLHN0eWxlczpPYmplY3QuY3JlYXRlKG51bGwpLGxhbmc6Q30sdT17aW5pdGlhbGl6ZWQ6ITEsc3RyOltdLHRvdGFsV2lkdGg6MCx0b3RhbEhlaWdodDowLHdpZHRoOjAsaGVpZ2h0OjAsdmVydGljYWw6ITEscHJldlRyYW5zZm9ybTpudWxsLHRleHRBZHZhbmNlU2NhbGU6MCxzcGFjZUluRmxvd01pbjowLHNwYWNlSW5GbG93TWF4OjAsdHJhY2tpbmdTcGFjZU1pbjoxLzAsbmVnYXRpdmVTcGFjZU1heDotMS8wLG5vdEFTcGFjZTotMS8wLHRyYW5zZm9ybTpudWxsLGZvbnROYW1lOm51bGwsaGFzRU9MOiExfSxkPVsiICIsIiAiXTtsZXQgZj0wO2Z1bmN0aW9uIHNhdmVMYXN0Q2hhcihlKXtjb25zdCB0PShmKzEpJTIsaT0iICIhPT1kW2ZdJiYiICI9PT1kW3RdO2RbZl09ZTtmPXQ7cmV0dXJuIVEmJml9ZnVuY3Rpb24gc2hvdWxkQWRkV2hpdGVwc2FjZSgpe3JldHVybiFRJiYiICIhPT1kW2ZdJiYiICI9PT1kWyhmKzEpJTJdfWZ1bmN0aW9uIHJlc2V0TGFzdENoYXJzKCl7ZFswXT1kWzFdPSIgIjtmPTB9Y29uc3QgcD10aGlzLG09dGhpcy54cmVmLHk9W107bGV0IHc9bnVsbDtjb25zdCBEPW5ldyBMb2NhbEltYWdlQ2FjaGUsYj1uZXcgTG9jYWxHU3RhdGVDYWNoZSxGPW5ldyBFdmFsdWF0b3JQcmVwcm9jZXNzb3IoZSxtLHIpO2xldCBTO2Z1bmN0aW9uIHB1c2hXaGl0ZXNwYWNlKHt3aWR0aDplPTAsaGVpZ2h0OnQ9MCx0cmFuc2Zvcm06aT11LnByZXZUcmFuc2Zvcm0sZm9udE5hbWU6YT11LmZvbnROYW1lfSl7RS5pdGVtcy5wdXNoKHtzdHI6IiAiLGRpcjoibHRyIix3aWR0aDplLGhlaWdodDp0LHRyYW5zZm9ybTppLGZvbnROYW1lOmEsaGFzRU9MOiExfSl9ZnVuY3Rpb24gZ2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKXtjb25zdCBlPVMuZm9udCx0PVtTLmZvbnRTaXplKlMudGV4dEhTY2FsZSwwLDAsUy5mb250U2l6ZSwwLFMudGV4dFJpc2VdO2lmKGUuaXNUeXBlM0ZvbnQmJihTLmZvbnRTaXplPD0xfHxlLmlzQ2hhckJCb3gpJiYhaXNBcnJheUVxdWFsKFMuZm9udE1hdHJpeCxhKSl7Y29uc3QgaT1lLmJib3hbM10tZS5iYm94WzFdO2k+MCYmKHRbM10qPWkqUy5mb250TWF0cml4WzNdKX1yZXR1cm4gVXRpbC50cmFuc2Zvcm0oUy5jdG0sVXRpbC50cmFuc2Zvcm0oUy50ZXh0TWF0cml4LHQpKX1mdW5jdGlvbiBlbnN1cmVUZXh0Q29udGVudEl0ZW0oKXtpZih1LmluaXRpYWxpemVkKXJldHVybiB1O2NvbnN0e2ZvbnQ6ZSxsb2FkZWROYW1lOnR9PVM7aWYoIW8uaGFzKHQpKXtvLmFkZCh0KTtFLnN0eWxlc1t0XT17Zm9udEZhbWlseTplLmZhbGxiYWNrTmFtZSxhc2NlbnQ6ZS5hc2NlbnQsZGVzY2VudDplLmRlc2NlbnQsdmVydGljYWw6ZS52ZXJ0aWNhbH07aWYocC5vcHRpb25zLmZvbnRFeHRyYVByb3BlcnRpZXMmJmUuc3lzdGVtRm9udEluZm8pe2NvbnN0IGk9RS5zdHlsZXNbdF07aS5mb250U3Vic3RpdHV0aW9uPWUuc3lzdGVtRm9udEluZm8uY3NzO2kuZm9udFN1YnN0aXR1dGlvbkxvYWRlZE5hbWU9ZS5zeXN0ZW1Gb250SW5mby5sb2FkZWROYW1lfX11LmZvbnROYW1lPXQ7Y29uc3QgaT11LnRyYW5zZm9ybT1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2lmKGUudmVydGljYWwpe3Uud2lkdGg9dS50b3RhbFdpZHRoPU1hdGguaHlwb3QoaVswXSxpWzFdKTt1LmhlaWdodD11LnRvdGFsSGVpZ2h0PTA7dS52ZXJ0aWNhbD0hMH1lbHNle3Uud2lkdGg9dS50b3RhbFdpZHRoPTA7dS5oZWlnaHQ9dS50b3RhbEhlaWdodD1NYXRoLmh5cG90KGlbMl0saVszXSk7dS52ZXJ0aWNhbD0hMX1jb25zdCBhPU1hdGguaHlwb3QoUy50ZXh0TGluZU1hdHJpeFswXSxTLnRleHRMaW5lTWF0cml4WzFdKSxzPU1hdGguaHlwb3QoUy5jdG1bMF0sUy5jdG1bMV0pO3UudGV4dEFkdmFuY2VTY2FsZT1zKmE7Y29uc3R7Zm9udFNpemU6cn09Uzt1LnRyYWNraW5nU3BhY2VNaW49LjEwMipyO3Uubm90QVNwYWNlPS4wMypyO3UubmVnYXRpdmVTcGFjZU1heD0tLjIqcjt1LnNwYWNlSW5GbG93TWluPS4xMDIqcjt1LnNwYWNlSW5GbG93TWF4PS42KnI7dS5oYXNFT0w9ITE7dS5pbml0aWFsaXplZD0hMDtyZXR1cm4gdX1mdW5jdGlvbiB1cGRhdGVBZHZhbmNlU2NhbGUoKXtpZighdS5pbml0aWFsaXplZClyZXR1cm47Y29uc3QgZT1NYXRoLmh5cG90KFMudGV4dExpbmVNYXRyaXhbMF0sUy50ZXh0TGluZU1hdHJpeFsxXSksdD1NYXRoLmh5cG90KFMuY3RtWzBdLFMuY3RtWzFdKSplO2lmKHQhPT11LnRleHRBZHZhbmNlU2NhbGUpe2lmKHUudmVydGljYWwpe3UudG90YWxIZWlnaHQrPXUuaGVpZ2h0KnUudGV4dEFkdmFuY2VTY2FsZTt1LmhlaWdodD0wfWVsc2V7dS50b3RhbFdpZHRoKz11LndpZHRoKnUudGV4dEFkdmFuY2VTY2FsZTt1LndpZHRoPTB9dS50ZXh0QWR2YW5jZVNjYWxlPXR9fWZ1bmN0aW9uIHJ1bkJpZGlUcmFuc2Zvcm0oZSl7bGV0IHQ9ZS5zdHIuam9pbigiIik7bHx8KHQ9ZnVuY3Rpb24gbm9ybWFsaXplVW5pY29kZShlKXtpZighY3Qpe2N0PS8oW1x1MDBhMFx1MDBiNVx1MDM3ZVx1MGViM1x1MjAwMC1cdTIwMGFcdTIwMmZcdTIxMjZcdWZiMDAtXHVmYjA0XHVmYjA2XHVmYjIwLVx1ZmIzNlx1ZmIzOC1cdWZiM2NcdWZiM2VcdWZiNDAtXHVmYjQxXHVmYjQzLVx1ZmI0NFx1ZmI0Ni1cdWZiYTFcdWZiYTQtXHVmYmE5XHVmYmFlLVx1ZmJiMVx1ZmJkMy1cdWZiZGNcdWZiZGUtXHVmYmU3XHVmYmVhLVx1ZmJmOFx1ZmJmYy1cdWZiZmRcdWZjMDAtXHVmYzVkXHVmYzY0LVx1ZmNmMVx1ZmNmNS1cdWZkM2RcdWZkODhcdWZkZjRcdWZkZmEtXHVmZGZiXHVmZTcxXHVmZTc3XHVmZTc5XHVmZTdiXHVmZTdkXSspfChcdWZiMDUrKS9ndTtDdD1uZXcgTWFwKFtbIu+shSIsIsW/dCJdXSl9cmV0dXJuIGUucmVwbGFjZUFsbChjdCwoKGUsdCxpKT0+dD90Lm5vcm1hbGl6ZSgiTkZLQyIpOkN0LmdldChpKSkpfSh0KSk7Y29uc3QgaT1iaWRpKHQsLTEsZS52ZXJ0aWNhbCk7cmV0dXJue3N0cjppLnN0cixkaXI6aS5kaXIsd2lkdGg6TWF0aC5hYnMoZS50b3RhbFdpZHRoKSxoZWlnaHQ6TWF0aC5hYnMoZS50b3RhbEhlaWdodCksdHJhbnNmb3JtOmUudHJhbnNmb3JtLGZvbnROYW1lOmUuZm9udE5hbWUsaGFzRU9MOmUuaGFzRU9MfX1hc3luYyBmdW5jdGlvbiBoYW5kbGVTZXRGb250KGUsaSl7Y29uc3Qgcj1hd2FpdCBwLmxvYWRGb250KGUsaSxzKTtpZihyLmZvbnQuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IHIubG9hZFR5cGUzRGF0YShwLHMsdCl9Y2F0Y2h7fVMubG9hZGVkTmFtZT1yLmxvYWRlZE5hbWU7Uy5mb250PXIuZm9udDtTLmZvbnRNYXRyaXg9ci5mb250LmZvbnRNYXRyaXh8fGF9ZnVuY3Rpb24gYXBwbHlJbnZlcnNlUm90YXRpb24oZSx0LGkpe2NvbnN0IGE9TWF0aC5oeXBvdChpWzBdLGlbMV0pO3JldHVyblsoaVswXSplK2lbMV0qdCkvYSwoaVsyXSplK2lbM10qdCkvYV19ZnVuY3Rpb24gY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oZSl7Y29uc3QgdD1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2xldCBpPXRbNF0sYT10WzVdO2lmKFMuZm9udD8udmVydGljYWwpe2lmKGk8Y1swXXx8aT5jWzJdfHxhK2U8Y1sxXXx8YT5jWzNdKXJldHVybiExfWVsc2UgaWYoaStlPGNbMF18fGk+Y1syXXx8YTxjWzFdfHxhPmNbM10pcmV0dXJuITE7aWYoIVMuZm9udHx8IXUucHJldlRyYW5zZm9ybSlyZXR1cm4hMDtsZXQgcz11LnByZXZUcmFuc2Zvcm1bNF0scj11LnByZXZUcmFuc2Zvcm1bNV07aWYocz09PWkmJnI9PT1hKXJldHVybiEwO2xldCBuPS0xO3RbMF0mJjA9PT10WzFdJiYwPT09dFsyXT9uPXRbMF0+MD8wOjE4MDp0WzFdJiYwPT09dFswXSYmMD09PXRbM10mJihuPXRbMV0+MD85MDoyNzApO3N3aXRjaChuKXtjYXNlIDA6YnJlYWs7Y2FzZSA5MDpbaSxhXT1bYSxpXTtbcyxyXT1bcixzXTticmVhaztjYXNlIDE4MDpbaSxhLHMscl09Wy1pLC1hLC1zLC1yXTticmVhaztjYXNlIDI3MDpbaSxhXT1bLWEsLWldO1tzLHJdPVstciwtc107YnJlYWs7ZGVmYXVsdDpbaSxhXT1hcHBseUludmVyc2VSb3RhdGlvbihpLGEsdCk7W3Mscl09YXBwbHlJbnZlcnNlUm90YXRpb24ocyxyLHUucHJldlRyYW5zZm9ybSl9aWYoUy5mb250LnZlcnRpY2FsKXtjb25zdCBlPShyLWEpL3UudGV4dEFkdmFuY2VTY2FsZSx0PWktcyxuPU1hdGguc2lnbih1LmhlaWdodCk7aWYoZTxuKnUubmVnYXRpdmVTcGFjZU1heCl7aWYoTWF0aC5hYnModCk+LjUqdS53aWR0aCl7YXBwZW5kRU9MKCk7cmV0dXJuITB9cmVzZXRMYXN0Q2hhcnMoKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWlmKE1hdGguYWJzKHQpPnUud2lkdGgpe2FwcGVuZEVPTCgpO3JldHVybiEwfWU8PW4qdS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZTw9bip1LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe2hlaWdodDpNYXRoLmFicyhlKX0pfWVsc2UgdS5oZWlnaHQrPWU7ZWxzZSBpZighYWRkRmFrZVNwYWNlcyhlLHUucHJldlRyYW5zZm9ybSxuKSlpZigwPT09dS5zdHIubGVuZ3RoKXtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHtoZWlnaHQ6TWF0aC5hYnMoZSl9KX1lbHNlIHUuaGVpZ2h0Kz1lO01hdGguYWJzKHQpPi4yNSp1LndpZHRoJiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWNvbnN0IGc9KGktcykvdS50ZXh0QWR2YW5jZVNjYWxlLG89YS1yLEM9TWF0aC5zaWduKHUud2lkdGgpO2lmKGc8Qyp1Lm5lZ2F0aXZlU3BhY2VNYXgpe2lmKE1hdGguYWJzKG8pPi41KnUuaGVpZ2h0KXthcHBlbmRFT0woKTtyZXR1cm4hMH1yZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9aWYoTWF0aC5hYnMobyk+dS5oZWlnaHQpe2FwcGVuZEVPTCgpO3JldHVybiEwfWc8PUMqdS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZzw9Qyp1LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe3dpZHRoOk1hdGguYWJzKGcpfSl9ZWxzZSB1LndpZHRoKz1nO2Vsc2UgaWYoIWFkZEZha2VTcGFjZXMoZyx1LnByZXZUcmFuc2Zvcm0sQykpaWYoMD09PXUuc3RyLmxlbmd0aCl7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZyl9KX1lbHNlIHUud2lkdGgrPWc7TWF0aC5hYnMobyk+LjI1KnUuaGVpZ2h0JiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWZ1bmN0aW9uIGJ1aWxkVGV4dENvbnRlbnRJdGVtKHtjaGFyczplLGV4dHJhU3BhY2luZzp0fSl7Y29uc3QgaT1TLmZvbnQ7aWYoIWUpe2NvbnN0IGU9Uy5jaGFyU3BhY2luZyt0O2UmJihpLnZlcnRpY2FsP1MudHJhbnNsYXRlVGV4dE1hdHJpeCgwLC1lKTpTLnRyYW5zbGF0ZVRleHRNYXRyaXgoZSpTLnRleHRIU2NhbGUsMCkpO1EmJmNvbXBhcmVXaXRoTGFzdFBvc2l0aW9uKDApO3JldHVybn1jb25zdCBhPWkuY2hhcnNUb0dseXBocyhlKSxzPVMuZm9udE1hdHJpeFswXSpTLmZvbnRTaXplO2ZvcihsZXQgZT0wLHI9YS5sZW5ndGg7ZTxyO2UrKyl7Y29uc3Qgbj1hW2VdLHtjYXRlZ29yeTpnfT1uO2lmKGcuaXNJbnZpc2libGVGb3JtYXRNYXJrKWNvbnRpbnVlO2xldCBvPVMuY2hhclNwYWNpbmcrKGUrMT09PXI/dDowKSxjPW4ud2lkdGg7aS52ZXJ0aWNhbCYmKGM9bi52bWV0cmljP24udm1ldHJpY1swXTotYyk7bGV0IEM9YypzO2lmKCFRJiZnLmlzV2hpdGVzcGFjZSl7aWYoaS52ZXJ0aWNhbCl7bys9LUMrUy53b3JkU3BhY2luZztTLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtbyl9ZWxzZXtvKz1DK1Mud29yZFNwYWNpbmc7Uy50cmFuc2xhdGVUZXh0TWF0cml4KG8qUy50ZXh0SFNjYWxlLDApfXNhdmVMYXN0Q2hhcigiICIpO2NvbnRpbnVlfWlmKCFnLmlzWmVyb1dpZHRoRGlhY3JpdGljJiYhY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oQykpe2kudmVydGljYWw/Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsQyk6Uy50cmFuc2xhdGVUZXh0TWF0cml4KEMqUy50ZXh0SFNjYWxlLDApO2NvbnRpbnVlfWNvbnN0IGg9ZW5zdXJlVGV4dENvbnRlbnRJdGVtKCk7Zy5pc1plcm9XaWR0aERpYWNyaXRpYyYmKEM9MCk7aWYoaS52ZXJ0aWNhbCl7Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsQyk7Qz1NYXRoLmFicyhDKTtoLmhlaWdodCs9Q31lbHNle0MqPVMudGV4dEhTY2FsZTtTLnRyYW5zbGF0ZVRleHRNYXRyaXgoQywwKTtoLndpZHRoKz1DfUMmJihoLnByZXZUcmFuc2Zvcm09Z2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKSk7Y29uc3QgbD1uLnVuaWNvZGU7c2F2ZUxhc3RDaGFyKGwpJiZoLnN0ci5wdXNoKCIgIik7aC5zdHIucHVzaChsKTtvJiYoaS52ZXJ0aWNhbD9TLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtbyk6Uy50cmFuc2xhdGVUZXh0TWF0cml4KG8qUy50ZXh0SFNjYWxlLDApKX19ZnVuY3Rpb24gYXBwZW5kRU9MKCl7cmVzZXRMYXN0Q2hhcnMoKTtpZih1LmluaXRpYWxpemVkKXt1Lmhhc0VPTD0hMDtmbHVzaFRleHRDb250ZW50SXRlbSgpfWVsc2UgRS5pdGVtcy5wdXNoKHtzdHI6IiIsZGlyOiJsdHIiLHdpZHRoOjAsaGVpZ2h0OjAsdHJhbnNmb3JtOmdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCksZm9udE5hbWU6Uy5sb2FkZWROYW1lLGhhc0VPTDohMH0pfWZ1bmN0aW9uIGFkZEZha2VTcGFjZXMoZSx0LGkpe2lmKGkqdS5zcGFjZUluRmxvd01pbjw9ZSYmZTw9aSp1LnNwYWNlSW5GbG93TWF4KXtpZih1LmluaXRpYWxpemVkKXtyZXNldExhc3RDaGFycygpO3Uuc3RyLnB1c2goIiAiKX1yZXR1cm4hMX1jb25zdCBhPXUuZm9udE5hbWU7bGV0IHM9MDtpZih1LnZlcnRpY2FsKXtzPWU7ZT0wfWZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZSksaGVpZ2h0Ok1hdGguYWJzKHMpLHRyYW5zZm9ybTp0fHxnZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpLGZvbnROYW1lOmF9KTtyZXR1cm4hMH1mdW5jdGlvbiBmbHVzaFRleHRDb250ZW50SXRlbSgpe2lmKHUuaW5pdGlhbGl6ZWQmJnUuc3RyKXt1LnZlcnRpY2FsP3UudG90YWxIZWlnaHQrPXUuaGVpZ2h0KnUudGV4dEFkdmFuY2VTY2FsZTp1LnRvdGFsV2lkdGgrPXUud2lkdGgqdS50ZXh0QWR2YW5jZVNjYWxlO0UuaXRlbXMucHVzaChydW5CaWRpVHJhbnNmb3JtKHUpKTt1LmluaXRpYWxpemVkPSExO3Uuc3RyLmxlbmd0aD0wfX1mdW5jdGlvbiBlbnF1ZXVlQ2h1bmsoZT0hMSl7Y29uc3QgdD1FLml0ZW1zLmxlbmd0aDtpZigwIT09dCYmIShlJiZ0PDEwKSl7Zy5lbnF1ZXVlKEUsdCk7RS5pdGVtcz1bXTtFLnN0eWxlcz1PYmplY3QuY3JlYXRlKG51bGwpfX1jb25zdCBrPW5ldyBUaW1lU2xvdE1hbmFnZXI7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbiBwcm9taXNlQm9keShlLGEpe2NvbnN0IG5leHQ9ZnVuY3Rpb24odCl7ZW5xdWV1ZUNodW5rKCEwKTtQcm9taXNlLmFsbChbdCxnLnJlYWR5XSkudGhlbigoZnVuY3Rpb24oKXt0cnl7cHJvbWlzZUJvZHkoZSxhKX1jYXRjaChlKXthKGUpfX0pLGEpfTt0LmVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtrLnJlc2V0KCk7Y29uc3QgdT17fTtsZXQgZCxmPVtdO2Zvcig7IShkPWsuY2hlY2soKSk7KXtmLmxlbmd0aD0wO3UuYXJncz1mO2lmKCFGLnJlYWQodSkpYnJlYWs7Y29uc3QgZT1TO1M9ci5zdGF0ZTtjb25zdCBhPXUuZm47Zj11LmFyZ3M7c3dpdGNoKDB8YSl7Y2FzZSBzZTp2YXIgUj1mWzBdLm5hbWUsTj1mWzFdO2lmKFMuZm9udCYmUj09PVMuZm9udE5hbWUmJk49PT1TLmZvbnRTaXplKWJyZWFrO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7Uy5mb250TmFtZT1SO1MuZm9udFNpemU9TjtuZXh0KGhhbmRsZVNldEZvbnQoUixudWxsKSk7cmV0dXJuO2Nhc2UgbmU6Uy50ZXh0UmlzZT1mWzBdO2JyZWFrO2Nhc2UgaWU6Uy50ZXh0SFNjYWxlPWZbMF0vMTAwO2JyZWFrO2Nhc2UgYWU6Uy5sZWFkaW5nPWZbMF07YnJlYWs7Y2FzZSBnZTpTLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGZbMF0sZlsxXSk7Uy50ZXh0TWF0cml4PVMudGV4dExpbmVNYXRyaXguc2xpY2UoKTticmVhaztjYXNlIG9lOlMubGVhZGluZz0tZlsxXTtTLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGZbMF0sZlsxXSk7Uy50ZXh0TWF0cml4PVMudGV4dExpbmVNYXRyaXguc2xpY2UoKTticmVhaztjYXNlIGNlOlMuY2FycmlhZ2VSZXR1cm4oKTticmVhaztjYXNlIEllOlMuc2V0VGV4dE1hdHJpeChmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XSk7Uy5zZXRUZXh0TGluZU1hdHJpeChmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XSk7dXBkYXRlQWR2YW5jZVNjYWxlKCk7YnJlYWs7Y2FzZSBlZTpTLmNoYXJTcGFjaW5nPWZbMF07YnJlYWs7Y2FzZSB0ZTpTLndvcmRTcGFjaW5nPWZbMF07YnJlYWs7Y2FzZSAkQTpTLnRleHRNYXRyaXg9aS5zbGljZSgpO1MudGV4dExpbmVNYXRyaXg9aS5zbGljZSgpO2JyZWFrO2Nhc2UgaGU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Y29uc3QgYT0oUy5mb250LnZlcnRpY2FsPzE6LTEpKlMuZm9udFNpemUvMWUzLHU9ZlswXTtmb3IobGV0IGU9MCx0PXUubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9dVtlXTtpZigic3RyaW5nIj09dHlwZW9mIHQpeS5wdXNoKHQpO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiB0JiYwIT09dCl7Y29uc3QgZT15LmpvaW4oIiIpO3kubGVuZ3RoPTA7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmUsZXh0cmFTcGFjaW5nOnQqYX0pfX1pZih5Lmxlbmd0aD4wKXtjb25zdCBlPXkuam9pbigiIik7eS5sZW5ndGg9MDtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZSxleHRyYVNwYWNpbmc6MH0pfWJyZWFrO2Nhc2UgQ2U6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmZbMF0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIGxlOmlmKCFyLnN0YXRlLmZvbnQpe3AuZW5zdXJlU3RhdGVGb250KHIuc3RhdGUpO2NvbnRpbnVlfVMuY2FycmlhZ2VSZXR1cm4oKTtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZlswXSxleHRyYVNwYWNpbmc6MH0pO2JyZWFrO2Nhc2UgQmU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Uy53b3JkU3BhY2luZz1mWzBdO1MuY2hhclNwYWNpbmc9ZlsxXTtTLmNhcnJpYWdlUmV0dXJuKCk7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmZbMl0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIFVlOmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7d3x8KHc9cy5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eSk7dmFyIEc9ZlswXWluc3RhbmNlb2YgTmFtZSx4PWZbMF0ubmFtZTtpZihHJiZELmdldEJ5TmFtZSh4KSlicmVhaztuZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLGkpe2lmKCFHKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBtdXN0IGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUuIik7bGV0IGE9dy5nZXRSYXcoeCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7aWYoRC5nZXRCeVJlZihhKSl7ZSgpO3JldHVybn1pZihwLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShhLHAucGFnZUluZGV4KSl7ZSgpO3JldHVybn1hPW0uZmV0Y2goYSl9aWYoIShhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBiZSBhIHN0cmVhbSIpO2NvbnN0IEU9YS5kaWN0LmdldCgiU3VidHlwZSIpO2lmKCEoRSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgaGF2ZSBhIE5hbWUgc3VidHlwZSIpO2lmKCJGb3JtIiE9PUUubmFtZSl7RC5zZXQoeCxhLmRpY3Qub2JqSWQsITApO2UoKTtyZXR1cm59Y29uc3QgdT1yLnN0YXRlLmNsb25lKCksZD1uZXcgU3RhdGVNYW5hZ2VyKHUpLGY9bG9va3VwTWF0cml4KGEuZGljdC5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7ZiYmZC50cmFuc2Zvcm0oZik7ZW5xdWV1ZUNodW5rKCk7Y29uc3QgeT17ZW5xdWV1ZUludm9rZWQ6ITEsZW5xdWV1ZShlLHQpe3RoaXMuZW5xdWV1ZUludm9rZWQ9ITA7Zy5lbnF1ZXVlKGUsdCl9LGdldCBkZXNpcmVkU2l6ZSgpe3JldHVybiBnLmRlc2lyZWRTaXplfSxnZXQgcmVhZHkoKXtyZXR1cm4gZy5yZWFkeX19O3AuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTphLHRhc2s6dCxyZXNvdXJjZXM6YS5kaWN0LmdldCgiUmVzb3VyY2VzIil8fHMsc3RhdGVNYW5hZ2VyOmQsaW5jbHVkZU1hcmtlZENvbnRlbnQ6bixzaW5rOnksc2VlblN0eWxlczpvLHZpZXdCb3g6YyxsYW5nOkMsbWFya2VkQ29udGVudERhdGE6aCxkaXNhYmxlTm9ybWFsaXphdGlvbjpsLGtlZXBXaGl0ZVNwYWNlOlF9KS50aGVuKChmdW5jdGlvbigpe3kuZW5xdWV1ZUludm9rZWR8fEQuc2V0KHgsYS5kaWN0Lm9iaklkLCEwKTtlKCl9KSxpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighcC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgWE9iamVjdDogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgTkE6Rz1mWzBdaW5zdGFuY2VvZiBOYW1lO3g9ZlswXS5uYW1lO2lmKEcmJmIuZ2V0QnlOYW1lKHgpKWJyZWFrO25leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7aWYoIUcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2NvbnN0IGk9cy5nZXQoIkV4dEdTdGF0ZSIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRXh0R1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7Y29uc3QgYT1pLmdldCh4KTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO2NvbnN0IHI9YS5nZXQoIkZvbnQiKTtpZihyKXtmbHVzaFRleHRDb250ZW50SXRlbSgpO1MuZm9udE5hbWU9bnVsbDtTLmZvbnRTaXplPXJbMV07aGFuZGxlU2V0Rm9udChudWxsLHJbMF0pLnRoZW4oZSx0KX1lbHNle2Iuc2V0KHgsYS5vYmpJZCwhMCk7ZSgpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighcC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHtlfSIuYCl9fSkpKTtyZXR1cm47Y2FzZSBIZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2gubGV2ZWwrKztFLml0ZW1zLnB1c2goe3R5cGU6ImJlZ2luTWFya2VkQ29udGVudCIsdGFnOmZbMF1pbnN0YW5jZW9mIE5hbWU/ZlswXS5uYW1lOm51bGx9KX1icmVhaztjYXNlIEplOmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7aWYobil7aC5sZXZlbCsrO2xldCBlPW51bGw7ZlsxXWluc3RhbmNlb2YgRGljdCYmKGU9ZlsxXS5nZXQoIk1DSUQiKSk7RS5pdGVtcy5wdXNoKHt0eXBlOiJiZWdpbk1hcmtlZENvbnRlbnRQcm9wcyIsaWQ6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtwLmlkRmFjdG9yeS5nZXRQYWdlT2JqSWQoKX1fbWMke2V9YDpudWxsLHRhZzpmWzBdaW5zdGFuY2VvZiBOYW1lP2ZbMF0ubmFtZTpudWxsfSl9YnJlYWs7Y2FzZSBZZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2lmKDA9PT1oLmxldmVsKWJyZWFrO2gubGV2ZWwtLTtFLml0ZW1zLnB1c2goe3R5cGU6ImVuZE1hcmtlZENvbnRlbnQifSl9YnJlYWs7Y2FzZSB4QTohZXx8ZS5mb250PT09Uy5mb250JiZlLmZvbnRTaXplPT09Uy5mb250U2l6ZSYmZS5mb250TmFtZT09PVMuZm9udE5hbWV8fGZsdXNoVGV4dENvbnRlbnRJdGVtKCl9aWYoRS5pdGVtcy5sZW5ndGg+PWcuZGVzaXJlZFNpemUpe2Q9ITA7YnJlYWt9fWlmKGQpbmV4dChHcyk7ZWxzZXtmbHVzaFRleHRDb250ZW50SXRlbSgpO2VucXVldWVDaHVuaygpO2UoKX19KSkuY2F0Y2goKGU9PntpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0VGV4dENvbnRlbnQgLSBpZ25vcmluZyBlcnJvcnMgZHVyaW5nICIke3QubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO2VucXVldWVDaHVuaygpfX0pKX1hc3luYyBleHRyYWN0RGF0YVN0cnVjdHVyZXMoZSx0KXtjb25zdCBpPXRoaXMueHJlZjtsZXQgYTtjb25zdCBzPXRoaXMucmVhZFRvVW5pY29kZSh0LnRvVW5pY29kZSk7aWYodC5jb21wb3NpdGUpe2NvbnN0IGk9ZS5nZXQoIkNJRFN5c3RlbUluZm8iKTtpIGluc3RhbmNlb2YgRGljdCYmKHQuY2lkU3lzdGVtSW5mbz17cmVnaXN0cnk6c3RyaW5nVG9QREZTdHJpbmcoaS5nZXQoIlJlZ2lzdHJ5IikpLG9yZGVyaW5nOnN0cmluZ1RvUERGU3RyaW5nKGkuZ2V0KCJPcmRlcmluZyIpKSxzdXBwbGVtZW50OmkuZ2V0KCJTdXBwbGVtZW50Iil9KTt0cnl7Y29uc3QgdD1lLmdldCgiQ0lEVG9HSURNYXAiKTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKGE9dC5nZXRCeXRlcygpKX1jYXRjaChlKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGV4dHJhY3REYXRhU3RydWN0dXJlcyAtIGlnbm9yaW5nIENJRFRvR0lETWFwIGRhdGE6ICIke2V9Ii5gKX19Y29uc3Qgcj1bXTtsZXQgbixnPW51bGw7aWYoZS5oYXMoIkVuY29kaW5nIikpe249ZS5nZXQoIkVuY29kaW5nIik7aWYobiBpbnN0YW5jZW9mIERpY3Qpe2c9bi5nZXQoIkJhc2VFbmNvZGluZyIpO2c9ZyBpbnN0YW5jZW9mIE5hbWU/Zy5uYW1lOm51bGw7aWYobi5oYXMoIkRpZmZlcmVuY2VzIikpe2NvbnN0IGU9bi5nZXQoIkRpZmZlcmVuY2VzIik7bGV0IHQ9MDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWkuZmV0Y2hJZlJlZihhKTtpZigibnVtYmVyIj09dHlwZW9mIGUpdD1lO2Vsc2V7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGVudHJ5IGluICdEaWZmZXJlbmNlcycgYXJyYXk6ICR7ZX1gKTtyW3QrK109ZS5uYW1lfX19fWVsc2UgaWYobiBpbnN0YW5jZW9mIE5hbWUpZz1uLm5hbWU7ZWxzZXtjb25zdCBlPSJFbmNvZGluZyBpcyBub3QgYSBOYW1lIG5vciBhIERpY3QiO2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IG5ldyBGb3JtYXRFcnJvcihlKTt3YXJuKGUpfSJNYWNSb21hbkVuY29kaW5nIiE9PWcmJiJNYWNFeHBlcnRFbmNvZGluZyIhPT1nJiYiV2luQW5zaUVuY29kaW5nIiE9PWcmJihnPW51bGwpfWNvbnN0IG89IXQuZmlsZXx8dC5pc0ludGVybmFsRm9udCxjPV9pKClbdC5uYW1lXTtnJiZvJiZjJiYoZz1udWxsKTtpZihnKXQuZGVmYXVsdEVuY29kaW5nPWdldEVuY29kaW5nKGcpO2Vsc2V7Y29uc3QgZT0hISh0LmZsYWdzJk9pKSxpPSEhKHQuZmxhZ3MmUGkpO249bWk7IlRydWVUeXBlIiE9PXQudHlwZXx8aXx8KG49eWkpO2lmKGV8fGMpe249cGk7byYmKC9TeW1ib2wvaS50ZXN0KHQubmFtZSk/bj13aTovRGluZ2JhdHMvaS50ZXN0KHQubmFtZSk/bj1EaTovV2luZ2RpbmdzL2kudGVzdCh0Lm5hbWUpJiYobj15aSkpfXQuZGVmYXVsdEVuY29kaW5nPW59dC5kaWZmZXJlbmNlcz1yO3QuYmFzZUVuY29kaW5nTmFtZT1nO3QuaGFzRW5jb2Rpbmc9ISFnfHxyLmxlbmd0aD4wO3QuZGljdD1lO3QudG9Vbmljb2RlPWF3YWl0IHM7Y29uc3QgQz1hd2FpdCB0aGlzLmJ1aWxkVG9Vbmljb2RlKHQpO3QudG9Vbmljb2RlPUM7YSYmKHQuY2lkVG9HaWRNYXA9dGhpcy5yZWFkQ2lkVG9HaWRNYXAoYSxDKSk7cmV0dXJuIHR9X3NpbXBsZUZvbnRUb1VuaWNvZGUoZSx0PSExKXthc3NlcnQoIWUuY29tcG9zaXRlLCJNdXN0IGJlIGEgc2ltcGxlIGZvbnQuIik7Y29uc3QgaT1bXSxhPWUuZGVmYXVsdEVuY29kaW5nLnNsaWNlKCkscz1lLmJhc2VFbmNvZGluZ05hbWUscj1lLmRpZmZlcmVuY2VzO2Zvcihjb25zdCBlIGluIHIpe2NvbnN0IHQ9cltlXTsiLm5vdGRlZiIhPT10JiYoYVtlXT10KX1jb25zdCBuPXhpKCk7Zm9yKGNvbnN0IHIgaW4gYSl7bGV0IGc9YVtyXTtpZigiIj09PWcpY29udGludWU7bGV0IG89bltnXTtpZih2b2lkIDAhPT1vKXtpW3JdPVN0cmluZy5mcm9tQ2hhckNvZGUobyk7Y29udGludWV9bGV0IGM9MDtzd2l0Y2goZ1swXSl7Y2FzZSJHIjozPT09Zy5sZW5ndGgmJihjPXBhcnNlSW50KGcuc3Vic3RyaW5nKDEpLDE2KSk7YnJlYWs7Y2FzZSJnIjo1PT09Zy5sZW5ndGgmJihjPXBhcnNlSW50KGcuc3Vic3RyaW5nKDEpLDE2KSk7YnJlYWs7Y2FzZSJDIjpjYXNlImMiOmlmKGcubGVuZ3RoPj0zJiZnLmxlbmd0aDw9NCl7Y29uc3QgaT1nLnN1YnN0cmluZygxKTtpZih0KXtjPXBhcnNlSW50KGksMTYpO2JyZWFrfWM9K2k7aWYoTnVtYmVyLmlzTmFOKGMpJiZOdW1iZXIuaXNJbnRlZ2VyKHBhcnNlSW50KGksMTYpKSlyZXR1cm4gdGhpcy5fc2ltcGxlRm9udFRvVW5pY29kZShlLCEwKX1icmVhaztjYXNlInUiOm89Z2V0VW5pY29kZUZvckdseXBoKGcsbik7LTEhPT1vJiYoYz1vKTticmVhaztkZWZhdWx0OnN3aXRjaChnKXtjYXNlImZfaCI6Y2FzZSJmX3QiOmNhc2UiVF9oIjppW3JdPWcucmVwbGFjZUFsbCgiXyIsIiIpO2NvbnRpbnVlfX1pZihjPjAmJmM8PTExMTQxMTEmJk51bWJlci5pc0ludGVnZXIoYykpe2lmKHMmJmM9PT0rcil7Y29uc3QgZT1nZXRFbmNvZGluZyhzKTtpZihlJiYoZz1lW3JdKSl7aVtyXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG5bZ10pO2NvbnRpbnVlfX1pW3JdPVN0cmluZy5mcm9tQ29kZVBvaW50KGMpfX1yZXR1cm4gaX1hc3luYyBidWlsZFRvVW5pY29kZShlKXtlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwPWUudG9Vbmljb2RlPy5sZW5ndGg+MDtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXshZS5jb21wb3NpdGUmJmUuaGFzRW5jb2RpbmcmJihlLmZhbGxiYWNrVG9Vbmljb2RlPXRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSkpO3JldHVybiBlLnRvVW5pY29kZX1pZighZS5jb21wb3NpdGUpcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAodGhpcy5fc2ltcGxlRm9udFRvVW5pY29kZShlKSk7aWYoZS5jb21wb3NpdGUmJihlLmNNYXAuYnVpbHRJbkNNYXAmJiEoZS5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKXx8IkFkb2JlIj09PWUuY2lkU3lzdGVtSW5mbz8ucmVnaXN0cnkmJigiR0IxIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IkNOUzEiPT09ZS5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nfHwiSmFwYW4xIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IktvcmVhMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmcpKSl7Y29uc3R7cmVnaXN0cnk6dCxvcmRlcmluZzppfT1lLmNpZFN5c3RlbUluZm8sYT1OYW1lLmdldChgJHt0fS0ke2l9LVVDUzJgKSxzPWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6YSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KSxyPVtdLG49W107ZS5jTWFwLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7aWYodD42NTUzNSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1heCBzaXplIG9mIENJRCBpcyA2NSw1MzUiKTtjb25zdCBpPXMubG9va3VwKHQpO2lmKGkpe24ubGVuZ3RoPTA7Zm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSs9MiluLnB1c2goKGkuY2hhckNvZGVBdChlKTw8OCkraS5jaGFyQ29kZUF0KGUrMSkpO3JbZV09U3RyaW5nLmZyb21DaGFyQ29kZSguLi5uKX19KSk7cmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAocil9cmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcChlLmZpcnN0Q2hhcixlLmxhc3RDaGFyKX1hc3luYyByZWFkVG9Vbmljb2RlKGUpe2lmKCFlKXJldHVybiBudWxsO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCB0PWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KTtyZXR1cm4gdCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcD9uZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAoMCw2NTUzNSk6bmV3IFRvVW5pY29kZU1hcCh0LmdldE1hcCgpKX1pZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl0cnl7Y29uc3QgdD1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSk7aWYodCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcClyZXR1cm4gbmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsNjU1MzUpO2NvbnN0IGk9bmV3IEFycmF5KHQubGVuZ3RoKTt0LmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXtpW2VdPVN0cmluZy5mcm9tQ29kZVBvaW50KHQpO3JldHVybn10Lmxlbmd0aCUyIT0wJiYodD0iXDAiK3QpO2NvbnN0IGE9W107Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKz0yKXtjb25zdCBpPXQuY2hhckNvZGVBdChlKTw8OHx0LmNoYXJDb2RlQXQoZSsxKTtpZig1NTI5NiE9KDYzNDg4JmkpKXthLnB1c2goaSk7Y29udGludWV9ZSs9Mjtjb25zdCBzPXQuY2hhckNvZGVBdChlKTw8OHx0LmNoYXJDb2RlQXQoZSsxKTthLnB1c2goKCgxMDIzJmkpPDwxMCkrKDEwMjMmcykrNjU1MzYpfWlbZV09U3RyaW5nLmZyb21Db2RlUG9pbnQoLi4uYSl9KSk7cmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAoaSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHJlYWRUb1VuaWNvZGUgLSBpZ25vcmluZyBUb1VuaWNvZGUgZGF0YTogIiR7ZX0iLmApO3JldHVybiBudWxsfXRocm93IGV9cmV0dXJuIG51bGx9cmVhZENpZFRvR2lkTWFwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspe2NvbnN0IHM9ZVthKytdPDw4fGVbYV0scj1hPj4xOygwIT09c3x8dC5oYXMocikpJiYoaVtyXT1zKX1yZXR1cm4gaX1leHRyYWN0V2lkdGhzKGUsdCxpKXtjb25zdCBhPXRoaXMueHJlZjtsZXQgcz1bXSxyPTA7Y29uc3Qgbj1bXTtsZXQgZztpZihpLmNvbXBvc2l0ZSl7Y29uc3QgdD1lLmdldCgiRFciKTtyPSJudW1iZXIiPT10eXBlb2YgdD9NYXRoLmNlaWwodCk6MWUzO2NvbnN0IG89ZS5nZXQoIlciKTtpZihBcnJheS5pc0FycmF5KG8pKWZvcihsZXQgZT0wLHQ9by5sZW5ndGg7ZTx0O2UrKyl7bGV0IHQ9YS5mZXRjaElmUmVmKG9bZSsrXSk7aWYoIU51bWJlci5pc0ludGVnZXIodCkpYnJlYWs7Y29uc3QgaT1hLmZldGNoSWZSZWYob1tlXSk7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IoY29uc3QgZSBvZiBpKXtjb25zdCBpPWEuZmV0Y2hJZlJlZihlKTsibnVtYmVyIj09dHlwZW9mIGkmJihzW3RdPWkpO3QrK31lbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKWJyZWFrO3tjb25zdCByPWEuZmV0Y2hJZlJlZihvWysrZV0pO2lmKCJudW1iZXIiIT10eXBlb2Ygciljb250aW51ZTtmb3IobGV0IGU9dDtlPD1pO2UrKylzW2VdPXJ9fX1pZihpLnZlcnRpY2FsKXtjb25zdCB0PWUuZ2V0QXJyYXkoIkRXMiIpO2xldCBpPWlzTnVtYmVyQXJyYXkodCwyKT90Ols4ODAsLTFlM107Zz1baVsxXSwuNSpyLGlbMF1dO2k9ZS5nZXQoIlcyIik7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IGU9MCx0PWkubGVuZ3RoO2U8dDtlKyspe2xldCB0PWEuZmV0Y2hJZlJlZihpW2UrK10pO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpKWJyZWFrO2NvbnN0IHM9YS5mZXRjaElmUmVmKGlbZV0pO2lmKEFycmF5LmlzQXJyYXkocykpZm9yKGxldCBlPTAsaT1zLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBpPVthLmZldGNoSWZSZWYoc1tlKytdKSxhLmZldGNoSWZSZWYoc1tlKytdKSxhLmZldGNoSWZSZWYoc1tlXSldO2lzTnVtYmVyQXJyYXkoaSxudWxsKSYmKG5bdF09aSk7dCsrfWVsc2V7aWYoIU51bWJlci5pc0ludGVnZXIocykpYnJlYWs7e2NvbnN0IHI9W2EuZmV0Y2hJZlJlZihpWysrZV0pLGEuZmV0Y2hJZlJlZihpWysrZV0pLGEuZmV0Y2hJZlJlZihpWysrZV0pXTtpZighaXNOdW1iZXJBcnJheShyLG51bGwpKWNvbnRpbnVlO2ZvcihsZXQgZT10O2U8PXM7ZSsrKW5bZV09cn19fX19ZWxzZXtjb25zdCBuPWUuZ2V0KCJXaWR0aHMiKTtpZihBcnJheS5pc0FycmF5KG4pKXtsZXQgZT1pLmZpcnN0Q2hhcjtmb3IoY29uc3QgdCBvZiBuKXtjb25zdCBpPWEuZmV0Y2hJZlJlZih0KTsibnVtYmVyIj09dHlwZW9mIGkmJihzW2VdPWkpO2UrK31jb25zdCBnPXQuZ2V0KCJNaXNzaW5nV2lkdGgiKTtyPSJudW1iZXIiPT10eXBlb2YgZz9nOjB9ZWxzZXtjb25zdCB0PWUuZ2V0KCJCYXNlRm9udCIpO2lmKHQgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCBlPXRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKHQubmFtZSk7cz10aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKGUud2lkdGhzLGkpO3I9ZS5kZWZhdWx0V2lkdGh9fX1sZXQgbz0hMCxjPXI7Zm9yKGNvbnN0IGUgaW4gcyl7Y29uc3QgdD1zW2VdO2lmKHQpaWYoYyl7aWYoYyE9PXQpe289ITE7YnJlYWt9fWVsc2UgYz10fW8/aS5mbGFnc3w9VGk6aS5mbGFncyY9flRpO2kuZGVmYXVsdFdpZHRoPXI7aS53aWR0aHM9cztpLmRlZmF1bHRWTWV0cmljcz1nO2kudm1ldHJpY3M9bn1pc1NlcmlmRm9udChlKXtjb25zdCB0PWUuc3BsaXQoIi0iLDEpWzBdO3JldHVybiB0IGluIHppKCl8fC9zZXJpZi9naS50ZXN0KHQpfWdldEJhc2VGb250TWV0cmljcyhlKXtsZXQgdD0wLGk9T2JqZWN0LmNyZWF0ZShudWxsKSxhPSExO2xldCBzPVhpKClbZV18fGU7Y29uc3Qgcj1pYSgpO3MgaW4gcnx8KHM9dGhpcy5pc1NlcmlmRm9udChlKT8iVGltZXMtUm9tYW4iOiJIZWx2ZXRpY2EiKTtjb25zdCBuPXJbc107aWYoIm51bWJlciI9PXR5cGVvZiBuKXt0PW47YT0hMH1lbHNlIGk9bigpO3JldHVybntkZWZhdWx0V2lkdGg6dCxtb25vc3BhY2U6YSx3aWR0aHM6aX19YnVpbGRDaGFyQ29kZVRvV2lkdGgoZSx0KXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT10LmRpZmZlcmVuY2VzLHM9dC5kZWZhdWx0RW5jb2Rpbmc7Zm9yKGxldCB0PTA7dDwyNTY7dCsrKXQgaW4gYSYmZVthW3RdXT9pW3RdPWVbYVt0XV06dCBpbiBzJiZlW3NbdF1dJiYoaVt0XT1lW3NbdF1dKTtyZXR1cm4gaX1wcmVFdmFsdWF0ZUZvbnQoZSl7Y29uc3QgdD1lO2xldCBpPWUuZ2V0KCJTdWJ0eXBlIik7aWYoIShpIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZvbnQgU3VidHlwZSIpO2xldCBhLHM9ITE7aWYoIlR5cGUwIj09PWkubmFtZSl7Y29uc3QgdD1lLmdldCgiRGVzY2VuZGFudEZvbnRzIik7aWYoIXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJEZXNjZW5kYW50IGZvbnRzIGFyZSBub3Qgc3BlY2lmaWVkIik7aWYoISgoZT1BcnJheS5pc0FycmF5KHQpP3RoaXMueHJlZi5mZXRjaElmUmVmKHRbMF0pOnQpaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkRlc2NlbmRhbnQgZm9udCBpcyBub3QgYSBkaWN0aW9uYXJ5LiIpO2k9ZS5nZXQoIlN1YnR5cGUiKTtpZighKGkgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZm9udCBTdWJ0eXBlIik7cz0hMH1sZXQgcj1lLmdldCgiRmlyc3RDaGFyIik7TnVtYmVyLmlzSW50ZWdlcihyKXx8KHI9MCk7bGV0IG49ZS5nZXQoIkxhc3RDaGFyIik7TnVtYmVyLmlzSW50ZWdlcihuKXx8KG49cz82NTUzNToyNTUpO2NvbnN0IGc9ZS5nZXQoIkZvbnREZXNjcmlwdG9yIiksbz1lLmdldCgiVG9Vbmljb2RlIil8fHQuZ2V0KCJUb1VuaWNvZGUiKTtpZihnKXthPW5ldyBNdXJtdXJIYXNoM182NDtjb25zdCBpPXQuZ2V0UmF3KCJFbmNvZGluZyIpO2lmKGkgaW5zdGFuY2VvZiBOYW1lKWEudXBkYXRlKGkubmFtZSk7ZWxzZSBpZihpIGluc3RhbmNlb2YgUmVmKWEudXBkYXRlKGkudG9TdHJpbmcoKSk7ZWxzZSBpZihpIGluc3RhbmNlb2YgRGljdClmb3IoY29uc3QgZSBvZiBpLmdldFJhd1ZhbHVlcygpKWlmKGUgaW5zdGFuY2VvZiBOYW1lKWEudXBkYXRlKGUubmFtZSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgUmVmKWEudXBkYXRlKGUudG9TdHJpbmcoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCB0PWUubGVuZ3RoLGk9bmV3IEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDthKyspe2NvbnN0IHQ9ZVthXTt0IGluc3RhbmNlb2YgTmFtZT9pW2FdPXQubmFtZTooIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKSYmKGlbYV09dC50b1N0cmluZygpKX1hLnVwZGF0ZShpLmpvaW4oKSl9YS51cGRhdGUoYCR7cn0tJHtufWApO2lmKG8gaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBlPW8uc3RyfHxvLHQ9ZS5idWZmZXI/bmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIuYnVmZmVyLDAsZS5idWZmZXJMZW5ndGgpOm5ldyBVaW50OEFycmF5KGUuYnl0ZXMuYnVmZmVyLGUuc3RhcnQsZS5lbmQtZS5zdGFydCk7YS51cGRhdGUodCl9ZWxzZSBvIGluc3RhbmNlb2YgTmFtZSYmYS51cGRhdGUoby5uYW1lKTtjb25zdCBnPWUuZ2V0KCJXaWR0aHMiKXx8dC5nZXQoIldpZHRocyIpO2lmKEFycmF5LmlzQXJyYXkoZykpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgZykoIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKSYmZS5wdXNoKHQudG9TdHJpbmcoKSk7YS51cGRhdGUoZS5qb2luKCkpfWlmKHMpe2EudXBkYXRlKCJjb21wb3NpdGVGb250Iik7Y29uc3QgaT1lLmdldCgiVyIpfHx0LmdldCgiVyIpO2lmKEFycmF5LmlzQXJyYXkoaSkpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgaSlpZigibnVtYmVyIj09dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWYpZS5wdXNoKHQudG9TdHJpbmcoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBpPVtdO2Zvcihjb25zdCBlIG9mIHQpKCJudW1iZXIiPT10eXBlb2YgZXx8ZSBpbnN0YW5jZW9mIFJlZikmJmkucHVzaChlLnRvU3RyaW5nKCkpO2UucHVzaChgWyR7aS5qb2luKCl9XWApfWEudXBkYXRlKGUuam9pbigpKX1jb25zdCBzPWUuZ2V0UmF3KCJDSURUb0dJRE1hcCIpfHx0LmdldFJhdygiQ0lEVG9HSURNYXAiKTtzIGluc3RhbmNlb2YgTmFtZT9hLnVwZGF0ZShzLm5hbWUpOnMgaW5zdGFuY2VvZiBSZWY/YS51cGRhdGUocy50b1N0cmluZygpKTpzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmYS51cGRhdGUocy5wZWVrQnl0ZXMoKSl9fXJldHVybntkZXNjcmlwdG9yOmcsZGljdDplLGJhc2VEaWN0OnQsY29tcG9zaXRlOnMsdHlwZTppLm5hbWUsZmlyc3RDaGFyOnIsbGFzdENoYXI6bix0b1VuaWNvZGU6byxoYXNoOmE/YS5oZXhkaWdlc3QoKToiIn19YXN5bmMgdHJhbnNsYXRlRm9udCh7ZGVzY3JpcHRvcjplLGRpY3Q6dCxiYXNlRGljdDppLGNvbXBvc2l0ZTpzLHR5cGU6cixmaXJzdENoYXI6bixsYXN0Q2hhcjpnLHRvVW5pY29kZTpvLGNzc0ZvbnRJbmZvOmN9KXtjb25zdCBDPSJUeXBlMyI9PT1yO2lmKCFlKXtpZighQyl7bGV0IGU9dC5nZXQoIkJhc2VGb250Iik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYXNlIGZvbnQgaXMgbm90IHNwZWNpZmllZCIpO2U9ZS5uYW1lLnJlcGxhY2VBbGwoL1ssX10vZywiLSIpO2NvbnN0IGE9dGhpcy5nZXRCYXNlRm9udE1ldHJpY3MoZSkscz1lLnNwbGl0KCItIiwxKVswXSxjPSh0aGlzLmlzU2VyaWZGb250KHMpP3FpOjApfChhLm1vbm9zcGFjZT9UaTowKXwoX2koKVtzXT9PaTpQaSksaD17dHlwZTpyLG5hbWU6ZSxsb2FkZWROYW1lOmkubG9hZGVkTmFtZSxzeXN0ZW1Gb250SW5mbzpudWxsLHdpZHRoczphLndpZHRocyxkZWZhdWx0V2lkdGg6YS5kZWZhdWx0V2lkdGgsaXNTaW11bGF0ZWRGbGFnczohMCxmbGFnczpjLGZpcnN0Q2hhcjpuLGxhc3RDaGFyOmcsdG9Vbmljb2RlOm8seEhlaWdodDowLGNhcEhlaWdodDowLGl0YWxpY0FuZ2xlOjAsaXNUeXBlM0ZvbnQ6Q30sbD10LmdldCgiV2lkdGhzIiksUT1nZXRTdGFuZGFyZEZvbnROYW1lKGUpO2xldCBFPW51bGw7aWYoUSl7RT1hd2FpdCB0aGlzLmZldGNoU3RhbmRhcmRGb250RGF0YShRKTtoLmlzSW50ZXJuYWxGb250PSEhRX0haC5pc0ludGVybmFsRm9udCYmdGhpcy5vcHRpb25zLnVzZVN5c3RlbUZvbnRzJiYoaC5zeXN0ZW1Gb250SW5mbz1nZXRGb250U3Vic3RpdHV0aW9uKHRoaXMuc3lzdGVtRm9udENhY2hlLHRoaXMuaWRGYWN0b3J5LHRoaXMub3B0aW9ucy5zdGFuZGFyZEZvbnREYXRhVXJsLGUsUSxyKSk7Y29uc3QgdT1hd2FpdCB0aGlzLmV4dHJhY3REYXRhU3RydWN0dXJlcyh0LGgpO2lmKEFycmF5LmlzQXJyYXkobCkpe2NvbnN0IGU9W107bGV0IHQ9bjtmb3IoY29uc3QgaSBvZiBsKXtjb25zdCBhPXRoaXMueHJlZi5mZXRjaElmUmVmKGkpOyJudW1iZXIiPT10eXBlb2YgYSYmKGVbdF09YSk7dCsrfXUud2lkdGhzPWV9ZWxzZSB1LndpZHRocz10aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKGEud2lkdGhzLHUpO3JldHVybiBuZXcgRm9udChlLEUsdSl9e2NvbnN0IGk9bG9va3VwTm9ybWFsUmVjdCh0LmdldEFycmF5KCJGb250QkJveCIpLFswLDAsMCwwXSk7KGU9bmV3IERpY3QobnVsbCkpLnNldCgiRm9udE5hbWUiLE5hbWUuZ2V0KHIpKTtlLnNldCgiRm9udEJCb3giLGkpfX1sZXQgaD1lLmdldCgiRm9udE5hbWUiKSxsPXQuZ2V0KCJCYXNlRm9udCIpOyJzdHJpbmciPT10eXBlb2YgaCYmKGg9TmFtZS5nZXQoaCkpOyJzdHJpbmciPT10eXBlb2YgbCYmKGw9TmFtZS5nZXQobCkpO2NvbnN0IFE9aD8ubmFtZSxFPWw/Lm5hbWU7aWYoIUMmJlEhPT1FKXtpbmZvKGBUaGUgRm9udERlc2NyaXB0b3IncyBGb250TmFtZSBpcyAiJHtRfSIgYnV0IHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgRm9udCdzIEJhc2VGb250ICIke0V9Ii5gKTtRJiZFJiYoRS5zdGFydHNXaXRoKFEpfHwhaXNLbm93bkZvbnROYW1lKFEpJiZpc0tub3duRm9udE5hbWUoRSkpJiYoaD1udWxsKX1ofHw9bDtpZighKGggaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZm9udCBuYW1lIik7bGV0IHUsZCxmLHAsbTt0cnl7dT1lLmdldCgiRm9udEZpbGUiLCJGb250RmlsZTIiLCJGb250RmlsZTMiKTtpZih1KXtpZighKHUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkZvbnRGaWxlIHNob3VsZCBiZSBhIHN0cmVhbSIpO2lmKHUuaXNFbXB0eSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkZvbnRGaWxlIGlzIGVtcHR5Iil9fWNhdGNoKGUpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgdHJhbnNsYXRlRm9udCAtIGZldGNoaW5nICIke2gubmFtZX0iIGZvbnQgZmlsZTogIiR7ZX0iLmApO3U9bnVsbH1sZXQgeT0hMSx3PW51bGwsRD1udWxsO2lmKHUpe2lmKHUuZGljdCl7Y29uc3QgZT11LmRpY3QuZ2V0KCJTdWJ0eXBlIik7ZSBpbnN0YW5jZW9mIE5hbWUmJihkPWUubmFtZSk7Zj11LmRpY3QuZ2V0KCJMZW5ndGgxIik7cD11LmRpY3QuZ2V0KCJMZW5ndGgyIik7bT11LmRpY3QuZ2V0KCJMZW5ndGgzIil9fWVsc2UgaWYoYyl7Y29uc3QgZT1nZXRYZmFGb250TmFtZShoLm5hbWUpO2lmKGUpe2MuZm9udEZhbWlseT1gJHtjLmZvbnRGYW1pbHl9LVBkZkpTLVhGQWA7Yy5tZXRyaWNzPWUubWV0cmljc3x8bnVsbDt3PWUuZmFjdG9yc3x8bnVsbDt1PWF3YWl0IHRoaXMuZmV0Y2hTdGFuZGFyZEZvbnREYXRhKGUubmFtZSk7eT0hIXU7aT10PWdldFhmYUZvbnREaWN0KGgubmFtZSk7cz0hMH19ZWxzZSBpZighQyl7Y29uc3QgZT1nZXRTdGFuZGFyZEZvbnROYW1lKGgubmFtZSk7aWYoZSl7dT1hd2FpdCB0aGlzLmZldGNoU3RhbmRhcmRGb250RGF0YShlKTt5PSEhdX0heSYmdGhpcy5vcHRpb25zLnVzZVN5c3RlbUZvbnRzJiYoRD1nZXRGb250U3Vic3RpdHV0aW9uKHRoaXMuc3lzdGVtRm9udENhY2hlLHRoaXMuaWRGYWN0b3J5LHRoaXMub3B0aW9ucy5zdGFuZGFyZEZvbnREYXRhVXJsLGgubmFtZSxlLHIpKX1jb25zdCBiPWxvb2t1cE1hdHJpeCh0LmdldEFycmF5KCJGb250TWF0cml4IiksYSksRj1sb29rdXBOb3JtYWxSZWN0KGUuZ2V0QXJyYXkoIkZvbnRCQm94Iil8fHQuZ2V0QXJyYXkoIkZvbnRCQm94Iiksdm9pZCAwKTtsZXQgUz1lLmdldCgiQXNjZW50Iik7Im51bWJlciIhPXR5cGVvZiBTJiYoUz12b2lkIDApO2xldCBrPWUuZ2V0KCJEZXNjZW50Iik7Im51bWJlciIhPXR5cGVvZiBrJiYoaz12b2lkIDApO2xldCBSPWUuZ2V0KCJYSGVpZ2h0Iik7Im51bWJlciIhPXR5cGVvZiBSJiYoUj0wKTtsZXQgTj1lLmdldCgiQ2FwSGVpZ2h0Iik7Im51bWJlciIhPXR5cGVvZiBOJiYoTj0wKTtsZXQgRz1lLmdldCgiRmxhZ3MiKTtOdW1iZXIuaXNJbnRlZ2VyKEcpfHwoRz0wKTtsZXQgeD1lLmdldCgiSXRhbGljQW5nbGUiKTsibnVtYmVyIiE9dHlwZW9mIHgmJih4PTApO2NvbnN0IFU9e3R5cGU6cixuYW1lOmgubmFtZSxzdWJ0eXBlOmQsZmlsZTp1LGxlbmd0aDE6ZixsZW5ndGgyOnAsbGVuZ3RoMzptLGlzSW50ZXJuYWxGb250OnksbG9hZGVkTmFtZTppLmxvYWRlZE5hbWUsY29tcG9zaXRlOnMsZml4ZWRQaXRjaDohMSxmb250TWF0cml4OmIsZmlyc3RDaGFyOm4sbGFzdENoYXI6Zyx0b1VuaWNvZGU6byxiYm94OkYsYXNjZW50OlMsZGVzY2VudDprLHhIZWlnaHQ6UixjYXBIZWlnaHQ6TixmbGFnczpHLGl0YWxpY0FuZ2xlOngsaXNUeXBlM0ZvbnQ6Qyxjc3NGb250SW5mbzpjLHNjYWxlRmFjdG9yczp3LHN5c3RlbUZvbnRJbmZvOkR9O2lmKHMpe2NvbnN0IGU9aS5nZXQoIkVuY29kaW5nIik7ZSBpbnN0YW5jZW9mIE5hbWUmJihVLmNpZEVuY29kaW5nPWUubmFtZSk7Y29uc3QgdD1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSk7VS5jTWFwPXQ7VS52ZXJ0aWNhbD1VLmNNYXAudmVydGljYWx9Y29uc3QgTT1hd2FpdCB0aGlzLmV4dHJhY3REYXRhU3RydWN0dXJlcyh0LFUpO3RoaXMuZXh0cmFjdFdpZHRocyh0LGUsTSk7cmV0dXJuIG5ldyBGb250KGgubmFtZSx1LE0pfXN0YXRpYyBidWlsZEZvbnRQYXRocyhlLHQsaSxhKXtmdW5jdGlvbiBidWlsZFBhdGgodCl7Y29uc3Qgcz1gJHtlLmxvYWRlZE5hbWV9X3BhdGhfJHt0fWA7dHJ5e2lmKGUucmVuZGVyZXIuaGFzQnVpbHRQYXRoKHQpKXJldHVybjtpLnNlbmQoImNvbW1vbm9iaiIsW3MsIkZvbnRQYXRoIixlLnJlbmRlcmVyLmdldFBhdGhKcyh0KV0pfWNhdGNoKGUpe2lmKGEuaWdub3JlRXJyb3JzKXt3YXJuKGBidWlsZEZvbnRQYXRocyAtIGlnbm9yaW5nICR7c30gZ2x5cGg6ICIke2V9Ii5gKTtyZXR1cm59dGhyb3cgZX19Zm9yKGNvbnN0IGUgb2YgdCl7YnVpbGRQYXRoKGUuZm9udENoYXIpO2NvbnN0IHQ9ZS5hY2NlbnQ7dD8uZm9udENoYXImJmJ1aWxkUGF0aCh0LmZvbnRDaGFyKX19c3RhdGljIGdldCBmYWxsYmFja0ZvbnREaWN0KCl7Y29uc3QgZT1uZXcgRGljdDtlLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KCJIZWx2ZXRpY2EiKSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGYWxsYmFja1R5cGUiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGYWxsYmFja1R5cGUiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiV2luQW5zaUVuY29kaW5nIikpO3JldHVybiBzaGFkb3codGhpcywiZmFsbGJhY2tGb250RGljdCIsZSl9fWNsYXNzIFRyYW5zbGF0ZWRGb250e2NvbnN0cnVjdG9yKHtsb2FkZWROYW1lOmUsZm9udDp0LGRpY3Q6aSxldmFsdWF0b3JPcHRpb25zOmF9KXt0aGlzLmxvYWRlZE5hbWU9ZTt0aGlzLmZvbnQ9dDt0aGlzLmRpY3Q9aTt0aGlzLl9ldmFsdWF0b3JPcHRpb25zPWF8fGtzO3RoaXMudHlwZTNMb2FkZWQ9bnVsbDt0aGlzLnR5cGUzRGVwZW5kZW5jaWVzPXQuaXNUeXBlM0ZvbnQ/bmV3IFNldDpudWxsO3RoaXMuc2VudD0hMX1zZW5kKGUpe2lmKCF0aGlzLnNlbnQpe3RoaXMuc2VudD0hMDtlLnNlbmQoImNvbW1vbm9iaiIsW3RoaXMubG9hZGVkTmFtZSwiRm9udCIsdGhpcy5mb250LmV4cG9ydERhdGEodGhpcy5fZXZhbHVhdG9yT3B0aW9ucy5mb250RXh0cmFQcm9wZXJ0aWVzKV0pfX1mYWxsYmFjayhlKXtpZih0aGlzLmZvbnQuZGF0YSl7dGhpcy5mb250LmRpc2FibGVGb250RmFjZT0hMDtQYXJ0aWFsRXZhbHVhdG9yLmJ1aWxkRm9udFBhdGhzKHRoaXMuZm9udCx0aGlzLmZvbnQuZ2x5cGhDYWNoZVZhbHVlcyxlLHRoaXMuX2V2YWx1YXRvck9wdGlvbnMpfX1sb2FkVHlwZTNEYXRhKGUsdCxpKXtpZih0aGlzLnR5cGUzTG9hZGVkKXJldHVybiB0aGlzLnR5cGUzTG9hZGVkO2lmKCF0aGlzLmZvbnQuaXNUeXBlM0ZvbnQpdGhyb3cgbmV3IEVycm9yKCJNdXN0IGJlIGEgVHlwZTMgZm9udC4iKTtjb25zdCBhPWUuY2xvbmUoe2lnbm9yZUVycm9yczohMX0pLHM9bmV3IFJlZlNldChlLnR5cGUzRm9udFJlZnMpO3RoaXMuZGljdC5vYmpJZCYmIXMuaGFzKHRoaXMuZGljdC5vYmpJZCkmJnMucHV0KHRoaXMuZGljdC5vYmpJZCk7YS50eXBlM0ZvbnRSZWZzPXM7Y29uc3Qgcj10aGlzLmZvbnQsbj10aGlzLnR5cGUzRGVwZW5kZW5jaWVzO2xldCBnPVByb21pc2UucmVzb2x2ZSgpO2NvbnN0IG89dGhpcy5kaWN0LmdldCgiQ2hhclByb2NzIiksYz10aGlzLmRpY3QuZ2V0KCJSZXNvdXJjZXMiKXx8dCxDPU9iamVjdC5jcmVhdGUobnVsbCksaD1VdGlsLm5vcm1hbGl6ZVJlY3Qoci5iYm94fHxbMCwwLDAsMF0pLGw9aFsyXS1oWzBdLFE9aFszXS1oWzFdLEU9TWF0aC5oeXBvdChsLFEpO2Zvcihjb25zdCBlIG9mIG8uZ2V0S2V5cygpKWc9Zy50aGVuKCgoKT0+e2NvbnN0IHQ9by5nZXQoZSkscz1uZXcgT3BlcmF0b3JMaXN0O3JldHVybiBhLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOnQsdGFzazppLHJlc291cmNlczpjLG9wZXJhdG9yTGlzdDpzfSkudGhlbigoKCk9PntzLmZuQXJyYXlbMF09PT1FZSYmdGhpcy5fcmVtb3ZlVHlwZTNDb2xvck9wZXJhdG9ycyhzLEUpO0NbZV09cy5nZXRJUigpO2Zvcihjb25zdCBlIG9mIHMuZGVwZW5kZW5jaWVzKW4uYWRkKGUpfSkpLmNhdGNoKChmdW5jdGlvbih0KXt3YXJuKGBUeXBlMyBmb250IHJlc291cmNlICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApO2NvbnN0IGk9bmV3IE9wZXJhdG9yTGlzdDtDW2VdPWkuZ2V0SVIoKX0pKX0pKTt0aGlzLnR5cGUzTG9hZGVkPWcudGhlbigoKCk9PntyLmNoYXJQcm9jT3BlcmF0b3JMaXN0PUM7aWYodGhpcy5fYmJveCl7ci5pc0NoYXJCQm94PSEwO3IuYmJveD10aGlzLl9iYm94fX0pKTtyZXR1cm4gdGhpcy50eXBlM0xvYWRlZH1fcmVtb3ZlVHlwZTNDb2xvck9wZXJhdG9ycyhlLHQ9TmFOKXtjb25zdCBpPVV0aWwubm9ybWFsaXplUmVjdChlLmFyZ3NBcnJheVswXS5zbGljZSgyKSksYT1pWzJdLWlbMF0scz1pWzNdLWlbMV0scj1NYXRoLmh5cG90KGEscyk7aWYoMD09PWF8fDA9PT1zKXtlLmZuQXJyYXkuc3BsaWNlKDAsMSk7ZS5hcmdzQXJyYXkuc3BsaWNlKDAsMSl9ZWxzZSBpZigwPT09dHx8TWF0aC5yb3VuZChyL3QpPj0xMCl7dGhpcy5fYmJveHx8KHRoaXMuX2Jib3g9WzEvMCwxLzAsLTEvMCwtMS8wXSk7dGhpcy5fYmJveFswXT1NYXRoLm1pbih0aGlzLl9iYm94WzBdLGlbMF0pO3RoaXMuX2Jib3hbMV09TWF0aC5taW4odGhpcy5fYmJveFsxXSxpWzFdKTt0aGlzLl9iYm94WzJdPU1hdGgubWF4KHRoaXMuX2Jib3hbMl0saVsyXSk7dGhpcy5fYmJveFszXT1NYXRoLm1heCh0aGlzLl9iYm94WzNdLGlbM10pfWxldCBuPTAsZz1lLmxlbmd0aDtmb3IoO248Zzspe3N3aXRjaChlLmZuQXJyYXlbbl0pe2Nhc2UgRWU6YnJlYWs7Y2FzZSB1ZTpjYXNlIGRlOmNhc2UgZmU6Y2FzZSBwZTpjYXNlIG1lOmNhc2UgeWU6Y2FzZSB3ZTpjYXNlIERlOmNhc2UgYmU6Y2FzZSBGZTpjYXNlIFNlOmNhc2Uga2U6Y2FzZSBSZTpjYXNlIGtBOmUuZm5BcnJheS5zcGxpY2UobiwxKTtlLmFyZ3NBcnJheS5zcGxpY2UobiwxKTtnLS07Y29udGludWU7Y2FzZSBOQTpjb25zdFt0XT1lLmFyZ3NBcnJheVtuXTtsZXQgaT0wLGE9dC5sZW5ndGg7Zm9yKDtpPGE7KXtjb25zdFtlXT10W2ldO3N3aXRjaChlKXtjYXNlIlRSIjpjYXNlIlRSMiI6Y2FzZSJIVCI6Y2FzZSJCRyI6Y2FzZSJCRzIiOmNhc2UiVUNSIjpjYXNlIlVDUjIiOnQuc3BsaWNlKGksMSk7YS0tO2NvbnRpbnVlfWkrK319bisrfX19Y2xhc3MgU3RhdGVNYW5hZ2Vye2NvbnN0cnVjdG9yKGU9bmV3IEV2YWxTdGF0ZSl7dGhpcy5zdGF0ZT1lO3RoaXMuc3RhdGVTdGFjaz1bXX1zYXZlKCl7Y29uc3QgZT10aGlzLnN0YXRlO3RoaXMuc3RhdGVTdGFjay5wdXNoKHRoaXMuc3RhdGUpO3RoaXMuc3RhdGU9ZS5jbG9uZSgpfXJlc3RvcmUoKXtjb25zdCBlPXRoaXMuc3RhdGVTdGFjay5wb3AoKTtlJiYodGhpcy5zdGF0ZT1lKX10cmFuc2Zvcm0oZSl7dGhpcy5zdGF0ZS5jdG09VXRpbC50cmFuc2Zvcm0odGhpcy5zdGF0ZS5jdG0sZSl9fWNsYXNzIFRleHRTdGF0ZXtjb25zdHJ1Y3Rvcigpe3RoaXMuY3RtPW5ldyBGbG9hdDMyQXJyYXkoaSk7dGhpcy5mb250TmFtZT1udWxsO3RoaXMuZm9udFNpemU9MDt0aGlzLmxvYWRlZE5hbWU9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmZvbnRNYXRyaXg9YTt0aGlzLnRleHRNYXRyaXg9aS5zbGljZSgpO3RoaXMudGV4dExpbmVNYXRyaXg9aS5zbGljZSgpO3RoaXMuY2hhclNwYWNpbmc9MDt0aGlzLndvcmRTcGFjaW5nPTA7dGhpcy5sZWFkaW5nPTA7dGhpcy50ZXh0SFNjYWxlPTE7dGhpcy50ZXh0UmlzZT0wfXNldFRleHRNYXRyaXgoZSx0LGksYSxzLHIpe2NvbnN0IG49dGhpcy50ZXh0TWF0cml4O25bMF09ZTtuWzFdPXQ7blsyXT1pO25bM109YTtuWzRdPXM7bls1XT1yfXNldFRleHRMaW5lTWF0cml4KGUsdCxpLGEscyxyKXtjb25zdCBuPXRoaXMudGV4dExpbmVNYXRyaXg7blswXT1lO25bMV09dDtuWzJdPWk7blszXT1hO25bNF09cztuWzVdPXJ9dHJhbnNsYXRlVGV4dE1hdHJpeChlLHQpe2NvbnN0IGk9dGhpcy50ZXh0TWF0cml4O2lbNF09aVswXSplK2lbMl0qdCtpWzRdO2lbNV09aVsxXSplK2lbM10qdCtpWzVdfXRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGUsdCl7Y29uc3QgaT10aGlzLnRleHRMaW5lTWF0cml4O2lbNF09aVswXSplK2lbMl0qdCtpWzRdO2lbNV09aVsxXSplK2lbM10qdCtpWzVdfWNhcnJpYWdlUmV0dXJuKCl7dGhpcy50cmFuc2xhdGVUZXh0TGluZU1hdHJpeCgwLC10aGlzLmxlYWRpbmcpO3RoaXMudGV4dE1hdHJpeD10aGlzLnRleHRMaW5lTWF0cml4LnNsaWNlKCl9Y2xvbmUoKXtjb25zdCBlPU9iamVjdC5jcmVhdGUodGhpcyk7ZS50ZXh0TWF0cml4PXRoaXMudGV4dE1hdHJpeC5zbGljZSgpO2UudGV4dExpbmVNYXRyaXg9dGhpcy50ZXh0TGluZU1hdHJpeC5zbGljZSgpO2UuZm9udE1hdHJpeD10aGlzLmZvbnRNYXRyaXguc2xpY2UoKTtyZXR1cm4gZX19Y2xhc3MgRXZhbFN0YXRle2NvbnN0cnVjdG9yKCl7dGhpcy5jdG09bmV3IEZsb2F0MzJBcnJheShpKTt0aGlzLmZvbnQ9bnVsbDt0aGlzLnRleHRSZW5kZXJpbmdNb2RlPXc7dGhpcy5fZmlsbENvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXk7dGhpcy5fc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTt0aGlzLnBhdHRlcm5GaWxsQ29sb3JTcGFjZT1udWxsO3RoaXMucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U9bnVsbH1nZXQgZmlsbENvbG9yU3BhY2UoKXtyZXR1cm4gdGhpcy5fZmlsbENvbG9yU3BhY2V9c2V0IGZpbGxDb2xvclNwYWNlKGUpe3RoaXMuX2ZpbGxDb2xvclNwYWNlPXRoaXMucGF0dGVybkZpbGxDb2xvclNwYWNlPWV9Z2V0IHN0cm9rZUNvbG9yU3BhY2UoKXtyZXR1cm4gdGhpcy5fc3Ryb2tlQ29sb3JTcGFjZX1zZXQgc3Ryb2tlQ29sb3JTcGFjZShlKXt0aGlzLl9zdHJva2VDb2xvclNwYWNlPXRoaXMucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U9ZX1jbG9uZSgpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfX1jbGFzcyBFdmFsdWF0b3JQcmVwcm9jZXNzb3J7c3RhdGljIGdldCBvcE1hcCgpe3JldHVybiBzaGFkb3codGhpcywib3BNYXAiLE9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShudWxsKSx7dzp7aWQ6d0EsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sSjp7aWQ6REEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sajp7aWQ6YkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sTTp7aWQ6RkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sZDp7aWQ6U0EsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0scmk6e2lkOmtBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGk6e2lkOlJBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGdzOntpZDpOQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxxOntpZDpHQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxROntpZDp4QSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxjbTp7aWQ6VUEsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sbTp7aWQ6TUEsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sbDp7aWQ6TEEsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sYzp7aWQ6SEEsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sdjp7aWQ6SkEsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0seTp7aWQ6WUEsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0saDp7aWQ6dkEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0scmU6e2lkOktBLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITF9LFM6e2lkOlRBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LHM6e2lkOnFBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LGY6e2lkOk9BLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEY6e2lkOk9BLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJmKiI6e2lkOlBBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEI6e2lkOldBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJCKiI6e2lkOmpBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LGI6e2lkOlhBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJiKiI6e2lkOlpBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LG46e2lkOlZBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFc6e2lkOnpBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJXKiI6e2lkOl9BLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEJUOntpZDokQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxFVDp7aWQ6QWUsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sVGM6e2lkOmVlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFR3OntpZDp0ZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUejp7aWQ6aWUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVEw6e2lkOmFlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRmOntpZDpzZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxUcjp7aWQ6cmUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVHM6e2lkOm5lLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRkOntpZDpnZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxURDp7aWQ6b2UsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sVG06e2lkOkllLG51bUFyZ3M6Nix2YXJpYWJsZUFyZ3M6ITF9LCJUKiI6e2lkOmNlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFRqOntpZDpDZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUSjp7aWQ6aGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sIiciOntpZDpsZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSwnIic6e2lkOkJlLG51bUFyZ3M6Myx2YXJpYWJsZUFyZ3M6ITF9LGQwOntpZDpRZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxkMTp7aWQ6RWUsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sQ1M6e2lkOnVlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGNzOntpZDpkZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxTQzp7aWQ6ZmUsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMH0sU0NOOntpZDpwZSxudW1BcmdzOjMzLHZhcmlhYmxlQXJnczohMH0sc2M6e2lkOm1lLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITB9LHNjbjp7aWQ6eWUsbnVtQXJnczozMyx2YXJpYWJsZUFyZ3M6ITB9LEc6e2lkOndlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGc6e2lkOkRlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFJHOntpZDpiZSxudW1BcmdzOjMsdmFyaWFibGVBcmdzOiExfSxyZzp7aWQ6RmUsbnVtQXJnczozLHZhcmlhYmxlQXJnczohMX0sSzp7aWQ6U2UsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0sazp7aWQ6a2UsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0sc2g6e2lkOlJlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LEJJOntpZDpOZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxJRDp7aWQ6R2UsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sRUk6e2lkOnhlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LERvOntpZDpVZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxNUDp7aWQ6TWUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sRFA6e2lkOkxlLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LEJNQzp7aWQ6SGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sQkRDOntpZDpKZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxFTUM6e2lkOlllLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEJYOntpZDp2ZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxFWDp7aWQ6S2UsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQk06bnVsbCxCRDpudWxsLHRydWU6bnVsbCxmYTpudWxsLGZhbDpudWxsLGZhbHM6bnVsbCxmYWxzZTpudWxsLG51Om51bGwsbnVsOm51bGwsbnVsbDpudWxsfSkpfXN0YXRpYyBNQVhfSU5WQUxJRF9QQVRIX09QUz0xMDtjb25zdHJ1Y3RvcihlLHQsaT1uZXcgU3RhdGVNYW5hZ2VyKXt0aGlzLnBhcnNlcj1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIoZSxFdmFsdWF0b3JQcmVwcm9jZXNzb3Iub3BNYXApLHhyZWY6dH0pO3RoaXMuc3RhdGVNYW5hZ2VyPWk7dGhpcy5ub25Qcm9jZXNzZWRBcmdzPVtdO3RoaXMuX2lzUGF0aE9wPSExO3RoaXMuX251bUludmFsaWRQYXRoT1BTPTB9Z2V0IHNhdmVkU3RhdGVzRGVwdGgoKXtyZXR1cm4gdGhpcy5zdGF0ZU1hbmFnZXIuc3RhdGVTdGFjay5sZW5ndGh9cmVhZChlKXtsZXQgdD1lLmFyZ3M7Zm9yKDs7KXtjb25zdCBpPXRoaXMucGFyc2VyLmdldE9iaigpO2lmKGkgaW5zdGFuY2VvZiBDbWQpe2NvbnN0IGE9aS5jbWQscz1FdmFsdWF0b3JQcmVwcm9jZXNzb3Iub3BNYXBbYV07aWYoIXMpe3dhcm4oYFVua25vd24gY29tbWFuZCAiJHthfSIuYCk7Y29udGludWV9Y29uc3Qgcj1zLmlkLG49cy5udW1BcmdzO2xldCBnPW51bGwhPT10P3QubGVuZ3RoOjA7dGhpcy5faXNQYXRoT3B8fCh0aGlzLl9udW1JbnZhbGlkUGF0aE9QUz0wKTt0aGlzLl9pc1BhdGhPcD1yPj1NQSYmcjw9VkE7aWYocy52YXJpYWJsZUFyZ3MpZz5uJiZpbmZvKGBDb21tYW5kICR7YX06IGV4cGVjdGVkIFswLCAke259XSBhcmdzLCBidXQgcmVjZWl2ZWQgJHtnfSBhcmdzLmApO2Vsc2V7aWYoZyE9PW4pe2NvbnN0IGU9dGhpcy5ub25Qcm9jZXNzZWRBcmdzO2Zvcig7Zz5uOyl7ZS5wdXNoKHQuc2hpZnQoKSk7Zy0tfWZvcig7ZzxuJiYwIT09ZS5sZW5ndGg7KXtudWxsPT09dCYmKHQ9W10pO3QudW5zaGlmdChlLnBvcCgpKTtnKyt9fWlmKGc8bil7Y29uc3QgZT1gY29tbWFuZCAke2F9OiBleHBlY3RlZCAke259IGFyZ3MsIGJ1dCByZWNlaXZlZCAke2d9IGFyZ3MuYDtpZih0aGlzLl9pc1BhdGhPcCYmKyt0aGlzLl9udW1JbnZhbGlkUGF0aE9QUz5FdmFsdWF0b3JQcmVwcm9jZXNzb3IuTUFYX0lOVkFMSURfUEFUSF9PUFMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkICR7ZX1gKTt3YXJuKGBTa2lwcGluZyAke2V9YCk7bnVsbCE9PXQmJih0Lmxlbmd0aD0wKTtjb250aW51ZX19dGhpcy5wcmVwcm9jZXNzQ29tbWFuZChyLHQpO2UuZm49cjtlLmFyZ3M9dDtyZXR1cm4hMH1pZihpPT09eXQpcmV0dXJuITE7aWYobnVsbCE9PWkpe251bGw9PT10JiYodD1bXSk7dC5wdXNoKGkpO2lmKHQubGVuZ3RoPjMzKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVG9vIG1hbnkgYXJndW1lbnRzIil9fX1wcmVwcm9jZXNzQ29tbWFuZChlLHQpe3N3aXRjaCgwfGUpe2Nhc2UgR0E6dGhpcy5zdGF0ZU1hbmFnZXIuc2F2ZSgpO2JyZWFrO2Nhc2UgeEE6dGhpcy5zdGF0ZU1hbmFnZXIucmVzdG9yZSgpO2JyZWFrO2Nhc2UgVUE6dGhpcy5zdGF0ZU1hbmFnZXIudHJhbnNmb3JtKHQpfX19Y2xhc3MgRGVmYXVsdEFwcGVhcmFuY2VFdmFsdWF0b3IgZXh0ZW5kcyBFdmFsdWF0b3JQcmVwcm9jZXNzb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIobmV3IFN0cmluZ1N0cmVhbShlKSl9cGFyc2UoKXtjb25zdCBlPXtmbjowLGFyZ3M6W119LHQ9e2ZvbnRTaXplOjAsZm9udE5hbWU6IiIsZm9udENvbG9yOm5ldyBVaW50OENsYW1wZWRBcnJheSgzKX07dHJ5e2Zvcig7Oyl7ZS5hcmdzLmxlbmd0aD0wO2lmKCF0aGlzLnJlYWQoZSkpYnJlYWs7aWYoMCE9PXRoaXMuc2F2ZWRTdGF0ZXNEZXB0aCljb250aW51ZTtjb25zdHtmbjppLGFyZ3M6YX09ZTtzd2l0Y2goMHxpKXtjYXNlIHNlOmNvbnN0W2UsaV09YTtlIGluc3RhbmNlb2YgTmFtZSYmKHQuZm9udE5hbWU9ZS5uYW1lKTsibnVtYmVyIj09dHlwZW9mIGkmJmk+MCYmKHQuZm9udFNpemU9aSk7YnJlYWs7Y2FzZSBGZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYkl0ZW0oYSwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgRGU6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiSXRlbShhLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBrZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2JJdGVtKGEsMCx0LmZvbnRDb2xvciwwKX19fWNhdGNoKGUpe3dhcm4oYHBhcnNlRGVmYXVsdEFwcGVhcmFuY2UgLSBpZ25vcmluZyBlcnJvcnM6ICIke2V9Ii5gKX1yZXR1cm4gdH19ZnVuY3Rpb24gcGFyc2VEZWZhdWx0QXBwZWFyYW5jZShlKXtyZXR1cm4gbmV3IERlZmF1bHRBcHBlYXJhbmNlRXZhbHVhdG9yKGUpLnBhcnNlKCl9Y2xhc3MgQXBwZWFyYW5jZVN0cmVhbUV2YWx1YXRvciBleHRlbmRzIEV2YWx1YXRvclByZXByb2Nlc3Nvcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSk7dGhpcy5zdHJlYW09ZTt0aGlzLmV2YWx1YXRvck9wdGlvbnM9dDt0aGlzLnhyZWY9aTt0aGlzLnJlc291cmNlcz1lLmRpY3Q/LmdldCgiUmVzb3VyY2VzIil9cGFyc2UoKXtjb25zdCBlPXtmbjowLGFyZ3M6W119O2xldCB0PXtzY2FsZUZhY3RvcjoxLGZvbnRTaXplOjAsZm9udE5hbWU6IiIsZm9udENvbG9yOm5ldyBVaW50OENsYW1wZWRBcnJheSgzKSxmaWxsQ29sb3JTcGFjZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheX0saT0hMTtjb25zdCBhPVtdO3RyeXtmb3IoOzspe2UuYXJncy5sZW5ndGg9MDtpZihpfHwhdGhpcy5yZWFkKGUpKWJyZWFrO2NvbnN0e2ZuOnMsYXJnczpyfT1lO3N3aXRjaCgwfHMpe2Nhc2UgR0E6YS5wdXNoKHtzY2FsZUZhY3Rvcjp0LnNjYWxlRmFjdG9yLGZvbnRTaXplOnQuZm9udFNpemUsZm9udE5hbWU6dC5mb250TmFtZSxmb250Q29sb3I6dC5mb250Q29sb3Iuc2xpY2UoKSxmaWxsQ29sb3JTcGFjZTp0LmZpbGxDb2xvclNwYWNlfSk7YnJlYWs7Y2FzZSB4QTp0PWEucG9wKCl8fHQ7YnJlYWs7Y2FzZSBJZTp0LnNjYWxlRmFjdG9yKj1NYXRoLmh5cG90KHJbMF0sclsxXSk7YnJlYWs7Y2FzZSBzZTpjb25zdFtlLHNdPXI7ZSBpbnN0YW5jZW9mIE5hbWUmJih0LmZvbnROYW1lPWUubmFtZSk7Im51bWJlciI9PXR5cGVvZiBzJiZzPjAmJih0LmZvbnRTaXplPXMqdC5zY2FsZUZhY3Rvcik7YnJlYWs7Y2FzZSBkZTp0LmZpbGxDb2xvclNwYWNlPUNvbG9yU3BhY2UucGFyc2Uoe2NzOnJbMF0seHJlZjp0aGlzLnhyZWYscmVzb3VyY2VzOnRoaXMucmVzb3VyY2VzLHBkZkZ1bmN0aW9uRmFjdG9yeTp0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksbG9jYWxDb2xvclNwYWNlQ2FjaGU6dGhpcy5fbG9jYWxDb2xvclNwYWNlQ2FjaGV9KTticmVhaztjYXNlIG1lOnQuZmlsbENvbG9yU3BhY2UuZ2V0UmdiSXRlbShyLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBGZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYkl0ZW0ociwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgRGU6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiSXRlbShyLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBrZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIENlOmNhc2UgaGU6Y2FzZSBsZTpjYXNlIEJlOmk9ITB9fX1jYXRjaChlKXt3YXJuKGBwYXJzZUFwcGVhcmFuY2VTdHJlYW0gLSBpZ25vcmluZyBlcnJvcnM6ICIke2V9Ii5gKX10aGlzLnN0cmVhbS5yZXNldCgpO2RlbGV0ZSB0LnNjYWxlRmFjdG9yO2RlbGV0ZSB0LmZpbGxDb2xvclNwYWNlO3JldHVybiB0fWdldCBfbG9jYWxDb2xvclNwYWNlQ2FjaGUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9sb2NhbENvbG9yU3BhY2VDYWNoZSIsbmV3IExvY2FsQ29sb3JTcGFjZUNhY2hlKX1nZXQgX3BkZkZ1bmN0aW9uRmFjdG9yeSgpe3JldHVybiBzaGFkb3codGhpcywiX3BkZkZ1bmN0aW9uRmFjdG9yeSIsbmV3IFBERkZ1bmN0aW9uRmFjdG9yeSh7eHJlZjp0aGlzLnhyZWYsaXNFdmFsU3VwcG9ydGVkOnRoaXMuZXZhbHVhdG9yT3B0aW9ucy5pc0V2YWxTdXBwb3J0ZWR9KSl9fWZ1bmN0aW9uIGdldFBkZkNvbG9yKGUsdCl7aWYoZVswXT09PWVbMV0mJmVbMV09PT1lWzJdKXtyZXR1cm5gJHtudW1iZXJUb1N0cmluZyhlWzBdLzI1NSl9ICR7dD8iZyI6IkcifWB9cmV0dXJuIEFycmF5LmZyb20oZSwoZT0+bnVtYmVyVG9TdHJpbmcoZS8yNTUpKSkuam9pbigiICIpKyIgIisodD8icmciOiJSRyIpfWNsYXNzIEZha2VVbmljb2RlRm9udHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMueHJlZj1lO3RoaXMud2lkdGhzPW51bGw7dGhpcy5maXJzdENoYXI9MS8wO3RoaXMubGFzdENoYXI9LTEvMDt0aGlzLmZvbnRGYW1pbHk9dDtjb25zdCBpPW5ldyBPZmZzY3JlZW5DYW52YXMoMSwxKTt0aGlzLmN0eE1lYXN1cmU9aS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pO0Zha2VVbmljb2RlRm9udC5fZm9udE5hbWVJZHx8KEZha2VVbmljb2RlRm9udC5fZm9udE5hbWVJZD0xKTt0aGlzLmZvbnROYW1lPU5hbWUuZ2V0KGBJbnZhbGlkUERGanNGb250XyR7dH1fJHtGYWtlVW5pY29kZUZvbnQuX2ZvbnROYW1lSWQrK31gKX1nZXQgZm9udERlc2NyaXB0b3JSZWYoKXtpZighRmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZil7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udERlc2NyaXB0b3IiKSk7ZS5zZXQoIkZvbnROYW1lIix0aGlzLmZvbnROYW1lKTtlLnNldCgiRm9udEZhbWlseSIsIk15cmlhZFBybyBSZWd1bGFyIik7ZS5zZXQoIkZvbnRCQm94IixbMCwwLDAsMF0pO2Uuc2V0KCJGb250U3RyZXRjaCIsTmFtZS5nZXQoIk5vcm1hbCIpKTtlLnNldCgiRm9udFdlaWdodCIsNDAwKTtlLnNldCgiSXRhbGljQW5nbGUiLDApO0Zha2VVbmljb2RlRm9udC5fZm9udERlc2NyaXB0b3JSZWY9dGhpcy54cmVmLmdldE5ld1BlcnNpc3RlbnRSZWYoZSl9cmV0dXJuIEZha2VVbmljb2RlRm9udC5fZm9udERlc2NyaXB0b3JSZWZ9Z2V0IGRlc2NlbmRhbnRGb250UmVmKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpO2Uuc2V0KCJCYXNlRm9udCIsdGhpcy5mb250TmFtZSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiQ0lERm9udFR5cGUwIikpO2Uuc2V0KCJDSURUb0dJRE1hcCIsTmFtZS5nZXQoIklkZW50aXR5IikpO2Uuc2V0KCJGaXJzdENoYXIiLHRoaXMuZmlyc3RDaGFyKTtlLnNldCgiTGFzdENoYXIiLHRoaXMubGFzdENoYXIpO2Uuc2V0KCJGb250RGVzY3JpcHRvciIsdGhpcy5mb250RGVzY3JpcHRvclJlZik7ZS5zZXQoIkRXIiwxZTMpO2NvbnN0IHQ9W10saT1bLi4udGhpcy53aWR0aHMuZW50cmllcygpXS5zb3J0KCk7bGV0IGE9bnVsbCxzPW51bGw7Zm9yKGNvbnN0W2Uscl1vZiBpKWlmKGEpaWYoZT09PWErcy5sZW5ndGgpcy5wdXNoKHIpO2Vsc2V7dC5wdXNoKGEscyk7YT1lO3M9W3JdfWVsc2V7YT1lO3M9W3JdfWEmJnQucHVzaChhLHMpO2Uuc2V0KCJXIix0KTtjb25zdCByPW5ldyBEaWN0KHRoaXMueHJlZik7ci5zZXQoIk9yZGVyaW5nIiwiSWRlbnRpdHkiKTtyLnNldCgiUmVnaXN0cnkiLCJBZG9iZSIpO3Iuc2V0KCJTdXBwbGVtZW50IiwwKTtlLnNldCgiQ0lEU3lzdGVtSW5mbyIscik7cmV0dXJuIHRoaXMueHJlZi5nZXROZXdQZXJzaXN0ZW50UmVmKGUpfWdldCBiYXNlRm9udFJlZigpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKTtlLnNldCgiQmFzZUZvbnQiLHRoaXMuZm9udE5hbWUpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIlR5cGUwIikpO2Uuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIklkZW50aXR5LUgiKSk7ZS5zZXQoIkRlc2NlbmRhbnRGb250cyIsW3RoaXMuZGVzY2VuZGFudEZvbnRSZWZdKTtlLnNldCgiVG9Vbmljb2RlIixOYW1lLmdldCgiSWRlbnRpdHktSCIpKTtyZXR1cm4gdGhpcy54cmVmLmdldE5ld1BlcnNpc3RlbnRSZWYoZSl9Z2V0IHJlc291cmNlcygpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKSx0PW5ldyBEaWN0KHRoaXMueHJlZik7dC5zZXQodGhpcy5mb250TmFtZS5uYW1lLHRoaXMuYmFzZUZvbnRSZWYpO2Uuc2V0KCJGb250Iix0KTtyZXR1cm4gZX1fY3JlYXRlQ29udGV4dCgpe3RoaXMud2lkdGhzPW5ldyBNYXA7dGhpcy5jdHhNZWFzdXJlLmZvbnQ9YDEwMDBweCAke3RoaXMuZm9udEZhbWlseX1gO3JldHVybiB0aGlzLmN0eE1lYXN1cmV9Y3JlYXRlRm9udFJlc291cmNlcyhlKXtjb25zdCB0PXRoaXMuX2NyZWF0ZUNvbnRleHQoKTtmb3IoY29uc3QgaSBvZiBlLnNwbGl0KC9cclxuP3xcbi8pKWZvcihjb25zdCBlIG9mIGkuc3BsaXQoIiIpKXtjb25zdCBpPWUuY2hhckNvZGVBdCgwKTtpZih0aGlzLndpZHRocy5oYXMoaSkpY29udGludWU7Y29uc3QgYT10Lm1lYXN1cmVUZXh0KGUpLHM9TWF0aC5jZWlsKGEud2lkdGgpO3RoaXMud2lkdGhzLnNldChpLHMpO3RoaXMuZmlyc3RDaGFyPU1hdGgubWluKGksdGhpcy5maXJzdENoYXIpO3RoaXMubGFzdENoYXI9TWF0aC5tYXgoaSx0aGlzLmxhc3RDaGFyKX1yZXR1cm4gdGhpcy5yZXNvdXJjZXN9c3RhdGljIGdldEZpcnN0UG9zaXRpb25JbmZvKGUsdCxpKXtjb25zdFthLG4sZyxvXT1lO2xldCBjPWctYSxDPW8tbjt0JTE4MCE9MCYmKFtjLENdPVtDLGNdKTtjb25zdCBoPXMqaTtyZXR1cm57Y29vcmRzOlswLEMrcippLWhdLGJib3g6WzAsMCxjLENdLG1hdHJpeDowIT09dD9nZXRSb3RhdGlvbk1hdHJpeCh0LEMsaCk6dm9pZCAwfX1jcmVhdGVBcHBlYXJhbmNlKGUsdCxpLGEsbixnKXtjb25zdCBvPXRoaXMuX2NyZWF0ZUNvbnRleHQoKSxjPVtdO2xldCBDPS0xLzA7Zm9yKGNvbnN0IHQgb2YgZS5zcGxpdCgvXHJcbj98XG4vKSl7Yy5wdXNoKHQpO2NvbnN0IGU9by5tZWFzdXJlVGV4dCh0KS53aWR0aDtDPU1hdGgubWF4KEMsZSk7Zm9yKGNvbnN0IGUgb2YgY29kZVBvaW50SXRlcih0KSl7Y29uc3QgdD1TdHJpbmcuZnJvbUNvZGVQb2ludChlKTtsZXQgaT10aGlzLndpZHRocy5nZXQoZSk7aWYodm9pZCAwPT09aSl7Y29uc3QgYT1vLm1lYXN1cmVUZXh0KHQpO2k9TWF0aC5jZWlsKGEud2lkdGgpO3RoaXMud2lkdGhzLnNldChlLGkpO3RoaXMuZmlyc3RDaGFyPU1hdGgubWluKGUsdGhpcy5maXJzdENoYXIpO3RoaXMubGFzdENoYXI9TWF0aC5tYXgoZSx0aGlzLmxhc3RDaGFyKX19fUMqPWEvMWUzO2NvbnN0W2gsbCxRLEVdPXQ7bGV0IHU9US1oLGQ9RS1sO2klMTgwIT0wJiYoW3UsZF09W2QsdV0pO2xldCBmPTE7Qz51JiYoZj11L0MpO2xldCBwPTE7Y29uc3QgbT1zKmEseT1yKmEsdz1tKmMubGVuZ3RoO3c+ZCYmKHA9ZC93KTtjb25zdCBEPWEqTWF0aC5taW4oZixwKSxiPVsicSIsYDAgMCAke251bWJlclRvU3RyaW5nKHUpfSAke251bWJlclRvU3RyaW5nKGQpfSByZSBXIG5gLCJCVCIsYDEgMCAwIDEgMCAke251bWJlclRvU3RyaW5nKGQreSl9IFRtIDAgVGMgJHtnZXRQZGZDb2xvcihuLCEwKX1gLGAvJHt0aGlzLmZvbnROYW1lLm5hbWV9ICR7bnVtYmVyVG9TdHJpbmcoRCl9IFRmYF0se3Jlc291cmNlczpGfT10aGlzO2lmKDEhPT0oZz0ibnVtYmVyIj09dHlwZW9mIGcmJmc+PTAmJmc8PTE/ZzoxKSl7Yi5wdXNoKCIvUjAgZ3MiKTtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZiksdD1uZXcgRGljdCh0aGlzLnhyZWYpO3Quc2V0KCJjYSIsZyk7dC5zZXQoIkNBIixnKTt0LnNldCgiVHlwZSIsTmFtZS5nZXQoIkV4dEdTdGF0ZSIpKTtlLnNldCgiUjAiLHQpO0Yuc2V0KCJFeHRHU3RhdGUiLGUpfWNvbnN0IFM9bnVtYmVyVG9TdHJpbmcobSk7Zm9yKGNvbnN0IGUgb2YgYyliLnB1c2goYDAgLSR7U30gVGQgPCR7c3RyaW5nVG9VVEYxNkhleFN0cmluZyhlKX0+IFRqYCk7Yi5wdXNoKCJFVCIsIlEiKTtjb25zdCBrPWIuam9pbigiXG4iKSxSPW5ldyBEaWN0KHRoaXMueHJlZik7Ui5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO1Iuc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtSLnNldCgiQkJveCIsWzAsMCx1LGRdKTtSLnNldCgiTGVuZ3RoIixrLmxlbmd0aCk7Ui5zZXQoIlJlc291cmNlcyIsRik7aWYoaSl7Y29uc3QgZT1nZXRSb3RhdGlvbk1hdHJpeChpLHUsZCk7Ui5zZXQoIk1hdHJpeCIsZSl9Y29uc3QgTj1uZXcgU3RyaW5nU3RyZWFtKGspO04uZGljdD1SO3JldHVybiBOfX1jbGFzcyBOYW1lT3JOdW1iZXJUcmVle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLnJvb3Q9ZTt0aGlzLnhyZWY9dDt0aGlzLl90eXBlPWl9Z2V0QWxsKCl7Y29uc3QgZT1uZXcgTWFwO2lmKCF0aGlzLnJvb3QpcmV0dXJuIGU7Y29uc3QgdD10aGlzLnhyZWYsaT1uZXcgUmVmU2V0O2kucHV0KHRoaXMucm9vdCk7Y29uc3QgYT1bdGhpcy5yb290XTtmb3IoO2EubGVuZ3RoPjA7KXtjb25zdCBzPXQuZmV0Y2hJZlJlZihhLnNoaWZ0KCkpO2lmKCEocyBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2lmKHMuaGFzKCJLaWRzIikpe2NvbnN0IGU9cy5nZXQoIktpZHMiKTtpZighQXJyYXkuaXNBcnJheShlKSljb250aW51ZTtmb3IoY29uc3QgdCBvZiBlKXtpZihpLmhhcyh0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYER1cGxpY2F0ZSBlbnRyeSBpbiAiJHt0aGlzLl90eXBlfSIgdHJlZS5gKTthLnB1c2godCk7aS5wdXQodCl9Y29udGludWV9Y29uc3Qgcj1zLmdldCh0aGlzLl90eXBlKTtpZihBcnJheS5pc0FycmF5KHIpKWZvcihsZXQgaT0wLGE9ci5sZW5ndGg7aTxhO2krPTIpZS5zZXQodC5mZXRjaElmUmVmKHJbaV0pLHQuZmV0Y2hJZlJlZihyW2krMV0pKX1yZXR1cm4gZX1nZXRSYXcoZSl7aWYoIXRoaXMucm9vdClyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMueHJlZjtsZXQgaT10LmZldGNoSWZSZWYodGhpcy5yb290KSxhPTA7Zm9yKDtpLmhhcygiS2lkcyIpOyl7aWYoKythPjEwKXt3YXJuKGBTZWFyY2ggZGVwdGggbGltaXQgcmVhY2hlZCBmb3IgIiR7dGhpcy5fdHlwZX0iIHRyZWUuYCk7cmV0dXJuIG51bGx9Y29uc3Qgcz1pLmdldCgiS2lkcyIpO2lmKCFBcnJheS5pc0FycmF5KHMpKXJldHVybiBudWxsO2xldCByPTAsbj1zLmxlbmd0aC0xO2Zvcig7cjw9bjspe2NvbnN0IGE9cituPj4xLGc9dC5mZXRjaElmUmVmKHNbYV0pLG89Zy5nZXQoIkxpbWl0cyIpO2lmKGU8dC5mZXRjaElmUmVmKG9bMF0pKW49YS0xO2Vsc2V7aWYoIShlPnQuZmV0Y2hJZlJlZihvWzFdKSkpe2k9ZzticmVha31yPWErMX19aWYocj5uKXJldHVybiBudWxsfWNvbnN0IHM9aS5nZXQodGhpcy5fdHlwZSk7aWYoQXJyYXkuaXNBcnJheShzKSl7bGV0IGk9MCxhPXMubGVuZ3RoLTI7Zm9yKDtpPD1hOyl7Y29uc3Qgcj1pK2E+PjEsbj1yKygxJnIpLGc9dC5mZXRjaElmUmVmKHNbbl0pO2lmKGU8ZylhPW4tMjtlbHNle2lmKCEoZT5nKSlyZXR1cm4gc1tuKzFdO2k9bisyfX19cmV0dXJuIG51bGx9Z2V0KGUpe3JldHVybiB0aGlzLnhyZWYuZmV0Y2hJZlJlZih0aGlzLmdldFJhdyhlKSl9fWNsYXNzIE5hbWVUcmVlIGV4dGVuZHMgTmFtZU9yTnVtYmVyVHJlZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCwiTmFtZXMiKX19Y2xhc3MgTnVtYmVyVHJlZSBleHRlbmRzIE5hbWVPck51bWJlclRyZWV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsIk51bXMiKX19ZnVuY3Rpb24gY2xlYXJHbG9iYWxDYWNoZXMoKXshZnVuY3Rpb24gY2xlYXJQYXR0ZXJuQ2FjaGVzKCl7YmE9T2JqZWN0LmNyZWF0ZShudWxsKX0oKTshZnVuY3Rpb24gY2xlYXJQcmltaXRpdmVDYWNoZXMoKXt3dD1PYmplY3QuY3JlYXRlKG51bGwpO0R0PU9iamVjdC5jcmVhdGUobnVsbCk7YnQ9T2JqZWN0LmNyZWF0ZShudWxsKX0oKTshZnVuY3Rpb24gY2xlYXJVbmljb2RlQ2FjaGVzKCl7dmkuY2xlYXIoKX0oKTtKcHhJbWFnZS5jbGVhbnVwKCl9ZnVuY3Rpb24gcGlja1BsYXRmb3JtSXRlbShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERpY3Q/ZS5oYXMoIlVGIik/ZS5nZXQoIlVGIik6ZS5oYXMoIkYiKT9lLmdldCgiRiIpOmUuaGFzKCJVbml4Iik/ZS5nZXQoIlVuaXgiKTplLmhhcygiTWFjIik/ZS5nZXQoIk1hYyIpOmUuaGFzKCJET1MiKT9lLmdldCgiRE9TIik6bnVsbDpudWxsfWNsYXNzIEZpbGVTcGVjeyNHPSExO2NvbnN0cnVjdG9yKGUsdCxpPSExKXtpZihlIGluc3RhbmNlb2YgRGljdCl7dGhpcy54cmVmPXQ7dGhpcy5yb290PWU7ZS5oYXMoIkZTIikmJih0aGlzLmZzPWUuZ2V0KCJGUyIpKTtlLmhhcygiUkYiKSYmd2FybigiUmVsYXRlZCBmaWxlIHNwZWNpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIik7aXx8KGUuaGFzKCJFRiIpP3RoaXMuI0c9ITA6d2FybigiTm9uLWVtYmVkZGVkIGZpbGUgc3BlY2lmaWNhdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQiKSl9fWdldCBmaWxlbmFtZSgpe2xldCBlPSIiO2NvbnN0IHQ9cGlja1BsYXRmb3JtSXRlbSh0aGlzLnJvb3QpO3QmJiJzdHJpbmciPT10eXBlb2YgdCYmKGU9c3RyaW5nVG9QREZTdHJpbmcodCkucmVwbGFjZUFsbCgiXFxcXCIsIlxcIikucmVwbGFjZUFsbCgiXFwvIiwiLyIpLnJlcGxhY2VBbGwoIlxcIiwiLyIpKTtyZXR1cm4gc2hhZG93KHRoaXMsImZpbGVuYW1lIixlfHwidW5uYW1lZCIpfWdldCBjb250ZW50KCl7aWYoIXRoaXMuI0cpcmV0dXJuIG51bGw7dGhpcy5fY29udGVudFJlZnx8PXBpY2tQbGF0Zm9ybUl0ZW0odGhpcy5yb290Py5nZXQoIkVGIikpO2xldCBlPW51bGw7aWYodGhpcy5fY29udGVudFJlZil7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2hJZlJlZih0aGlzLl9jb250ZW50UmVmKTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9lPXQuZ2V0Qnl0ZXMoKTp3YXJuKCJFbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb24gcG9pbnRzIHRvIG5vbi1leGlzdGluZy9pbnZhbGlkIGNvbnRlbnQiKX1lbHNlIHdhcm4oIkVtYmVkZGVkIGZpbGUgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBoYXZlIGFueSBjb250ZW50Iik7cmV0dXJuIGV9Z2V0IGRlc2NyaXB0aW9uKCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLnJvb3Q/LmdldCgiRGVzYyIpO3QmJiJzdHJpbmciPT10eXBlb2YgdCYmKGU9c3RyaW5nVG9QREZTdHJpbmcodCkpO3JldHVybiBzaGFkb3codGhpcywiZGVzY3JpcHRpb24iLGUpfWdldCBzZXJpYWxpemFibGUoKXtyZXR1cm57cmF3RmlsZW5hbWU6dGhpcy5maWxlbmFtZSxmaWxlbmFtZTooZT10aGlzLmZpbGVuYW1lLGUuc3Vic3RyaW5nKGUubGFzdEluZGV4T2YoIi8iKSsxKSksY29udGVudDp0aGlzLmNvbnRlbnQsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbn07dmFyIGV9fWNvbnN0IHhzPTAsVXM9LTIsTXM9LTMsTHM9LTQsSHM9LTUsSnM9LTYsWXM9LTk7ZnVuY3Rpb24gaXNXaGl0ZXNwYWNlKGUsdCl7Y29uc3QgaT1lW3RdO3JldHVybiIgIj09PWl8fCJcbiI9PT1pfHwiXHIiPT09aXx8Ilx0Ij09PWl9Y2xhc3MgWE1MUGFyc2VyQmFzZXtfcmVzb2x2ZUVudGl0aWVzKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoLyYoW147XSspOy9nLCgoZSx0KT0+e2lmKCIjeCI9PT10LnN1YnN0cmluZygwLDIpKXJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChwYXJzZUludCh0LnN1YnN0cmluZygyKSwxNikpO2lmKCIjIj09PXQuc3Vic3RyaW5nKDAsMSkpcmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KHQuc3Vic3RyaW5nKDEpLDEwKSk7c3dpdGNoKHQpe2Nhc2UibHQiOnJldHVybiI8IjtjYXNlImd0IjpyZXR1cm4iPiI7Y2FzZSJhbXAiOnJldHVybiImIjtjYXNlInF1b3QiOnJldHVybiciJztjYXNlImFwb3MiOnJldHVybiInIn1yZXR1cm4gdGhpcy5vblJlc29sdmVFbnRpdHkodCl9KSl9X3BhcnNlQ29udGVudChlLHQpe2NvbnN0IGk9W107bGV0IGE9dDtmdW5jdGlvbiBza2lwV3MoKXtmb3IoO2E8ZS5sZW5ndGgmJmlzV2hpdGVzcGFjZShlLGEpOykrK2F9Zm9yKDthPGUubGVuZ3RoJiYhaXNXaGl0ZXNwYWNlKGUsYSkmJiI+IiE9PWVbYV0mJiIvIiE9PWVbYV07KSsrYTtjb25zdCBzPWUuc3Vic3RyaW5nKHQsYSk7c2tpcFdzKCk7Zm9yKDthPGUubGVuZ3RoJiYiPiIhPT1lW2FdJiYiLyIhPT1lW2FdJiYiPyIhPT1lW2FdOyl7c2tpcFdzKCk7bGV0IHQ9IiIscz0iIjtmb3IoO2E8ZS5sZW5ndGgmJiFpc1doaXRlc3BhY2UoZSxhKSYmIj0iIT09ZVthXTspe3QrPWVbYV07KythfXNraXBXcygpO2lmKCI9IiE9PWVbYV0pcmV0dXJuIG51bGw7KythO3NraXBXcygpO2NvbnN0IHI9ZVthXTtpZignIichPT1yJiYiJyIhPT1yKXJldHVybiBudWxsO2NvbnN0IG49ZS5pbmRleE9mKHIsKythKTtpZihuPDApcmV0dXJuIG51bGw7cz1lLnN1YnN0cmluZyhhLG4pO2kucHVzaCh7bmFtZTp0LHZhbHVlOnRoaXMuX3Jlc29sdmVFbnRpdGllcyhzKX0pO2E9bisxO3NraXBXcygpfXJldHVybntuYW1lOnMsYXR0cmlidXRlczppLHBhcnNlZDphLXR9fV9wYXJzZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihlLHQpe2xldCBpPXQ7Zm9yKDtpPGUubGVuZ3RoJiYhaXNXaGl0ZXNwYWNlKGUsaSkmJiI+IiE9PWVbaV0mJiI/IiE9PWVbaV0mJiIvIiE9PWVbaV07KSsraTtjb25zdCBhPWUuc3Vic3RyaW5nKHQsaSk7IWZ1bmN0aW9uIHNraXBXcygpe2Zvcig7aTxlLmxlbmd0aCYmaXNXaGl0ZXNwYWNlKGUsaSk7KSsraX0oKTtjb25zdCBzPWk7Zm9yKDtpPGUubGVuZ3RoJiYoIj8iIT09ZVtpXXx8Ij4iIT09ZVtpKzFdKTspKytpO3JldHVybntuYW1lOmEsdmFsdWU6ZS5zdWJzdHJpbmcocyxpKSxwYXJzZWQ6aS10fX1wYXJzZVhtbChlKXtsZXQgdD0wO2Zvcig7dDxlLmxlbmd0aDspe2xldCBpPXQ7aWYoIjwiPT09ZVt0XSl7KytpO2xldCB0O3N3aXRjaChlW2ldKXtjYXNlIi8iOisraTt0PWUuaW5kZXhPZigiPiIsaSk7aWYodDwwKXt0aGlzLm9uRXJyb3IoWXMpO3JldHVybn10aGlzLm9uRW5kRWxlbWVudChlLnN1YnN0cmluZyhpLHQpKTtpPXQrMTticmVhaztjYXNlIj8iOisraTtjb25zdCBhPXRoaXMuX3BhcnNlUHJvY2Vzc2luZ0luc3RydWN0aW9uKGUsaSk7aWYoIj8+IiE9PWUuc3Vic3RyaW5nKGkrYS5wYXJzZWQsaSthLnBhcnNlZCsyKSl7dGhpcy5vbkVycm9yKE1zKTtyZXR1cm59dGhpcy5vblBpKGEubmFtZSxhLnZhbHVlKTtpKz1hLnBhcnNlZCsyO2JyZWFrO2Nhc2UiISI6aWYoIi0tIj09PWUuc3Vic3RyaW5nKGkrMSxpKzMpKXt0PWUuaW5kZXhPZigiLS1ceDNlIixpKzMpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKEhzKTtyZXR1cm59dGhpcy5vbkNvbW1lbnQoZS5zdWJzdHJpbmcoaSszLHQpKTtpPXQrM31lbHNlIGlmKCJbQ0RBVEFbIj09PWUuc3Vic3RyaW5nKGkrMSxpKzgpKXt0PWUuaW5kZXhPZigiXV0+IixpKzgpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKFVzKTtyZXR1cm59dGhpcy5vbkNkYXRhKGUuc3Vic3RyaW5nKGkrOCx0KSk7aT10KzN9ZWxzZXtpZigiRE9DVFlQRSIhPT1lLnN1YnN0cmluZyhpKzEsaSs4KSl7dGhpcy5vbkVycm9yKEpzKTtyZXR1cm59e2NvbnN0IGE9ZS5pbmRleE9mKCJbIixpKzgpO2xldCBzPSExO3Q9ZS5pbmRleE9mKCI+IixpKzgpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKExzKTtyZXR1cm59aWYoYT4wJiZ0PmEpe3Q9ZS5pbmRleE9mKCJdPiIsaSs4KTtpZih0PDApe3RoaXMub25FcnJvcihMcyk7cmV0dXJufXM9ITB9Y29uc3Qgcj1lLnN1YnN0cmluZyhpKzgsdCsocz8xOjApKTt0aGlzLm9uRG9jdHlwZShyKTtpPXQrKHM/MjoxKX19YnJlYWs7ZGVmYXVsdDpjb25zdCBzPXRoaXMuX3BhcnNlQ29udGVudChlLGkpO2lmKG51bGw9PT1zKXt0aGlzLm9uRXJyb3IoSnMpO3JldHVybn1sZXQgcj0hMTtpZigiLz4iPT09ZS5zdWJzdHJpbmcoaStzLnBhcnNlZCxpK3MucGFyc2VkKzIpKXI9ITA7ZWxzZSBpZigiPiIhPT1lLnN1YnN0cmluZyhpK3MucGFyc2VkLGkrcy5wYXJzZWQrMSkpe3RoaXMub25FcnJvcihZcyk7cmV0dXJufXRoaXMub25CZWdpbkVsZW1lbnQocy5uYW1lLHMuYXR0cmlidXRlcyxyKTtpKz1zLnBhcnNlZCsocj8yOjEpfX1lbHNle2Zvcig7aTxlLmxlbmd0aCYmIjwiIT09ZVtpXTspaSsrO2NvbnN0IGE9ZS5zdWJzdHJpbmcodCxpKTt0aGlzLm9uVGV4dCh0aGlzLl9yZXNvbHZlRW50aXRpZXMoYSkpfXQ9aX19b25SZXNvbHZlRW50aXR5KGUpe3JldHVybmAmJHtlfTtgfW9uUGkoZSx0KXt9b25Db21tZW50KGUpe31vbkNkYXRhKGUpe31vbkRvY3R5cGUoZSl7fW9uVGV4dChlKXt9b25CZWdpbkVsZW1lbnQoZSx0LGkpe31vbkVuZEVsZW1lbnQoZSl7fW9uRXJyb3IoZSl7fX1jbGFzcyBTaW1wbGVET01Ob2Rle2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ub2RlTmFtZT1lO3RoaXMubm9kZVZhbHVlPXQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInBhcmVudE5vZGUiLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSl9Z2V0IGZpcnN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzPy5bMF19Z2V0IG5leHRTaWJsaW5nKCl7Y29uc3QgZT10aGlzLnBhcmVudE5vZGUuY2hpbGROb2RlcztpZighZSlyZXR1cm47Y29uc3QgdD1lLmluZGV4T2YodGhpcyk7cmV0dXJuLTEhPT10P2VbdCsxXTp2b2lkIDB9Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlcz90aGlzLmNoaWxkTm9kZXMubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS50ZXh0Q29udGVudH0pKS5qb2luKCIiKTp0aGlzLm5vZGVWYWx1ZXx8IiJ9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc3x8W119aGFzQ2hpbGROb2Rlcygpe3JldHVybiB0aGlzLmNoaWxkTm9kZXM/Lmxlbmd0aD4wfXNlYXJjaE5vZGUoZSx0KXtpZih0Pj1lLmxlbmd0aClyZXR1cm4gdGhpcztjb25zdCBpPWVbdF07aWYoaS5uYW1lLnN0YXJ0c1dpdGgoIiMiKSYmdDxlLmxlbmd0aC0xKXJldHVybiB0aGlzLnNlYXJjaE5vZGUoZSx0KzEpO2NvbnN0IGE9W107bGV0IHM9dGhpcztmb3IoOzspe2lmKGkubmFtZT09PXMubm9kZU5hbWUpe2lmKDAhPT1pLnBvcyl7aWYoMD09PWEubGVuZ3RoKXJldHVybiBudWxsO3tjb25zdFtyXT1hLnBvcCgpO2xldCBuPTA7Zm9yKGNvbnN0IGEgb2Ygci5jaGlsZE5vZGVzKWlmKGkubmFtZT09PWEubm9kZU5hbWUpe2lmKG49PT1pLnBvcylyZXR1cm4gYS5zZWFyY2hOb2RlKGUsdCsxKTtuKyt9cmV0dXJuIHMuc2VhcmNoTm9kZShlLHQrMSl9fXtjb25zdCBpPXMuc2VhcmNoTm9kZShlLHQrMSk7aWYobnVsbCE9PWkpcmV0dXJuIGl9fWlmKHMuY2hpbGROb2Rlcz8ubGVuZ3RoPjApe2EucHVzaChbcywwXSk7cz1zLmNoaWxkTm9kZXNbMF19ZWxzZXtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKDswIT09YS5sZW5ndGg7KXtjb25zdFtlLHRdPWEucG9wKCksaT10KzE7aWYoaTxlLmNoaWxkTm9kZXMubGVuZ3RoKXthLnB1c2goW2UsaV0pO3M9ZS5jaGlsZE5vZGVzW2ldO2JyZWFrfX1pZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGx9fX1kdW1wKGUpe2lmKCIjdGV4dCIhPT10aGlzLm5vZGVOYW1lKXtlLnB1c2goYDwke3RoaXMubm9kZU5hbWV9YCk7aWYodGhpcy5hdHRyaWJ1dGVzKWZvcihjb25zdCB0IG9mIHRoaXMuYXR0cmlidXRlcyllLnB1c2goYCAke3QubmFtZX09IiR7ZW5jb2RlVG9YbWxTdHJpbmcodC52YWx1ZSl9ImApO2lmKHRoaXMuaGFzQ2hpbGROb2RlcygpKXtlLnB1c2goIj4iKTtmb3IoY29uc3QgdCBvZiB0aGlzLmNoaWxkTm9kZXMpdC5kdW1wKGUpO2UucHVzaChgPC8ke3RoaXMubm9kZU5hbWV9PmApfWVsc2UgdGhpcy5ub2RlVmFsdWU/ZS5wdXNoKGA+JHtlbmNvZGVUb1htbFN0cmluZyh0aGlzLm5vZGVWYWx1ZSl9PC8ke3RoaXMubm9kZU5hbWV9PmApOmUucHVzaCgiLz4iKX1lbHNlIGUucHVzaChlbmNvZGVUb1htbFN0cmluZyh0aGlzLm5vZGVWYWx1ZSkpfX1jbGFzcyBTaW1wbGVYTUxQYXJzZXIgZXh0ZW5kcyBYTUxQYXJzZXJCYXNle2NvbnN0cnVjdG9yKHtoYXNBdHRyaWJ1dGVzOmU9ITEsbG93ZXJDYXNlTmFtZTp0PSExfSl7c3VwZXIoKTt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9bnVsbDt0aGlzLl9zdGFjaz1udWxsO3RoaXMuX2Vycm9yQ29kZT14czt0aGlzLl9oYXNBdHRyaWJ1dGVzPWU7dGhpcy5fbG93ZXJDYXNlTmFtZT10fXBhcnNlRnJvbVN0cmluZyhlKXt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9W107dGhpcy5fc3RhY2s9W107dGhpcy5fZXJyb3JDb2RlPXhzO3RoaXMucGFyc2VYbWwoZSk7aWYodGhpcy5fZXJyb3JDb2RlIT09eHMpcmV0dXJuO2NvbnN0W3RdPXRoaXMuX2N1cnJlbnRGcmFnbWVudDtyZXR1cm4gdD97ZG9jdW1lbnRFbGVtZW50OnR9OnZvaWQgMH1vblRleHQoZSl7aWYoZnVuY3Rpb24gaXNXaGl0ZXNwYWNlU3RyaW5nKGUpe2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrKylpZighaXNXaGl0ZXNwYWNlKGUsdCkpcmV0dXJuITE7cmV0dXJuITB9KGUpKXJldHVybjtjb25zdCB0PW5ldyBTaW1wbGVET01Ob2RlKCIjdGV4dCIsZSk7dGhpcy5fY3VycmVudEZyYWdtZW50LnB1c2godCl9b25DZGF0YShlKXtjb25zdCB0PW5ldyBTaW1wbGVET01Ob2RlKCIjdGV4dCIsZSk7dGhpcy5fY3VycmVudEZyYWdtZW50LnB1c2godCl9b25CZWdpbkVsZW1lbnQoZSx0LGkpe3RoaXMuX2xvd2VyQ2FzZU5hbWUmJihlPWUudG9Mb3dlckNhc2UoKSk7Y29uc3QgYT1uZXcgU2ltcGxlRE9NTm9kZShlKTthLmNoaWxkTm9kZXM9W107dGhpcy5faGFzQXR0cmlidXRlcyYmKGEuYXR0cmlidXRlcz10KTt0aGlzLl9jdXJyZW50RnJhZ21lbnQucHVzaChhKTtpZighaSl7dGhpcy5fc3RhY2sucHVzaCh0aGlzLl9jdXJyZW50RnJhZ21lbnQpO3RoaXMuX2N1cnJlbnRGcmFnbWVudD1hLmNoaWxkTm9kZXN9fW9uRW5kRWxlbWVudChlKXt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9dGhpcy5fc3RhY2sucG9wKCl8fFtdO2NvbnN0IHQ9dGhpcy5fY3VycmVudEZyYWdtZW50LmF0KC0xKTtpZighdClyZXR1cm4gbnVsbDtmb3IoY29uc3QgZSBvZiB0LmNoaWxkTm9kZXMpZS5wYXJlbnROb2RlPXQ7cmV0dXJuIHR9b25FcnJvcihlKXt0aGlzLl9lcnJvckNvZGU9ZX19Y2xhc3MgTWV0YWRhdGFQYXJzZXJ7Y29uc3RydWN0b3IoZSl7ZT10aGlzLl9yZXBhaXIoZSk7Y29uc3QgdD1uZXcgU2ltcGxlWE1MUGFyc2VyKHtsb3dlckNhc2VOYW1lOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUpO3RoaXMuX21ldGFkYXRhTWFwPW5ldyBNYXA7dGhpcy5fZGF0YT1lO3QmJnRoaXMuX3BhcnNlKHQpfV9yZXBhaXIoZSl7cmV0dXJuIGUucmVwbGFjZSgvXltePF0rLywiIikucmVwbGFjZUFsbCgvPlxcMzc2XFwzNzcoW148XSspL2csKGZ1bmN0aW9uKGUsdCl7Y29uc3QgaT10LnJlcGxhY2VBbGwoL1xcKFswLTNdKShbMC03XSkoWzAtN10pL2csKGZ1bmN0aW9uKGUsdCxpLGEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKDY0KnQrOCppKzEqYSl9KSkucmVwbGFjZUFsbCgvJihhbXB8YXBvc3xndHxsdHxxdW90KTsvZywoZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJhbXAiOnJldHVybiImIjtjYXNlImFwb3MiOnJldHVybiInIjtjYXNlImd0IjpyZXR1cm4iPiI7Y2FzZSJsdCI6cmV0dXJuIjwiO2Nhc2UicXVvdCI6cmV0dXJuJyInfXRocm93IG5ldyBFcnJvcihgX3JlcGFpcjogJHt0fSBpc24ndCBkZWZpbmVkLmApfSkpLGE9WyI+Il07Zm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSs9Mil7Y29uc3QgdD0yNTYqaS5jaGFyQ29kZUF0KGUpK2kuY2hhckNvZGVBdChlKzEpO3Q+PTMyJiZ0PDEyNyYmNjAhPT10JiY2MiE9PXQmJjM4IT09dD9hLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk6YS5wdXNoKCImI3giKyg2NTUzNit0KS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpKyI7Iil9cmV0dXJuIGEuam9pbigiIil9KSl9X2dldFNlcXVlbmNlKGUpe2NvbnN0IHQ9ZS5ub2RlTmFtZTtyZXR1cm4icmRmOmJhZyIhPT10JiYicmRmOnNlcSIhPT10JiYicmRmOmFsdCIhPT10P251bGw6ZS5jaGlsZE5vZGVzLmZpbHRlcigoZT0+InJkZjpsaSI9PT1lLm5vZGVOYW1lKSl9X3BhcnNlQXJyYXkoZSl7aWYoIWUuaGFzQ2hpbGROb2RlcygpKXJldHVybjtjb25zdFt0XT1lLmNoaWxkTm9kZXMsaT10aGlzLl9nZXRTZXF1ZW5jZSh0KXx8W107dGhpcy5fbWV0YWRhdGFNYXAuc2V0KGUubm9kZU5hbWUsaS5tYXAoKGU9PmUudGV4dENvbnRlbnQudHJpbSgpKSkpfV9wYXJzZShlKXtsZXQgdD1lLmRvY3VtZW50RWxlbWVudDtpZigicmRmOnJkZiIhPT10Lm5vZGVOYW1lKXt0PXQuZmlyc3RDaGlsZDtmb3IoO3QmJiJyZGY6cmRmIiE9PXQubm9kZU5hbWU7KXQ9dC5uZXh0U2libGluZ31pZih0JiYicmRmOnJkZiI9PT10Lm5vZGVOYW1lJiZ0Lmhhc0NoaWxkTm9kZXMoKSlmb3IoY29uc3QgZSBvZiB0LmNoaWxkTm9kZXMpaWYoInJkZjpkZXNjcmlwdGlvbiI9PT1lLm5vZGVOYW1lKWZvcihjb25zdCB0IG9mIGUuY2hpbGROb2Rlcyl7Y29uc3QgZT10Lm5vZGVOYW1lO3N3aXRjaChlKXtjYXNlIiN0ZXh0Ijpjb250aW51ZTtjYXNlImRjOmNyZWF0b3IiOmNhc2UiZGM6c3ViamVjdCI6dGhpcy5fcGFyc2VBcnJheSh0KTtjb250aW51ZX10aGlzLl9tZXRhZGF0YU1hcC5zZXQoZSx0LnRleHRDb250ZW50LnRyaW0oKSl9fWdldCBzZXJpYWxpemFibGUoKXtyZXR1cm57cGFyc2VkRGF0YTp0aGlzLl9tZXRhZGF0YU1hcCxyYXdEYXRhOnRoaXMuX2RhdGF9fX1jbGFzcyBEZWNyeXB0U3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5kZWNyeXB0PWk7dGhpcy5uZXh0Q2h1bms9bnVsbDt0aGlzLmluaXRpYWxpemVkPSExfXJlYWRCbG9jaygpe2xldCBlO2lmKHRoaXMuaW5pdGlhbGl6ZWQpZT10aGlzLm5leHRDaHVuaztlbHNle2U9dGhpcy5zdHIuZ2V0Qnl0ZXMoNTEyKTt0aGlzLmluaXRpYWxpemVkPSEwfWlmKCFlfHwwPT09ZS5sZW5ndGgpe3RoaXMuZW9mPSEwO3JldHVybn10aGlzLm5leHRDaHVuaz10aGlzLnN0ci5nZXRCeXRlcyg1MTIpO2NvbnN0IHQ9dGhpcy5uZXh0Q2h1bms/Lmxlbmd0aD4wO2U9KDAsdGhpcy5kZWNyeXB0KShlLCF0KTtjb25zdCBpPXRoaXMuYnVmZmVyTGVuZ3RoLGE9aStlLmxlbmd0aDt0aGlzLmVuc3VyZUJ1ZmZlcihhKS5zZXQoZSxpKTt0aGlzLmJ1ZmZlckxlbmd0aD1hfX1jbGFzcyBBUkNGb3VyQ2lwaGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuYT0wO3RoaXMuYj0wO2NvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPWUubGVuZ3RoO2ZvcihsZXQgZT0wO2U8MjU2OysrZSl0W2VdPWU7Zm9yKGxldCBhPTAscz0wO2E8MjU2OysrYSl7Y29uc3Qgcj10W2FdO3M9cytyK2VbYSVpXSYyNTU7dFthXT10W3NdO3Rbc109cn10aGlzLnM9dH1lbmNyeXB0QmxvY2soZSl7bGV0IHQ9dGhpcy5hLGk9dGhpcy5iO2NvbnN0IGE9dGhpcy5zLHM9ZS5sZW5ndGgscj1uZXcgVWludDhBcnJheShzKTtmb3IobGV0IG49MDtuPHM7KytuKXt0PXQrMSYyNTU7Y29uc3Qgcz1hW3RdO2k9aStzJjI1NTtjb25zdCBnPWFbaV07YVt0XT1nO2FbaV09cztyW25dPWVbbl1eYVtzK2cmMjU1XX10aGlzLmE9dDt0aGlzLmI9aTtyZXR1cm4gcn1kZWNyeXB0QmxvY2soZSl7cmV0dXJuIHRoaXMuZW5jcnlwdEJsb2NrKGUpfWVuY3J5cHQoZSl7cmV0dXJuIHRoaXMuZW5jcnlwdEJsb2NrKGUpfX1jb25zdCB2cz1mdW5jdGlvbiBjYWxjdWxhdGVNRDVDbG9zdXJlKCl7Y29uc3QgZT1uZXcgVWludDhBcnJheShbNywxMiwxNywyMiw3LDEyLDE3LDIyLDcsMTIsMTcsMjIsNywxMiwxNywyMiw1LDksMTQsMjAsNSw5LDE0LDIwLDUsOSwxNCwyMCw1LDksMTQsMjAsNCwxMSwxNiwyMyw0LDExLDE2LDIzLDQsMTEsMTYsMjMsNCwxMSwxNiwyMyw2LDEwLDE1LDIxLDYsMTAsMTUsMjEsNiwxMCwxNSwyMSw2LDEwLDE1LDIxXSksdD1uZXcgSW50MzJBcnJheShbLTY4MDg3NjkzNiwtMzg5NTY0NTg2LDYwNjEwNTgxOSwtMTA0NDUyNTMzMCwtMTc2NDE4ODk3LDEyMDAwODA0MjYsLTE0NzMyMzEzNDEsLTQ1NzA1OTgzLDE3NzAwMzU0MTYsLTE5NTg0MTQ0MTcsLTQyMDYzLC0xOTkwNDA0MTYyLDE4MDQ2MDM2ODIsLTQwMzQxMTAxLC0xNTAyMDAyMjkwLDEyMzY1MzUzMjksLTE2NTc5NjUxMCwtMTA2OTUwMTYzMiw2NDM3MTc3MTMsLTM3Mzg5NzMwMiwtNzAxNTU4NjkxLDM4MDE2MDgzLC02NjA0NzgzMzUsLTQwNTUzNzg0OCw1Njg0NDY0MzgsLTEwMTk4MDM2OTAsLTE4NzM2Mzk2MSwxMTYzNTMxNTAxLC0xNDQ0NjgxNDY3LC01MTQwMzc4NCwxNzM1MzI4NDczLC0xOTI2NjA3NzM0LC0zNzg1NTgsLTIwMjI1NzQ0NjMsMTgzOTAzMDU2MiwtMzUzMDk1NTYsLTE1MzA5OTIwNjAsMTI3Mjg5MzM1MywtMTU1NDk3NjMyLC0xMDk0NzMwNjQwLDY4MTI3OTE3NCwtMzU4NTM3MjIyLC03MjI1MjE5NzksNzYwMjkxODksLTY0MDM2NDQ4NywtNDIxODE1ODM1LDUzMDc0MjUyMCwtOTk1MzM4NjUxLC0xOTg2MzA4NDQsMTEyNjg5MTQxNSwtMTQxNjM1NDkwNSwtNTc0MzQwNTUsMTcwMDQ4NTU3MSwtMTg5NDk4NjYwNiwtMTA1MTUyMywtMjA1NDkyMjc5OSwxODczMzEzMzU5LC0zMDYxMTc0NCwtMTU2MDE5ODM4MCwxMzA5MTUxNjQ5LC0xNDU1MjMwNzAsLTExMjAyMTAzNzksNzE4Nzg3MjU5LC0zNDM0ODU1NTFdKTtyZXR1cm4gZnVuY3Rpb24gaGFzaChpLGEscyl7bGV0IHI9MTczMjU4NDE5MyxuPS0yNzE3MzM4NzksZz0tMTczMjU4NDE5NCxvPTI3MTczMzg3ODtjb25zdCBjPXMrNzImLTY0LEM9bmV3IFVpbnQ4QXJyYXkoYyk7bGV0IGgsbDtmb3IoaD0wO2g8czsrK2gpQ1toXT1pW2ErK107Q1toKytdPTEyODtjb25zdCBRPWMtODtmb3IoO2g8UTspQ1toKytdPTA7Q1toKytdPXM8PDMmMjU1O0NbaCsrXT1zPj41JjI1NTtDW2grK109cz4+MTMmMjU1O0NbaCsrXT1zPj4yMSYyNTU7Q1toKytdPXM+Pj4yOSYyNTU7Q1toKytdPTA7Q1toKytdPTA7Q1toKytdPTA7Y29uc3QgRT1uZXcgSW50MzJBcnJheSgxNik7Zm9yKGg9MDtoPGM7KXtmb3IobD0wO2w8MTY7KytsLGgrPTQpRVtsXT1DW2hdfENbaCsxXTw8OHxDW2grMl08PDE2fENbaCszXTw8MjQ7bGV0IGksYSxzPXIsYz1uLFE9Zyx1PW87Zm9yKGw9MDtsPDY0OysrbCl7aWYobDwxNil7aT1jJlF8fmMmdTthPWx9ZWxzZSBpZihsPDMyKXtpPXUmY3x+dSZRO2E9NSpsKzEmMTV9ZWxzZSBpZihsPDQ4KXtpPWNeUV51O2E9MypsKzUmMTV9ZWxzZXtpPVFeKGN8fnUpO2E9NypsJjE1fWNvbnN0IHI9dSxuPXMraSt0W2xdK0VbYV18MCxnPWVbbF07dT1RO1E9YztjPWMrKG48PGd8bj4+PjMyLWcpfDA7cz1yfXI9citzfDA7bj1uK2N8MDtnPWcrUXwwO289byt1fDB9cmV0dXJuIG5ldyBVaW50OEFycmF5KFsyNTUmcixyPj44JjI1NSxyPj4xNiYyNTUscj4+PjI0JjI1NSwyNTUmbixuPj44JjI1NSxuPj4xNiYyNTUsbj4+PjI0JjI1NSwyNTUmZyxnPj44JjI1NSxnPj4xNiYyNTUsZz4+PjI0JjI1NSwyNTUmbyxvPj44JjI1NSxvPj4xNiYyNTUsbz4+PjI0JjI1NV0pfX0oKTtjbGFzcyBXb3JkNjR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhpZ2g9MHxlO3RoaXMubG93PTB8dH1hbmQoZSl7dGhpcy5oaWdoJj1lLmhpZ2g7dGhpcy5sb3cmPWUubG93fXhvcihlKXt0aGlzLmhpZ2hePWUuaGlnaDt0aGlzLmxvd149ZS5sb3d9b3IoZSl7dGhpcy5oaWdofD1lLmhpZ2g7dGhpcy5sb3d8PWUubG93fXNoaWZ0UmlnaHQoZSl7aWYoZT49MzIpe3RoaXMubG93PXRoaXMuaGlnaD4+PmUtMzJ8MDt0aGlzLmhpZ2g9MH1lbHNle3RoaXMubG93PXRoaXMubG93Pj4+ZXx0aGlzLmhpZ2g8PDMyLWU7dGhpcy5oaWdoPXRoaXMuaGlnaD4+PmV8MH19c2hpZnRMZWZ0KGUpe2lmKGU+PTMyKXt0aGlzLmhpZ2g9dGhpcy5sb3c8PGUtMzI7dGhpcy5sb3c9MH1lbHNle3RoaXMuaGlnaD10aGlzLmhpZ2g8PGV8dGhpcy5sb3c+Pj4zMi1lO3RoaXMubG93PDw9ZX19cm90YXRlUmlnaHQoZSl7bGV0IHQsaTtpZigzMiZlKXtpPXRoaXMubG93O3Q9dGhpcy5oaWdofWVsc2V7dD10aGlzLmxvdztpPXRoaXMuaGlnaH1lJj0zMTt0aGlzLmxvdz10Pj4+ZXxpPDwzMi1lO3RoaXMuaGlnaD1pPj4+ZXx0PDwzMi1lfW5vdCgpe3RoaXMuaGlnaD1+dGhpcy5oaWdoO3RoaXMubG93PX50aGlzLmxvd31hZGQoZSl7Y29uc3QgdD0odGhpcy5sb3c+Pj4wKSsoZS5sb3c+Pj4wKTtsZXQgaT0odGhpcy5oaWdoPj4+MCkrKGUuaGlnaD4+PjApO3Q+NDI5NDk2NzI5NSYmKGkrPTEpO3RoaXMubG93PTB8dDt0aGlzLmhpZ2g9MHxpfWNvcHlUbyhlLHQpe2VbdF09dGhpcy5oaWdoPj4+MjQmMjU1O2VbdCsxXT10aGlzLmhpZ2g+PjE2JjI1NTtlW3QrMl09dGhpcy5oaWdoPj44JjI1NTtlW3QrM109MjU1JnRoaXMuaGlnaDtlW3QrNF09dGhpcy5sb3c+Pj4yNCYyNTU7ZVt0KzVdPXRoaXMubG93Pj4xNiYyNTU7ZVt0KzZdPXRoaXMubG93Pj44JjI1NTtlW3QrN109MjU1JnRoaXMubG93fWFzc2lnbihlKXt0aGlzLmhpZ2g9ZS5oaWdoO3RoaXMubG93PWUubG93fX1jb25zdCBLcz1mdW5jdGlvbiBjYWxjdWxhdGVTSEEyNTZDbG9zdXJlKCl7ZnVuY3Rpb24gcm90cihlLHQpe3JldHVybiBlPj4+dHxlPDwzMi10fWZ1bmN0aW9uIGNoKGUsdCxpKXtyZXR1cm4gZSZ0Xn5lJml9ZnVuY3Rpb24gbWFqKGUsdCxpKXtyZXR1cm4gZSZ0XmUmaV50Jml9ZnVuY3Rpb24gc2lnbWEoZSl7cmV0dXJuIHJvdHIoZSwyKV5yb3RyKGUsMTMpXnJvdHIoZSwyMil9ZnVuY3Rpb24gc2lnbWFQcmltZShlKXtyZXR1cm4gcm90cihlLDYpXnJvdHIoZSwxMSlecm90cihlLDI1KX1mdW5jdGlvbiBsaXR0bGVTaWdtYShlKXtyZXR1cm4gcm90cihlLDcpXnJvdHIoZSwxOCleZT4+PjN9Y29uc3QgZT1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XTtyZXR1cm4gZnVuY3Rpb24gaGFzaCh0LGksYSl7bGV0IHM9MTc3OTAzMzcwMyxyPTMxNDQxMzQyNzcsbj0xMDEzOTA0MjQyLGc9Mjc3MzQ4MDc2MixvPTEzNTk4OTMxMTksYz0yNjAwODIyOTI0LEM9NTI4NzM0NjM1LGg9MTU0MTQ1OTIyNTtjb25zdCBsPTY0Kk1hdGguY2VpbCgoYSs5KS82NCksUT1uZXcgVWludDhBcnJheShsKTtsZXQgRSx1O2ZvcihFPTA7RTxhOysrRSlRW0VdPXRbaSsrXTtRW0UrK109MTI4O2NvbnN0IGQ9bC04O2Zvcig7RTxkOylRW0UrK109MDtRW0UrK109MDtRW0UrK109MDtRW0UrK109MDtRW0UrK109YT4+PjI5JjI1NTtRW0UrK109YT4+MjEmMjU1O1FbRSsrXT1hPj4xMyYyNTU7UVtFKytdPWE+PjUmMjU1O1FbRSsrXT1hPDwzJjI1NTtjb25zdCBmPW5ldyBVaW50MzJBcnJheSg2NCk7Zm9yKEU9MDtFPGw7KXtmb3IodT0wO3U8MTY7Kyt1KXtmW3VdPVFbRV08PDI0fFFbRSsxXTw8MTZ8UVtFKzJdPDw4fFFbRSszXTtFKz00fWZvcih1PTE2O3U8NjQ7Kyt1KWZbdV09KHJvdHIocD1mW3UtMl0sMTcpXnJvdHIocCwxOSlecD4+PjEwKStmW3UtN10rbGl0dGxlU2lnbWEoZlt1LTE1XSkrZlt1LTE2XXwwO2xldCB0LGksYT1zLGw9cixkPW4sbT1nLHk9byx3PWMsRD1DLGI9aDtmb3IodT0wO3U8NjQ7Kyt1KXt0PWIrc2lnbWFQcmltZSh5KStjaCh5LHcsRCkrZVt1XStmW3VdO2k9c2lnbWEoYSkrbWFqKGEsbCxkKTtiPUQ7RD13O3c9eTt5PW0rdHwwO209ZDtkPWw7bD1hO2E9dCtpfDB9cz1zK2F8MDtyPXIrbHwwO249bitkfDA7Zz1nK218MDtvPW8reXwwO2M9Yyt3fDA7Qz1DK0R8MDtoPWgrYnwwfXZhciBwO3JldHVybiBuZXcgVWludDhBcnJheShbcz4+MjQmMjU1LHM+PjE2JjI1NSxzPj44JjI1NSwyNTUmcyxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLG4+PjI0JjI1NSxuPj4xNiYyNTUsbj4+OCYyNTUsMjU1Jm4sZz4+MjQmMjU1LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZyxvPj4yNCYyNTUsbz4+MTYmMjU1LG8+PjgmMjU1LDI1NSZvLGM+PjI0JjI1NSxjPj4xNiYyNTUsYz4+OCYyNTUsMjU1JmMsQz4+MjQmMjU1LEM+PjE2JjI1NSxDPj44JjI1NSwyNTUmQyxoPj4yNCYyNTUsaD4+MTYmMjU1LGg+PjgmMjU1LDI1NSZoXSl9fSgpLFRzPWZ1bmN0aW9uIGNhbGN1bGF0ZVNIQTUxMkNsb3N1cmUoKXtmdW5jdGlvbiBjaChlLHQsaSxhLHMpe2UuYXNzaWduKHQpO2UuYW5kKGkpO3MuYXNzaWduKHQpO3Mubm90KCk7cy5hbmQoYSk7ZS54b3Iocyl9ZnVuY3Rpb24gbWFqKGUsdCxpLGEscyl7ZS5hc3NpZ24odCk7ZS5hbmQoaSk7cy5hc3NpZ24odCk7cy5hbmQoYSk7ZS54b3Iocyk7cy5hc3NpZ24oaSk7cy5hbmQoYSk7ZS54b3Iocyl9ZnVuY3Rpb24gc2lnbWEoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMjgpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoMzQpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoMzkpO2UueG9yKGkpfWZ1bmN0aW9uIHNpZ21hUHJpbWUoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMTQpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoMTgpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoNDEpO2UueG9yKGkpfWZ1bmN0aW9uIGxpdHRsZVNpZ21hKGUsdCxpKXtlLmFzc2lnbih0KTtlLnJvdGF0ZVJpZ2h0KDEpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoOCk7ZS54b3IoaSk7aS5hc3NpZ24odCk7aS5zaGlmdFJpZ2h0KDcpO2UueG9yKGkpfWZ1bmN0aW9uIGxpdHRsZVNpZ21hUHJpbWUoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMTkpO2kuYXNzaWduKHQpO2kucm90YXRlUmlnaHQoNjEpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kuc2hpZnRSaWdodCg2KTtlLnhvcihpKX1jb25zdCBlPVtuZXcgV29yZDY0KDExMTYzNTI0MDgsMzYwOTc2NzQ1OCksbmV3IFdvcmQ2NCgxODk5NDQ3NDQxLDYwMjg5MTcyNSksbmV3IFdvcmQ2NCgzMDQ5MzIzNDcxLDM5NjQ0ODQzOTkpLG5ldyBXb3JkNjQoMzkyMTAwOTU3MywyMTczMjk1NTQ4KSxuZXcgV29yZDY0KDk2MTk4NzE2Myw0MDgxNjI4NDcyKSxuZXcgV29yZDY0KDE1MDg5NzA5OTMsMzA1MzgzNDI2NSksbmV3IFdvcmQ2NCgyNDUzNjM1NzQ4LDI5Mzc2NzE1NzkpLG5ldyBXb3JkNjQoMjg3MDc2MzIyMSwzNjY0NjA5NTYwKSxuZXcgV29yZDY0KDM2MjQzODEwODAsMjczNDg4MzM5NCksbmV3IFdvcmQ2NCgzMTA1OTg0MDEsMTE2NDk5NjU0MiksbmV3IFdvcmQ2NCg2MDcyMjUyNzgsMTMyMzYxMDc2NCksbmV3IFdvcmQ2NCgxNDI2ODgxOTg3LDM1OTAzMDQ5OTQpLG5ldyBXb3JkNjQoMTkyNTA3ODM4OCw0MDY4MTgyMzgzKSxuZXcgV29yZDY0KDIxNjIwNzgyMDYsOTkxMzM2MTEzKSxuZXcgV29yZDY0KDI2MTQ4ODgxMDMsNjMzODAzMzE3KSxuZXcgV29yZDY0KDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCksbmV3IFdvcmQ2NCgzODM1MzkwNDAxLDI2NjY2MTM0NTgpLG5ldyBXb3JkNjQoNDAyMjIyNDc3NCw5NDQ3MTExMzkpLG5ldyBXb3JkNjQoMjY0MzQ3MDc4LDIzNDEyNjI3NzMpLG5ldyBXb3JkNjQoNjA0ODA3NjI4LDIwMDc4MDA5MzMpLG5ldyBXb3JkNjQoNzcwMjU1OTgzLDE0OTU5OTA5MDEpLG5ldyBXb3JkNjQoMTI0OTE1MDEyMiwxODU2NDMxMjM1KSxuZXcgV29yZDY0KDE1NTUwODE2OTIsMzE3NTIxODEzMiksbmV3IFdvcmQ2NCgxOTk2MDY0OTg2LDIxOTg5NTA4MzcpLG5ldyBXb3JkNjQoMjU1NDIyMDg4MiwzOTk5NzE5MzM5KSxuZXcgV29yZDY0KDI4MjE4MzQzNDksNzY2Nzg0MDE2KSxuZXcgV29yZDY0KDI5NTI5OTY4MDgsMjU2NjU5NDg3OSksbmV3IFdvcmQ2NCgzMjEwMzEzNjcxLDMyMDMzMzc5NTYpLG5ldyBXb3JkNjQoMzMzNjU3MTg5MSwxMDM0NDU3MDI2KSxuZXcgV29yZDY0KDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSksbmV3IFdvcmQ2NCgxMTM5MjY5OTMsMzc1ODMyNjM4MyksbmV3IFdvcmQ2NCgzMzgyNDE4OTUsMTY4NzE3OTM2KSxuZXcgV29yZDY0KDY2NjMwNzIwNSwxMTg4MTc5OTY0KSxuZXcgV29yZDY0KDc3MzUyOTkxMiwxNTQ2MDQ1NzM0KSxuZXcgV29yZDY0KDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSksbmV3IFdvcmQ2NCgxMzk2MTgyMjkxLDI2NDM4MzM4MjMpLG5ldyBXb3JkNjQoMTY5NTE4MzcwMCwyMzQzNTI3MzkwKSxuZXcgV29yZDY0KDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCksbmV3IFdvcmQ2NCgyMTc3MDI2MzUwLDEyMDY3NTkxNDIpLG5ldyBXb3JkNjQoMjQ1Njk1NjAzNywzNDQwNzc2MjcpLG5ldyBXb3JkNjQoMjczMDQ4NTkyMSwxMjkwODYzNDYwKSxuZXcgV29yZDY0KDI4MjAzMDI0MTEsMzE1ODQ1NDI3MyksbmV3IFdvcmQ2NCgzMjU5NzMwODAwLDM1MDU5NTI2NTcpLG5ldyBXb3JkNjQoMzM0NTc2NDc3MSwxMDYyMTcwMDgpLG5ldyBXb3JkNjQoMzUxNjA2NTgxNywzNjA2MDA4MzQ0KSxuZXcgV29yZDY0KDM2MDAzNTI4MDQsMTQzMjcyNTc3NiksbmV3IFdvcmQ2NCg0MDk0NTcxOTA5LDE0NjcwMzE1OTQpLG5ldyBXb3JkNjQoMjc1NDIzMzQ0LDg1MTE2OTcyMCksbmV3IFdvcmQ2NCg0MzAyMjc3MzQsMzEwMDgyMzc1MiksbmV3IFdvcmQ2NCg1MDY5NDg2MTYsMTM2MzI1ODE5NSksbmV3IFdvcmQ2NCg2NTkwNjA1NTYsMzc1MDY4NTU5MyksbmV3IFdvcmQ2NCg4ODM5OTc4NzcsMzc4NTA1MDI4MCksbmV3IFdvcmQ2NCg5NTgxMzk1NzEsMzMxODMwNzQyNyksbmV3IFdvcmQ2NCgxMzIyODIyMjE4LDM4MTI3MjM0MDMpLG5ldyBXb3JkNjQoMTUzNzAwMjA2MywyMDAzMDM0OTk1KSxuZXcgV29yZDY0KDE3NDc4NzM3NzksMzYwMjAzNjg5OSksbmV3IFdvcmQ2NCgxOTU1NTYyMjIyLDE1NzU5OTAwMTIpLG5ldyBXb3JkNjQoMjAyNDEwNDgxNSwxMTI1NTkyOTI4KSxuZXcgV29yZDY0KDIyMjc3MzA0NTIsMjcxNjkwNDMwNiksbmV3IFdvcmQ2NCgyMzYxODUyNDI0LDQ0Mjc3NjA0NCksbmV3IFdvcmQ2NCgyNDI4NDM2NDc0LDU5MzY5ODM0NCksbmV3IFdvcmQ2NCgyNzU2NzM0MTg3LDM3MzMxMTAyNDkpLG5ldyBXb3JkNjQoMzIwNDAzMTQ3OSwyOTk5MzUxNTczKSxuZXcgV29yZDY0KDMzMjkzMjUyOTgsMzgxNTkyMDQyNyksbmV3IFdvcmQ2NCgzMzkxNTY5NjE0LDM5MjgzODM5MDApLG5ldyBXb3JkNjQoMzUxNTI2NzI3MSw1NjYyODA3MTEpLG5ldyBXb3JkNjQoMzk0MDE4NzYwNiwzNDU0MDY5NTM0KSxuZXcgV29yZDY0KDQxMTg2MzAyNzEsNDAwMDIzOTk5MiksbmV3IFdvcmQ2NCgxMTY0MTg0NzQsMTkxNDEzODU1NCksbmV3IFdvcmQ2NCgxNzQyOTI0MjEsMjczMTA1NTI3MCksbmV3IFdvcmQ2NCgyODkzODAzNTYsMzIwMzk5MzAwNiksbmV3IFdvcmQ2NCg0NjAzOTMyNjksMzIwNjIwMzE1KSxuZXcgV29yZDY0KDY4NTQ3MTczMyw1ODc0OTY4MzYpLG5ldyBXb3JkNjQoODUyMTQyOTcxLDEwODY3OTI4NTEpLG5ldyBXb3JkNjQoMTAxNzAzNjI5OCwzNjU1NDMxMDApLG5ldyBXb3JkNjQoMTEyNjAwMDU4MCwyNjE4Mjk3Njc2KSxuZXcgV29yZDY0KDEyODgwMzM0NzAsMzQwOTg1NTE1OCksbmV3IFdvcmQ2NCgxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYpLG5ldyBXb3JkNjQoMTYwNzE2NzkxNSw5ODcxNjc0NjgpLG5ldyBXb3JkNjQoMTgxNjQwMjMxNiwxMjQ2MTg5NTkxKV07cmV0dXJuIGZ1bmN0aW9uIGhhc2godCxpLGEscz0hMSl7bGV0IHIsbixnLG8sYyxDLGgsbDtpZihzKXtyPW5ldyBXb3JkNjQoMzQxODA3MDM2NSwzMjM4MzcxMDMyKTtuPW5ldyBXb3JkNjQoMTY1NDI3MDI1MCw5MTQxNTA2NjMpO2c9bmV3IFdvcmQ2NCgyNDM4NTI5MzcwLDgxMjcwMjk5OSk7bz1uZXcgV29yZDY0KDM1NTQ2MjM2MCw0MTQ0OTEyNjk3KTtjPW5ldyBXb3JkNjQoMTczMTQwNTQxNSw0MjkwNzc1ODU3KTtDPW5ldyBXb3JkNjQoMjM5NDE4MDIzMSwxNzUwNjAzMDI1KTtoPW5ldyBXb3JkNjQoMzY3NTAwODUyNSwxNjk0MDc2ODM5KTtsPW5ldyBXb3JkNjQoMTIwMzA2MjgxMywzMjA0MDc1NDI4KX1lbHNle3I9bmV3IFdvcmQ2NCgxNzc5MDMzNzAzLDQwODkyMzU3MjApO249bmV3IFdvcmQ2NCgzMTQ0MTM0Mjc3LDIyMjc4NzM1OTUpO2c9bmV3IFdvcmQ2NCgxMDEzOTA0MjQyLDQyNzExNzU3MjMpO289bmV3IFdvcmQ2NCgyNzczNDgwNzYyLDE1OTU3NTAxMjkpO2M9bmV3IFdvcmQ2NCgxMzU5ODkzMTE5LDI5MTc1NjUxMzcpO0M9bmV3IFdvcmQ2NCgyNjAwODIyOTI0LDcyNTUxMTE5OSk7aD1uZXcgV29yZDY0KDUyODczNDYzNSw0MjE1Mzg5NTQ3KTtsPW5ldyBXb3JkNjQoMTU0MTQ1OTIyNSwzMjcwMzMyMDkpfWNvbnN0IFE9MTI4Kk1hdGguY2VpbCgoYSsxNykvMTI4KSxFPW5ldyBVaW50OEFycmF5KFEpO2xldCB1LGQ7Zm9yKHU9MDt1PGE7Kyt1KUVbdV09dFtpKytdO0VbdSsrXT0xMjg7Y29uc3QgZj1RLTE2O2Zvcig7dTxmOylFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109MDtFW3UrK109YT4+PjI5JjI1NTtFW3UrK109YT4+MjEmMjU1O0VbdSsrXT1hPj4xMyYyNTU7RVt1KytdPWE+PjUmMjU1O0VbdSsrXT1hPDwzJjI1NTtjb25zdCBwPW5ldyBBcnJheSg4MCk7Zm9yKHU9MDt1PDgwO3UrKylwW3VdPW5ldyBXb3JkNjQoMCwwKTtsZXQgbT1uZXcgV29yZDY0KDAsMCkseT1uZXcgV29yZDY0KDAsMCksdz1uZXcgV29yZDY0KDAsMCksRD1uZXcgV29yZDY0KDAsMCksYj1uZXcgV29yZDY0KDAsMCksRj1uZXcgV29yZDY0KDAsMCksUz1uZXcgV29yZDY0KDAsMCksaz1uZXcgV29yZDY0KDAsMCk7Y29uc3QgUj1uZXcgV29yZDY0KDAsMCksTj1uZXcgV29yZDY0KDAsMCksRz1uZXcgV29yZDY0KDAsMCkseD1uZXcgV29yZDY0KDAsMCk7bGV0IFUsTTtmb3IodT0wO3U8UTspe2ZvcihkPTA7ZDwxNjsrK2Qpe3BbZF0uaGlnaD1FW3VdPDwyNHxFW3UrMV08PDE2fEVbdSsyXTw8OHxFW3UrM107cFtkXS5sb3c9RVt1KzRdPDwyNHxFW3UrNV08PDE2fEVbdSs2XTw8OHxFW3UrN107dSs9OH1mb3IoZD0xNjtkPDgwOysrZCl7VT1wW2RdO2xpdHRsZVNpZ21hUHJpbWUoVSxwW2QtMl0seCk7VS5hZGQocFtkLTddKTtsaXR0bGVTaWdtYShHLHBbZC0xNV0seCk7VS5hZGQoRyk7VS5hZGQocFtkLTE2XSl9bS5hc3NpZ24ocik7eS5hc3NpZ24obik7dy5hc3NpZ24oZyk7RC5hc3NpZ24obyk7Yi5hc3NpZ24oYyk7Ri5hc3NpZ24oQyk7Uy5hc3NpZ24oaCk7ay5hc3NpZ24obCk7Zm9yKGQ9MDtkPDgwOysrZCl7Ui5hc3NpZ24oayk7c2lnbWFQcmltZShHLGIseCk7Ui5hZGQoRyk7Y2goRyxiLEYsUyx4KTtSLmFkZChHKTtSLmFkZChlW2RdKTtSLmFkZChwW2RdKTtzaWdtYShOLG0seCk7bWFqKEcsbSx5LHcseCk7Ti5hZGQoRyk7VT1rO2s9UztTPUY7Rj1iO0QuYWRkKFIpO2I9RDtEPXc7dz15O3k9bTtVLmFzc2lnbihSKTtVLmFkZChOKTttPVV9ci5hZGQobSk7bi5hZGQoeSk7Zy5hZGQodyk7by5hZGQoRCk7Yy5hZGQoYik7Qy5hZGQoRik7aC5hZGQoUyk7bC5hZGQoayl9aWYocyl7TT1uZXcgVWludDhBcnJheSg0OCk7ci5jb3B5VG8oTSwwKTtuLmNvcHlUbyhNLDgpO2cuY29weVRvKE0sMTYpO28uY29weVRvKE0sMjQpO2MuY29weVRvKE0sMzIpO0MuY29weVRvKE0sNDApfWVsc2V7TT1uZXcgVWludDhBcnJheSg2NCk7ci5jb3B5VG8oTSwwKTtuLmNvcHlUbyhNLDgpO2cuY29weVRvKE0sMTYpO28uY29weVRvKE0sMjQpO2MuY29weVRvKE0sMzIpO0MuY29weVRvKE0sNDApO2guY29weVRvKE0sNDgpO2wuY29weVRvKE0sNTYpfXJldHVybiBNfX0oKTtjbGFzcyBOdWxsQ2lwaGVye2RlY3J5cHRCbG9jayhlKXtyZXR1cm4gZX1lbmNyeXB0KGUpe3JldHVybiBlfX1jbGFzcyBBRVNCYXNlQ2lwaGVye2NvbnN0cnVjdG9yKCl7dGhpcy5fcz1uZXcgVWludDhBcnJheShbOTksMTI0LDExOSwxMjMsMjQyLDEwNywxMTEsMTk3LDQ4LDEsMTAzLDQzLDI1NCwyMTUsMTcxLDExOCwyMDIsMTMwLDIwMSwxMjUsMjUwLDg5LDcxLDI0MCwxNzMsMjEyLDE2MiwxNzUsMTU2LDE2NCwxMTQsMTkyLDE4MywyNTMsMTQ3LDM4LDU0LDYzLDI0NywyMDQsNTIsMTY1LDIyOSwyNDEsMTEzLDIxNiw0OSwyMSw0LDE5OSwzNSwxOTUsMjQsMTUwLDUsMTU0LDcsMTgsMTI4LDIyNiwyMzUsMzksMTc4LDExNyw5LDEzMSw0NCwyNiwyNywxMTAsOTAsMTYwLDgyLDU5LDIxNCwxNzksNDEsMjI3LDQ3LDEzMiw4MywyMDksMCwyMzcsMzIsMjUyLDE3Nyw5MSwxMDYsMjAzLDE5MCw1Nyw3NCw3Niw4OCwyMDcsMjA4LDIzOSwxNzAsMjUxLDY3LDc3LDUxLDEzMyw2OSwyNDksMiwxMjcsODAsNjAsMTU5LDE2OCw4MSwxNjMsNjQsMTQzLDE0NiwxNTcsNTYsMjQ1LDE4OCwxODIsMjE4LDMzLDE2LDI1NSwyNDMsMjEwLDIwNSwxMiwxOSwyMzYsOTUsMTUxLDY4LDIzLDE5NiwxNjcsMTI2LDYxLDEwMCw5MywyNSwxMTUsOTYsMTI5LDc5LDIyMCwzNCw0MiwxNDQsMTM2LDcwLDIzOCwxODQsMjAsMjIyLDk0LDExLDIxOSwyMjQsNTAsNTgsMTAsNzMsNiwzNiw5MiwxOTQsMjExLDE3Miw5OCwxNDUsMTQ5LDIyOCwxMjEsMjMxLDIwMCw1NSwxMDksMTQxLDIxMyw3OCwxNjksMTA4LDg2LDI0NCwyMzQsMTAxLDEyMiwxNzQsOCwxODYsMTIwLDM3LDQ2LDI4LDE2NiwxODAsMTk4LDIzMiwyMjEsMTE2LDMxLDc1LDE4OSwxMzksMTM4LDExMiw2MiwxODEsMTAyLDcyLDMsMjQ2LDE0LDk3LDUzLDg3LDE4NSwxMzQsMTkzLDI5LDE1OCwyMjUsMjQ4LDE1MiwxNywxMDUsMjE3LDE0MiwxNDgsMTU1LDMwLDEzNSwyMzMsMjA2LDg1LDQwLDIyMywxNDAsMTYxLDEzNywxMywxOTEsMjMwLDY2LDEwNCw2NSwxNTMsNDUsMTUsMTc2LDg0LDE4NywyMl0pO3RoaXMuX2ludl9zPW5ldyBVaW50OEFycmF5KFs4Miw5LDEwNiwyMTMsNDgsNTQsMTY1LDU2LDE5MSw2NCwxNjMsMTU4LDEyOSwyNDMsMjE1LDI1MSwxMjQsMjI3LDU3LDEzMCwxNTUsNDcsMjU1LDEzNSw1MiwxNDIsNjcsNjgsMTk2LDIyMiwyMzMsMjAzLDg0LDEyMywxNDgsNTAsMTY2LDE5NCwzNSw2MSwyMzgsNzYsMTQ5LDExLDY2LDI1MCwxOTUsNzgsOCw0NiwxNjEsMTAyLDQwLDIxNywzNiwxNzgsMTE4LDkxLDE2Miw3MywxMDksMTM5LDIwOSwzNywxMTQsMjQ4LDI0NiwxMDAsMTM0LDEwNCwxNTIsMjIsMjEyLDE2NCw5MiwyMDQsOTMsMTAxLDE4MiwxNDYsMTA4LDExMiw3Miw4MCwyNTMsMjM3LDE4NSwyMTgsOTQsMjEsNzAsODcsMTY3LDE0MSwxNTcsMTMyLDE0NCwyMTYsMTcxLDAsMTQwLDE4OCwyMTEsMTAsMjQ3LDIyOCw4OCw1LDE4NCwxNzksNjksNiwyMDgsNDQsMzAsMTQzLDIwMiw2MywxNSwyLDE5MywxNzUsMTg5LDMsMSwxOSwxMzgsMTA3LDU4LDE0NSwxNyw2NSw3OSwxMDMsMjIwLDIzNCwxNTEsMjQyLDIwNywyMDYsMjQwLDE4MCwyMzAsMTE1LDE1MCwxNzIsMTE2LDM0LDIzMSwxNzMsNTMsMTMzLDIyNiwyNDksNTUsMjMyLDI4LDExNywyMjMsMTEwLDcxLDI0MSwyNiwxMTMsMjksNDEsMTk3LDEzNywxMTEsMTgzLDk4LDE0LDE3MCwyNCwxOTAsMjcsMjUyLDg2LDYyLDc1LDE5OCwyMTAsMTIxLDMyLDE1NCwyMTksMTkyLDI1NCwxMjAsMjA1LDkwLDI0NCwzMSwyMjEsMTY4LDUxLDEzNiw3LDE5OSw0OSwxNzcsMTgsMTYsODksMzksMTI4LDIzNiw5NSw5Niw4MSwxMjcsMTY5LDI1LDE4MSw3NCwxMyw0NSwyMjksMTIyLDE1OSwxNDcsMjAxLDE1NiwyMzksMTYwLDIyNCw1OSw3NywxNzQsNDIsMjQ1LDE3NiwyMDAsMjM1LDE4Nyw2MCwxMzEsODMsMTUzLDk3LDIzLDQzLDQsMTI2LDE4NiwxMTksMjE0LDM4LDIyNSwxMDUsMjAsOTksODUsMzMsMTIsMTI1XSk7dGhpcy5fbWl4PW5ldyBVaW50MzJBcnJheShbMCwyMzU0NzQxODcsNDcwOTQ4Mzc0LDMwMzc2NTI3Nyw5NDE4OTY3NDgsOTA4OTMzNDE1LDYwNzUzMDU1NCw3MDg3ODA4NDksMTg4Mzc5MzQ5NiwyMTE4MjE0OTk1LDE4MTc4NjY4MzAsMTY0OTYzOTIzNywxMjE1MDYxMTA4LDExODEwNDUxMTksMTQxNzU2MTY5OCwxNTE3NzY3NTI5LDM3Njc1ODY5OTIsNDAwMzA2MTE3OSw0MjM2NDI5OTkwLDQwNjkyNDY4OTMsMzYzNTczMzY2MCwzNjAyNzcwMzI3LDMyOTkyNzg0NzQsMzQwMDUyODc2OSwyNDMwMTIyMjE2LDI2NjQ1NDM3MTUsMjM2MjA5MDIzOCwyMTkzODYyNjQ1LDI4MzUxMjMzOTYsMjgwMTEwNzQwNywzMDM1NTM1MDU4LDMxMzU3NDA4ODksMzY3ODEyNDkyMywzNTc2ODcwNTEyLDMzNDEzOTQyODUsMzM3NDM2MTcwMiwzODEwNDk2MzQzLDM5Nzc2NzUzNTYsNDI3OTA4MDI1Nyw0MDQzNjEwMTg2LDI4NzY0OTQ2MjcsMjc3NjI5MjkwNCwzMDc2NjM5MDI5LDMxMTA2NTA5NDIsMjQ3MjAxMTUzNSwyNjQwMjQzMjA0LDI0MDM3Mjg2NjUsMjE2OTMwMzA1OCwxMDAxMDg5OTk1LDg5OTgzNTU4NCw2NjY0NjQ3MzMsNjk5NDMyMTUwLDU5NzI3ODQ3LDIyNjkwNjg2MCw1MzA0MDA3NTMsMjk0OTMwNjgyLDEyNzMxNjg3ODcsMTE3Mjk2NzA2NCwxNDc1NDE4NTAxLDE1MDk0MzA0MTQsMTk0MjQzNTc3NSwyMTEwNjY3NDQ0LDE4NzYyNDE4MzMsMTY0MTgxNjIyNiwyOTEwMjE5NzY2LDI3NDMwMzQxMDksMjk3NjE1MTUyMCwzMjExNjIzMTQ3LDI1MDUyMDIxMzgsMjYwNjQ1Mzk2OSwyMzAyNjkwMjUyLDIyNjk3Mjg0NTUsMzcxMTgyOTQyMiwzNTQzNTk5MjY5LDMyNDA4OTQzOTIsMzQ3NTMxMzMzMSwzODQzNjk5MDc0LDM5NDM5MDY0NDEsNDE3ODA2MjIyOCw0MTQ0MDQ3Nzc1LDEzMDY5NjczNjYsMTEzOTc4MTcwOSwxMzc0OTg4MTEyLDE2MTA0NTk3MzksMTk3NTY4MzQzNCwyMDc2OTM1MjY1LDE3NzUyNzY5MjQsMTc0MjMxNTEyNywxMDM0ODY3OTk4LDg2NjYzNzg0NSw1NjYwMjE4OTYsODAwNDQwODM1LDkyOTg3Njk4LDE5MzE5NTA2NSw0Mjk0NTYxNjQsMzk1NDQxNzExLDE5ODQ4MTI2ODUsMjAxNzc3ODU2NiwxNzg0NjYzMTk1LDE2ODM0MDcyNDgsMTMxNTU2MjE0NSwxMDgwMDk0NjM0LDEzODM4NTYzMTEsMTU1MTAzNzg4NCwxMDEwMzk4MjksMTM1MDUwMjA2LDQzNzc1NzEyMywzMzc1NTM4NjQsMTA0MjM4NTY1Nyw4MDc5NjI2MTAsNTczODA0NzgzLDc0MjAzOTAxMiwyNTMxMDY3NDUzLDI1NjQwMzMzMzQsMjMyODgyODk3MSwyMjI3NTczMDI0LDI5MzU1NjY4NjUsMjcwMDA5OTM1NCwzMDAxNzU1NjU1LDMxNjg5MzcyMjgsMzg2ODU1MjgwNSwzOTAyNTYzMTgyLDQyMDMxODExNzEsNDEwMjk3NzkxMiwzNzM2MTY0OTM3LDM1MDE3NDE4OTAsMzI2NTQ3ODc1MSwzNDMzNzEyOTgwLDExMDYwNDE1OTEsMTM0MDQ2MzEwMCwxNTc2OTc2NjA5LDE0MDg3NDkwMzQsMjA0MzIxMTQ4MywyMDA5MTk1NDcyLDE3MDg4NDgzMzMsMTgwOTA1NDE1MCw4MzI4NzcyMzEsMTA2ODM1MTM5Niw3NjY5NDU0NjUsNTk5NzYyMzU0LDE1OTQxNzk4NywxMjY0NTQ2NjQsMzYxOTI5ODc3LDQ2MzE4MDE5MCwyNzA5MjYwODcxLDI5NDM2ODIzODAsMzE3ODEwNjk2MSwzMDA5ODc5Mzg2LDI1NzI2OTcxOTUsMjUzODY4MTE4NCwyMjM2MjI4NzMzLDIzMzY0MzQ1NTAsMzUwOTg3MTEzNSwzNzQ1MzQ1MzAwLDM0NDE4NTAzNzcsMzI3NDY2NzI2NiwzOTEwMTYxOTcxLDM4NzcxOTg2NDgsNDExMDU2ODQ4NSw0MjExODE4Nzk4LDI1OTc4MDY0NzYsMjQ5NzYwNDc0MywyMjYxMDg5MTc4LDIyOTUxMDEwNzMsMjczMzg1NjE2MCwyOTAyMDg3ODUxLDMyMDI0MzcwNDYsMjk2ODAxMTQ1MywzOTM2MjkxMjg0LDM4MzUwMzY4OTUsNDEzNjQ0MDc3MCw0MTY5NDA4MjAxLDM1MzU0ODY0NTYsMzcwMjY2NTQ1OSwzNDY3MTkyMzAyLDMyMzE3MjIyMTMsMjA1MTUxODc4MCwxOTUxMzE3MDQ3LDE3MTY4OTA0MTAsMTc1MDkwMjMwNSwxMTEzODE4Mzg0LDEyODIwNTAwNzUsMTU4NDUwNDU4MiwxMzUwMDc4OTg5LDE2ODgxMDg1Miw2NzU1NjQ2MywzNzEwNDkzMzAsNDA0MDE2NzYxLDg0MTczOTU5MiwxMDA4OTE4NTk1LDc3NTU1MDgxNCw1NDAwODA3MjUsMzk2OTU2MjM2OSwzODAxMzMyMjM0LDQwMzU0ODkwNDcsNDI2OTkwNzk5NiwzNTY5MjU1MjEzLDM2Njk0NjI1NjYsMzM2Njc1NDYxOSwzMzMyNzQwMTQ0LDI2MzEwNjU0MzMsMjQ2Mzg3OTc2MiwyMTYwMTE3MDcxLDIzOTU1ODg2NzYsMjc2NzY0NTU1NywyODY4ODk3NDA2LDMxMDIwMTE3NDcsMzA2OTA0OTk2MCwyMDIwMDg0OTcsMzM3NzgzNjIsMjcwMDQwNDg3LDUwNDQ1OTQzNiw4NzU0NTEyOTMsOTc1NjU4NjQ2LDY3NTAzOTYyNyw2NDEwMjUxNTIsMjA4NDcwNDIzMywxOTE3NTE4NTYyLDE2MTU4NjEyNDcsMTg1MTMzMjg1MiwxMTQ3NTUwNjYxLDEyNDg4MDI1MTAsMTQ4NDAwNTg0MywxNDUxMDQ0MDU2LDkzMzMwMTM3MCw5NjczMTE3MjksNzMzMTU2OTcyLDYzMjk1MzcwMywyNjAzODg5NTAsMjU5NjU5MTcsMzI4NjcxODA4LDQ5NjkwNjA1OSwxMjA2NDc3ODU4LDEyMzk0NDM3NTMsMTU0MzIwODUwMCwxNDQxOTUyNTc1LDIxNDQxNjE4MDYsMTkwODY5NDI3NywxNjc1NTc3ODgwLDE4NDI3NTk0NDMsMzYxMDM2OTIyNiwzNjQ0Mzc5NTg1LDM0MDgxMTk1MTYsMzMwNzkxNjI0Nyw0MDExMTkwNTAyLDM3NzY3Njc0NjksNDA3NzM4NDQzMiw0MjQ1NjE4NjgzLDI4MDk3NzExNTQsMjg0MjczNzA0OSwzMTQ0Mzk2NDIwLDMwNDMxNDA0OTUsMjY3MzcwNTE1MCwyNDM4MjM3NjIxLDIyMDMwMzIyMzIsMjM3MDIxMzc5NV0pO3RoaXMuX21peENvbD1uZXcgVWludDhBcnJheSgyNTYpO2ZvcihsZXQgZT0wO2U8MjU2O2UrKyl0aGlzLl9taXhDb2xbZV09ZTwxMjg/ZTw8MTplPDwxXjI3O3RoaXMuYnVmZmVyPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmJ1ZmZlclBvc2l0aW9uPTB9X2V4cGFuZEtleShlKXt1bnJlYWNoYWJsZSgiQ2Fubm90IGNhbGwgYF9leHBhbmRLZXlgIG9uIHRoZSBiYXNlIGNsYXNzIil9X2RlY3J5cHQoZSx0KXtsZXQgaSxhLHM7Y29uc3Qgcj1uZXcgVWludDhBcnJheSgxNik7ci5zZXQoZSk7Zm9yKGxldCBlPTAsaT10aGlzLl9rZXlTaXplO2U8MTY7KytlLCsraSlyW2VdXj10W2ldO2ZvcihsZXQgZT10aGlzLl9jeWNsZXNPZlJlcGV0aXRpb24tMTtlPj0xOy0tZSl7aT1yWzEzXTtyWzEzXT1yWzldO3JbOV09cls1XTtyWzVdPXJbMV07clsxXT1pO2k9clsxNF07YT1yWzEwXTtyWzE0XT1yWzZdO3JbMTBdPXJbMl07cls2XT1pO3JbMl09YTtpPXJbMTVdO2E9clsxMV07cz1yWzddO3JbMTVdPXJbM107clsxMV09aTtyWzddPWE7clszXT1zO2ZvcihsZXQgZT0wO2U8MTY7KytlKXJbZV09dGhpcy5faW52X3NbcltlXV07Zm9yKGxldCBpPTAsYT0xNiplO2k8MTY7KytpLCsrYSlyW2ldXj10W2FdO2ZvcihsZXQgZT0wO2U8MTY7ZSs9NCl7Y29uc3QgdD10aGlzLl9taXhbcltlXV0sYT10aGlzLl9taXhbcltlKzFdXSxzPXRoaXMuX21peFtyW2UrMl1dLG49dGhpcy5fbWl4W3JbZSszXV07aT10XmE+Pj44XmE8PDI0XnM+Pj4xNl5zPDwxNl5uPj4+MjRebjw8ODtyW2VdPWk+Pj4yNCYyNTU7cltlKzFdPWk+PjE2JjI1NTtyW2UrMl09aT4+OCYyNTU7cltlKzNdPTI1NSZpfX1pPXJbMTNdO3JbMTNdPXJbOV07cls5XT1yWzVdO3JbNV09clsxXTtyWzFdPWk7aT1yWzE0XTthPXJbMTBdO3JbMTRdPXJbNl07clsxMF09clsyXTtyWzZdPWk7clsyXT1hO2k9clsxNV07YT1yWzExXTtzPXJbN107clsxNV09clszXTtyWzExXT1pO3JbN109YTtyWzNdPXM7Zm9yKGxldCBlPTA7ZTwxNjsrK2Upe3JbZV09dGhpcy5faW52X3NbcltlXV07cltlXV49dFtlXX1yZXR1cm4gcn1fZW5jcnlwdChlLHQpe2NvbnN0IGk9dGhpcy5fcztsZXQgYSxzLHI7Y29uc3Qgbj1uZXcgVWludDhBcnJheSgxNik7bi5zZXQoZSk7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpbltlXV49dFtlXTtmb3IobGV0IGU9MTtlPHRoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbjtlKyspe2ZvcihsZXQgZT0wO2U8MTY7KytlKW5bZV09aVtuW2VdXTtyPW5bMV07blsxXT1uWzVdO25bNV09bls5XTtuWzldPW5bMTNdO25bMTNdPXI7cj1uWzJdO3M9bls2XTtuWzJdPW5bMTBdO25bNl09blsxNF07blsxMF09cjtuWzE0XT1zO3I9blszXTtzPW5bN107YT1uWzExXTtuWzNdPW5bMTVdO25bN109cjtuWzExXT1zO25bMTVdPWE7Zm9yKGxldCBlPTA7ZTwxNjtlKz00KXtjb25zdCB0PW5bZSswXSxpPW5bZSsxXSxzPW5bZSsyXSxyPW5bZSszXTthPXReaV5zXnI7bltlKzBdXj1hXnRoaXMuX21peENvbFt0XmldO25bZSsxXV49YV50aGlzLl9taXhDb2xbaV5zXTtuW2UrMl1ePWFedGhpcy5fbWl4Q29sW3Necl07bltlKzNdXj1hXnRoaXMuX21peENvbFtyXnRdfWZvcihsZXQgaT0wLGE9MTYqZTtpPDE2OysraSwrK2EpbltpXV49dFthXX1mb3IobGV0IGU9MDtlPDE2OysrZSluW2VdPWlbbltlXV07cj1uWzFdO25bMV09bls1XTtuWzVdPW5bOV07bls5XT1uWzEzXTtuWzEzXT1yO3I9blsyXTtzPW5bNl07blsyXT1uWzEwXTtuWzZdPW5bMTRdO25bMTBdPXI7blsxNF09cztyPW5bM107cz1uWzddO2E9blsxMV07blszXT1uWzE1XTtuWzddPXI7blsxMV09cztuWzE1XT1hO2ZvcihsZXQgZT0wLGk9dGhpcy5fa2V5U2l6ZTtlPDE2OysrZSwrK2kpbltlXV49dFtpXTtyZXR1cm4gbn1fZGVjcnlwdEJsb2NrMihlLHQpe2NvbnN0IGk9ZS5sZW5ndGg7bGV0IGE9dGhpcy5idWZmZXIscz10aGlzLmJ1ZmZlclBvc2l0aW9uO2NvbnN0IHI9W107bGV0IG49dGhpcy5pdjtmb3IobGV0IHQ9MDt0PGk7Kyt0KXthW3NdPWVbdF07KytzO2lmKHM8MTYpY29udGludWU7Y29uc3QgaT10aGlzLl9kZWNyeXB0KGEsdGhpcy5fa2V5KTtmb3IobGV0IGU9MDtlPDE2OysrZSlpW2VdXj1uW2VdO249YTtyLnB1c2goaSk7YT1uZXcgVWludDhBcnJheSgxNik7cz0wfXRoaXMuYnVmZmVyPWE7dGhpcy5idWZmZXJMZW5ndGg9czt0aGlzLml2PW47aWYoMD09PXIubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheSgwKTtsZXQgZz0xNipyLmxlbmd0aDtpZih0KXtjb25zdCBlPXIuYXQoLTEpO2xldCB0PWVbMTVdO2lmKHQ8PTE2KXtmb3IobGV0IGk9MTUsYT0xNi10O2k+PWE7LS1pKWlmKGVbaV0hPT10KXt0PTA7YnJlYWt9Zy09dDtyW3IubGVuZ3RoLTFdPWUuc3ViYXJyYXkoMCwxNi10KX19Y29uc3Qgbz1uZXcgVWludDhBcnJheShnKTtmb3IobGV0IGU9MCx0PTAsaT1yLmxlbmd0aDtlPGk7KytlLHQrPTE2KW8uc2V0KHJbZV0sdCk7cmV0dXJuIG99ZGVjcnlwdEJsb2NrKGUsdCxpPW51bGwpe2NvbnN0IGE9ZS5sZW5ndGgscz10aGlzLmJ1ZmZlcjtsZXQgcj10aGlzLmJ1ZmZlclBvc2l0aW9uO2lmKGkpdGhpcy5pdj1pO2Vsc2V7Zm9yKGxldCB0PTA7cjwxNiYmdDxhOysrdCwrK3Ipc1tyXT1lW3RdO2lmKHI8MTYpe3RoaXMuYnVmZmVyTGVuZ3RoPXI7cmV0dXJuIG5ldyBVaW50OEFycmF5KDApfXRoaXMuaXY9cztlPWUuc3ViYXJyYXkoMTYpfXRoaXMuYnVmZmVyPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmJ1ZmZlckxlbmd0aD0wO3RoaXMuZGVjcnlwdEJsb2NrPXRoaXMuX2RlY3J5cHRCbG9jazI7cmV0dXJuIHRoaXMuZGVjcnlwdEJsb2NrKGUsdCl9ZW5jcnlwdChlLHQpe2NvbnN0IGk9ZS5sZW5ndGg7bGV0IGE9dGhpcy5idWZmZXIscz10aGlzLmJ1ZmZlclBvc2l0aW9uO2NvbnN0IHI9W107dHx8KHQ9bmV3IFVpbnQ4QXJyYXkoMTYpKTtmb3IobGV0IG49MDtuPGk7KytuKXthW3NdPWVbbl07KytzO2lmKHM8MTYpY29udGludWU7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpYVtlXV49dFtlXTtjb25zdCBpPXRoaXMuX2VuY3J5cHQoYSx0aGlzLl9rZXkpO3Q9aTtyLnB1c2goaSk7YT1uZXcgVWludDhBcnJheSgxNik7cz0wfXRoaXMuYnVmZmVyPWE7dGhpcy5idWZmZXJMZW5ndGg9czt0aGlzLml2PXQ7aWYoMD09PXIubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheSgwKTtjb25zdCBuPTE2KnIubGVuZ3RoLGc9bmV3IFVpbnQ4QXJyYXkobik7Zm9yKGxldCBlPTAsdD0wLGk9ci5sZW5ndGg7ZTxpOysrZSx0Kz0xNilnLnNldChyW2VdLHQpO3JldHVybiBnfX1jbGFzcyBBRVMxMjhDaXBoZXIgZXh0ZW5kcyBBRVNCYXNlQ2lwaGVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCk7dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uPTEwO3RoaXMuX2tleVNpemU9MTYwO3RoaXMuX3Jjb249bmV3IFVpbnQ4QXJyYXkoWzE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDFdKTt0aGlzLl9rZXk9dGhpcy5fZXhwYW5kS2V5KGUpfV9leHBhbmRLZXkoZSl7Y29uc3QgdD10aGlzLl9zLGk9dGhpcy5fcmNvbixhPW5ldyBVaW50OEFycmF5KDE3Nik7YS5zZXQoZSk7Zm9yKGxldCBlPTE2LHM9MTtlPDE3NjsrK3Mpe2xldCByPWFbZS0zXSxuPWFbZS0yXSxnPWFbZS0xXSxvPWFbZS00XTtyPXRbcl07bj10W25dO2c9dFtnXTtvPXRbb107cl49aVtzXTtmb3IobGV0IHQ9MDt0PDQ7Kyt0KXthW2VdPXJePWFbZS0xNl07ZSsrO2FbZV09bl49YVtlLTE2XTtlKys7YVtlXT1nXj1hW2UtMTZdO2UrKzthW2VdPW9ePWFbZS0xNl07ZSsrfX1yZXR1cm4gYX19Y2xhc3MgQUVTMjU2Q2lwaGVyIGV4dGVuZHMgQUVTQmFzZUNpcGhlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpO3RoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbj0xNDt0aGlzLl9rZXlTaXplPTIyNDt0aGlzLl9rZXk9dGhpcy5fZXhwYW5kS2V5KGUpfV9leHBhbmRLZXkoZSl7Y29uc3QgdD10aGlzLl9zLGk9bmV3IFVpbnQ4QXJyYXkoMjQwKTtpLnNldChlKTtsZXQgYSxzLHIsbixnPTE7Zm9yKGxldCBlPTMyLG89MTtlPDI0MDsrK28pe2lmKGUlMzI9PTE2KXthPXRbYV07cz10W3NdO3I9dFtyXTtuPXRbbl19ZWxzZSBpZihlJTMyPT0wKXthPWlbZS0zXTtzPWlbZS0yXTtyPWlbZS0xXTtuPWlbZS00XTthPXRbYV07cz10W3NdO3I9dFtyXTtuPXRbbl07YV49ZzsoZzw8PTEpPj0yNTYmJihnPTI1NSYoMjdeZykpfWZvcihsZXQgdD0wO3Q8NDsrK3Qpe2lbZV09YV49aVtlLTMyXTtlKys7aVtlXT1zXj1pW2UtMzJdO2UrKztpW2VdPXJePWlbZS0zMl07ZSsrO2lbZV09bl49aVtlLTMyXTtlKyt9fXJldHVybiBpfX1jbGFzcyBQREYxN3tjaGVja093bmVyUGFzc3dvcmQoZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7cy5zZXQoZSwwKTtzLnNldCh0LGUubGVuZ3RoKTtzLnNldChpLGUubGVuZ3RoK3QubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKEtzKHMsMCxzLmxlbmd0aCksYSl9Y2hlY2tVc2VyUGFzc3dvcmQoZSx0LGkpe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrOCk7YS5zZXQoZSwwKTthLnNldCh0LGUubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKEtzKGEsMCxhLmxlbmd0aCksaSl9Z2V0T3duZXJLZXkoZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7cy5zZXQoZSwwKTtzLnNldCh0LGUubGVuZ3RoKTtzLnNldChpLGUubGVuZ3RoK3QubGVuZ3RoKTtjb25zdCByPUtzKHMsMCxzLmxlbmd0aCk7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIocikuZGVjcnlwdEJsb2NrKGEsITEsbmV3IFVpbnQ4QXJyYXkoMTYpKX1nZXRVc2VyS2V5KGUsdCxpKXtjb25zdCBhPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzgpO2Euc2V0KGUsMCk7YS5zZXQodCxlLmxlbmd0aCk7Y29uc3Qgcz1LcyhhLDAsYS5sZW5ndGgpO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHMpLmRlY3J5cHRCbG9jayhpLCExLG5ldyBVaW50OEFycmF5KDE2KSl9fWNsYXNzIFBERjIwe19oYXNoKGUsdCxpKXtsZXQgYT1Lcyh0LDAsdC5sZW5ndGgpLnN1YmFycmF5KDAsMzIpLHM9WzBdLHI9MDtmb3IoO3I8NjR8fHMuYXQoLTEpPnItMzI7KXtjb25zdCB0PWUubGVuZ3RoK2EubGVuZ3RoK2kubGVuZ3RoLGM9bmV3IFVpbnQ4QXJyYXkodCk7bGV0IEM9MDtjLnNldChlLEMpO0MrPWUubGVuZ3RoO2Muc2V0KGEsQyk7Qys9YS5sZW5ndGg7Yy5zZXQoaSxDKTtjb25zdCBoPW5ldyBVaW50OEFycmF5KDY0KnQpO2ZvcihsZXQgZT0wLGk9MDtlPDY0O2UrKyxpKz10KWguc2V0KGMsaSk7cz1uZXcgQUVTMTI4Q2lwaGVyKGEuc3ViYXJyYXkoMCwxNikpLmVuY3J5cHQoaCxhLnN1YmFycmF5KDE2LDMyKSk7Y29uc3QgbD1zLnNsaWNlKDAsMTYpLnJlZHVjZSgoKGUsdCk9PmUrdCksMCklMzswPT09bD9hPUtzKHMsMCxzLmxlbmd0aCk6MT09PWw/YT0obj1zLGc9MCxvPXMubGVuZ3RoLFRzKG4sZyxvLCEwKSk6Mj09PWwmJihhPVRzKHMsMCxzLmxlbmd0aCkpO3IrK312YXIgbixnLG87cmV0dXJuIGEuc3ViYXJyYXkoMCwzMil9Y2hlY2tPd25lclBhc3N3b3JkKGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrNTYpO3Muc2V0KGUsMCk7cy5zZXQodCxlLmxlbmd0aCk7cy5zZXQoaSxlLmxlbmd0aCt0Lmxlbmd0aCk7cmV0dXJuIGlzQXJyYXlFcXVhbCh0aGlzLl9oYXNoKGUscyxpKSxhKX1jaGVja1VzZXJQYXNzd29yZChlLHQsaSl7Y29uc3QgYT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs4KTthLnNldChlLDApO2Euc2V0KHQsZS5sZW5ndGgpO3JldHVybiBpc0FycmF5RXF1YWwodGhpcy5faGFzaChlLGEsW10pLGkpfWdldE93bmVyS2V5KGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrNTYpO3Muc2V0KGUsMCk7cy5zZXQodCxlLmxlbmd0aCk7cy5zZXQoaSxlLmxlbmd0aCt0Lmxlbmd0aCk7Y29uc3Qgcj10aGlzLl9oYXNoKGUscyxpKTtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihyKS5kZWNyeXB0QmxvY2soYSwhMSxuZXcgVWludDhBcnJheSgxNikpfWdldFVzZXJLZXkoZSx0LGkpe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrOCk7YS5zZXQoZSwwKTthLnNldCh0LGUubGVuZ3RoKTtjb25zdCBzPXRoaXMuX2hhc2goZSxhLFtdKTtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihzKS5kZWNyeXB0QmxvY2soaSwhMSxuZXcgVWludDhBcnJheSgxNikpfX1jbGFzcyBDaXBoZXJUcmFuc2Zvcm17Y29uc3RydWN0b3IoZSx0KXt0aGlzLlN0cmluZ0NpcGhlckNvbnN0cnVjdG9yPWU7dGhpcy5TdHJlYW1DaXBoZXJDb25zdHJ1Y3Rvcj10fWNyZWF0ZVN0cmVhbShlLHQpe2NvbnN0IGk9bmV3IHRoaXMuU3RyZWFtQ2lwaGVyQ29uc3RydWN0b3I7cmV0dXJuIG5ldyBEZWNyeXB0U3RyZWFtKGUsdCwoZnVuY3Rpb24gY2lwaGVyVHJhbnNmb3JtRGVjcnlwdFN0cmVhbShlLHQpe3JldHVybiBpLmRlY3J5cHRCbG9jayhlLHQpfSkpfWRlY3J5cHRTdHJpbmcoZSl7Y29uc3QgdD1uZXcgdGhpcy5TdHJpbmdDaXBoZXJDb25zdHJ1Y3RvcjtsZXQgaT1zdHJpbmdUb0J5dGVzKGUpO2k9dC5kZWNyeXB0QmxvY2soaSwhMCk7cmV0dXJuIGJ5dGVzVG9TdHJpbmcoaSl9ZW5jcnlwdFN0cmluZyhlKXtjb25zdCB0PW5ldyB0aGlzLlN0cmluZ0NpcGhlckNvbnN0cnVjdG9yO2lmKHQgaW5zdGFuY2VvZiBBRVNCYXNlQ2lwaGVyKXtjb25zdCBpPTE2LWUubGVuZ3RoJTE2O2UrPVN0cmluZy5mcm9tQ2hhckNvZGUoaSkucmVwZWF0KGkpO2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoMTYpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgY3J5cHRvKWNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYSk7ZWxzZSBmb3IobGV0IGU9MDtlPDE2O2UrKylhW2VdPU1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpO2xldCBzPXN0cmluZ1RvQnl0ZXMoZSk7cz10LmVuY3J5cHQocyxhKTtjb25zdCByPW5ldyBVaW50OEFycmF5KDE2K3MubGVuZ3RoKTtyLnNldChhKTtyLnNldChzLDE2KTtyZXR1cm4gYnl0ZXNUb1N0cmluZyhyKX1sZXQgaT1zdHJpbmdUb0J5dGVzKGUpO2k9dC5lbmNyeXB0KGkpO3JldHVybiBieXRlc1RvU3RyaW5nKGkpfX1jbGFzcyBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5e3N0YXRpYyN4PW5ldyBVaW50OEFycmF5KFs0MCwxOTEsNzgsOTQsNzgsMTE3LDEzOCw2NSwxMDAsMCw3OCw4NiwyNTUsMjUwLDEsOCw0Niw0NiwwLDE4MiwyMDgsMTA0LDYyLDEyOCw0NywxMiwxNjksMjU0LDEwMCw4MywxMDUsMTIyXSk7I1UoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2lmKHQpe2NvbnN0IGU9TWF0aC5taW4oMTI3LHQubGVuZ3RoKTt0PXQuc3ViYXJyYXkoMCxlKX1lbHNlIHQ9W107Y29uc3QgbD02PT09ZT9uZXcgUERGMjA6bmV3IFBERjE3O3JldHVybiBsLmNoZWNrVXNlclBhc3N3b3JkKHQsZyxuKT9sLmdldFVzZXJLZXkodCxvLEMpOnQubGVuZ3RoJiZsLmNoZWNrT3duZXJQYXNzd29yZCh0LGEscixpKT9sLmdldE93bmVyS2V5KHQscyxyLGMpOm51bGx9I00oZSx0LGksYSxzLHIsbixnKXtjb25zdCBvPTQwK2kubGVuZ3RoK2UubGVuZ3RoLGM9bmV3IFVpbnQ4QXJyYXkobyk7bGV0IEMsaCxsPTA7aWYodCl7aD1NYXRoLm1pbigzMix0Lmxlbmd0aCk7Zm9yKDtsPGg7KytsKWNbbF09dFtsXX1DPTA7Zm9yKDtsPDMyOyljW2wrK109Q2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4jeFtDKytdO2ZvcihDPTAsaD1pLmxlbmd0aDtDPGg7KytDKWNbbCsrXT1pW0NdO2NbbCsrXT0yNTUmcztjW2wrK109cz4+OCYyNTU7Y1tsKytdPXM+PjE2JjI1NTtjW2wrK109cz4+PjI0JjI1NTtmb3IoQz0wLGg9ZS5sZW5ndGg7QzxoOysrQyljW2wrK109ZVtDXTtpZihyPj00JiYhZyl7Y1tsKytdPTI1NTtjW2wrK109MjU1O2NbbCsrXT0yNTU7Y1tsKytdPTI1NX1sZXQgUT12cyhjLDAsbCk7Y29uc3QgRT1uPj4zO2lmKHI+PTMpZm9yKEM9MDtDPDUwOysrQylRPXZzKFEsMCxFKTtjb25zdCB1PVEuc3ViYXJyYXkoMCxFKTtsZXQgZCxmO2lmKHI+PTMpe2ZvcihsPTA7bDwzMjsrK2wpY1tsXT1DaXBoZXJUcmFuc2Zvcm1GYWN0b3J5LiN4W2xdO2ZvcihDPTAsaD1lLmxlbmd0aDtDPGg7KytDKWNbbCsrXT1lW0NdO2Q9bmV3IEFSQ0ZvdXJDaXBoZXIodSk7Zj1kLmVuY3J5cHRCbG9jayh2cyhjLDAsbCkpO2g9dS5sZW5ndGg7Y29uc3QgdD1uZXcgVWludDhBcnJheShoKTtmb3IoQz0xO0M8PTE5OysrQyl7Zm9yKGxldCBlPTA7ZTxoOysrZSl0W2VdPXVbZV1eQztkPW5ldyBBUkNGb3VyQ2lwaGVyKHQpO2Y9ZC5lbmNyeXB0QmxvY2soZil9Zm9yKEM9MCxoPWYubGVuZ3RoO0M8aDsrK0MpaWYoYVtDXSE9PWZbQ10pcmV0dXJuIG51bGx9ZWxzZXtkPW5ldyBBUkNGb3VyQ2lwaGVyKHUpO2Y9ZC5lbmNyeXB0QmxvY2soQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4jeCk7Zm9yKEM9MCxoPWYubGVuZ3RoO0M8aDsrK0MpaWYoYVtDXSE9PWZbQ10pcmV0dXJuIG51bGx9cmV0dXJuIHV9I0woZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheSgzMik7bGV0IHI9MDtjb25zdCBuPU1hdGgubWluKDMyLGUubGVuZ3RoKTtmb3IoO3I8bjsrK3Ipc1tyXT1lW3JdO2xldCBnPTA7Zm9yKDtyPDMyOylzW3IrK109Q2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4jeFtnKytdO2xldCBvPXZzKHMsMCxyKTtjb25zdCBjPWE+PjM7aWYoaT49Mylmb3IoZz0wO2c8NTA7KytnKW89dnMobywwLG8ubGVuZ3RoKTtsZXQgQyxoO2lmKGk+PTMpe2g9dDtjb25zdCBlPW5ldyBVaW50OEFycmF5KGMpO2ZvcihnPTE5O2c+PTA7Zy0tKXtmb3IobGV0IHQ9MDt0PGM7Kyt0KWVbdF09b1t0XV5nO0M9bmV3IEFSQ0ZvdXJDaXBoZXIoZSk7aD1DLmVuY3J5cHRCbG9jayhoKX19ZWxzZXtDPW5ldyBBUkNGb3VyQ2lwaGVyKG8uc3ViYXJyYXkoMCxjKSk7aD1DLmVuY3J5cHRCbG9jayh0KX1yZXR1cm4gaH0jSChlLHQsaSxhPSExKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KGkubGVuZ3RoKzkpLHI9aS5sZW5ndGg7bGV0IG47Zm9yKG49MDtuPHI7KytuKXNbbl09aVtuXTtzW24rK109MjU1JmU7c1tuKytdPWU+PjgmMjU1O3NbbisrXT1lPj4xNiYyNTU7c1tuKytdPTI1NSZ0O3NbbisrXT10Pj44JjI1NTtpZihhKXtzW24rK109MTE1O3NbbisrXT02NTtzW24rK109MTA4O3NbbisrXT04NH1yZXR1cm4gdnMocywwLG4pLnN1YmFycmF5KDAsTWF0aC5taW4oaS5sZW5ndGgrNSwxNikpfSNKKGUsdCxpLGEscyl7aWYoISh0IGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGNyeXB0IGZpbHRlciBuYW1lLiIpO2NvbnN0IHI9dGhpcyxuPWUuZ2V0KHQubmFtZSksZz1uPy5nZXQoIkNGTSIpO2lmKCFnfHwiTm9uZSI9PT1nLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBOdWxsQ2lwaGVyfTtpZigiVjIiPT09Zy5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQVJDRm91ckNpcGhlcihyLiNIKGksYSxzLCExKSl9O2lmKCJBRVNWMiI9PT1nLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBRVMxMjhDaXBoZXIoci4jSChpLGEscywhMCkpfTtpZigiQUVTVjMiPT09Zy5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHMpfTt0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gY3J5cHRvIG1ldGhvZCIpfWNvbnN0cnVjdG9yKGUsdCxpKXtjb25zdCBhPWUuZ2V0KCJGaWx0ZXIiKTtpZighaXNOYW1lKGEsIlN0YW5kYXJkIikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bmtub3duIGVuY3J5cHRpb24gbWV0aG9kIik7dGhpcy5maWx0ZXJOYW1lPWEubmFtZTt0aGlzLmRpY3Q9ZTtjb25zdCBzPWUuZ2V0KCJWIik7aWYoIU51bWJlci5pc0ludGVnZXIocyl8fDEhPT1zJiYyIT09cyYmNCE9PXMmJjUhPT1zKXRocm93IG5ldyBGb3JtYXRFcnJvcigidW5zdXBwb3J0ZWQgZW5jcnlwdGlvbiBhbGdvcml0aG0iKTt0aGlzLmFsZ29yaXRobT1zO2xldCByPWUuZ2V0KCJMZW5ndGgiKTtpZighcilpZihzPD0zKXI9NDA7ZWxzZXtjb25zdCB0PWUuZ2V0KCJDRiIpLGk9ZS5nZXQoIlN0bUYiKTtpZih0IGluc3RhbmNlb2YgRGljdCYmaSBpbnN0YW5jZW9mIE5hbWUpe3Quc3VwcHJlc3NFbmNyeXB0aW9uPSEwO2NvbnN0IGU9dC5nZXQoaS5uYW1lKTtyPWU/LmdldCgiTGVuZ3RoIil8fDEyODtyPDQwJiYocjw8PTMpfX1pZighTnVtYmVyLmlzSW50ZWdlcihyKXx8cjw0MHx8ciU4IT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcigiaW52YWxpZCBrZXkgbGVuZ3RoIik7Y29uc3Qgbj1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJPIikpLGc9c3RyaW5nVG9CeXRlcyhlLmdldCgiVSIpKSxvPW4uc3ViYXJyYXkoMCwzMiksYz1nLnN1YmFycmF5KDAsMzIpLEM9ZS5nZXQoIlAiKSxoPWUuZ2V0KCJSIiksbD0oND09PXN8fDU9PT1zKSYmITEhPT1lLmdldCgiRW5jcnlwdE1ldGFkYXRhIik7dGhpcy5lbmNyeXB0TWV0YWRhdGE9bDtjb25zdCBRPXN0cmluZ1RvQnl0ZXModCk7bGV0IEUsdTtpZihpKXtpZig2PT09aCl0cnl7aT11dGY4U3RyaW5nVG9TdHJpbmcoaSl9Y2F0Y2h7d2FybigiQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeTogVW5hYmxlIHRvIGNvbnZlcnQgVVRGOCBlbmNvZGVkIHBhc3N3b3JkLiIpfUU9c3RyaW5nVG9CeXRlcyhpKX1pZig1IT09cyl1PXRoaXMuI00oUSxFLG8sYyxDLGgscixsKTtlbHNle2NvbnN0IHQ9bi5zdWJhcnJheSgzMiw0MCksaT1uLnN1YmFycmF5KDQwLDQ4KSxhPWcuc3ViYXJyYXkoMCw0OCkscz1nLnN1YmFycmF5KDMyLDQwKSxyPWcuc3ViYXJyYXkoNDAsNDgpLEM9c3RyaW5nVG9CeXRlcyhlLmdldCgiT0UiKSksbD1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJVRSIpKSxRPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIlBlcm1zIikpO3U9dGhpcy4jVShoLEUsbyx0LGksYSxjLHMscixDLGwsUSl9aWYoIXUmJiFpKXRocm93IG5ldyBQYXNzd29yZEV4Y2VwdGlvbigiTm8gcGFzc3dvcmQgZ2l2ZW4iLHN0KTtpZighdSYmaSl7Y29uc3QgZT10aGlzLiNMKEUsbyxoLHIpO3U9dGhpcy4jTShRLGUsbyxjLEMsaCxyLGwpfWlmKCF1KXRocm93IG5ldyBQYXNzd29yZEV4Y2VwdGlvbigiSW5jb3JyZWN0IFBhc3N3b3JkIixydCk7dGhpcy5lbmNyeXB0aW9uS2V5PXU7aWYocz49NCl7Y29uc3QgdD1lLmdldCgiQ0YiKTt0IGluc3RhbmNlb2YgRGljdCYmKHQuc3VwcHJlc3NFbmNyeXB0aW9uPSEwKTt0aGlzLmNmPXQ7dGhpcy5zdG1mPWUuZ2V0KCJTdG1GIil8fE5hbWUuZ2V0KCJJZGVudGl0eSIpO3RoaXMuc3RyZj1lLmdldCgiU3RyRiIpfHxOYW1lLmdldCgiSWRlbnRpdHkiKTt0aGlzLmVmZj1lLmdldCgiRUZGIil8fHRoaXMuc3RtZn19Y3JlYXRlQ2lwaGVyVHJhbnNmb3JtKGUsdCl7aWYoND09PXRoaXMuYWxnb3JpdGhtfHw1PT09dGhpcy5hbGdvcml0aG0pcmV0dXJuIG5ldyBDaXBoZXJUcmFuc2Zvcm0odGhpcy4jSih0aGlzLmNmLHRoaXMuc3RyZixlLHQsdGhpcy5lbmNyeXB0aW9uS2V5KSx0aGlzLiNKKHRoaXMuY2YsdGhpcy5zdG1mLGUsdCx0aGlzLmVuY3J5cHRpb25LZXkpKTtjb25zdCBpPXRoaXMuI0goZSx0LHRoaXMuZW5jcnlwdGlvbktleSwhMSksY2lwaGVyQ29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFSQ0ZvdXJDaXBoZXIoaSl9O3JldHVybiBuZXcgQ2lwaGVyVHJhbnNmb3JtKGNpcGhlckNvbnN0cnVjdG9yLGNpcGhlckNvbnN0cnVjdG9yKX19YXN5bmMgZnVuY3Rpb24gd3JpdGVPYmplY3QoZSx0LGkse2VuY3J5cHQ6YT1udWxsfSl7Y29uc3Qgcz1hPy5jcmVhdGVDaXBoZXJUcmFuc2Zvcm0oZS5udW0sZS5nZW4pO2kucHVzaChgJHtlLm51bX0gJHtlLmdlbn0gb2JqXG5gKTt0IGluc3RhbmNlb2YgRGljdD9hd2FpdCB3cml0ZURpY3QodCxpLHMpOnQgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2F3YWl0IHdyaXRlU3RyZWFtKHQsaSxzKTooQXJyYXkuaXNBcnJheSh0KXx8QXJyYXlCdWZmZXIuaXNWaWV3KHQpKSYmYXdhaXQgd3JpdGVBcnJheSh0LGkscyk7aS5wdXNoKCJcbmVuZG9ialxuIil9YXN5bmMgZnVuY3Rpb24gd3JpdGVEaWN0KGUsdCxpKXt0LnB1c2goIjw8Iik7Zm9yKGNvbnN0IGEgb2YgZS5nZXRLZXlzKCkpe3QucHVzaChgIC8ke2VzY2FwZVBERk5hbWUoYSl9IGApO2F3YWl0IHdyaXRlVmFsdWUoZS5nZXRSYXcoYSksdCxpKX10LnB1c2goIj4+Iil9YXN5bmMgZnVuY3Rpb24gd3JpdGVTdHJlYW0oZSx0LGkpe2xldCBhPWUuZ2V0Qnl0ZXMoKTtjb25zdHtkaWN0OnN9PWUsW3Isbl09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZ2V0QXN5bmMoIkZpbHRlciIpLHMuZ2V0QXN5bmMoIkRlY29kZVBhcm1zIildKSxnPWlzTmFtZShBcnJheS5pc0FycmF5KHIpP2F3YWl0IHMueHJlZi5mZXRjaElmUmVmQXN5bmMoclswXSk6ciwiRmxhdGVEZWNvZGUiKTtpZihhLmxlbmd0aD49MjU2fHxnKXRyeXtjb25zdCBlPW5ldyBDb21wcmVzc2lvblN0cmVhbSgiZGVmbGF0ZSIpLHQ9ZS53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCB0LnJlYWR5O3Qud3JpdGUoYSkudGhlbigoYXN5bmMoKT0+e2F3YWl0IHQucmVhZHk7YXdhaXQgdC5jbG9zZSgpfSkpLmNhdGNoKCgoKT0+e30pKTtjb25zdCBpPWF3YWl0IG5ldyBSZXNwb25zZShlLnJlYWRhYmxlKS5hcnJheUJ1ZmZlcigpO2E9bmV3IFVpbnQ4QXJyYXkoaSk7bGV0IG8sYztpZihyKXtpZighZyl7bz1BcnJheS5pc0FycmF5KHIpP1tOYW1lLmdldCgiRmxhdGVEZWNvZGUiKSwuLi5yXTpbTmFtZS5nZXQoIkZsYXRlRGVjb2RlIikscl07biYmKGM9QXJyYXkuaXNBcnJheShuKT9bbnVsbCwuLi5uXTpbbnVsbCxuXSl9fWVsc2Ugbz1OYW1lLmdldCgiRmxhdGVEZWNvZGUiKTtvJiZzLnNldCgiRmlsdGVyIixvKTtjJiZzLnNldCgiRGVjb2RlUGFybXMiLGMpfWNhdGNoKGUpe2luZm8oYHdyaXRlU3RyZWFtIC0gY2Fubm90IGNvbXByZXNzIGRhdGE6ICIke2V9Ii5gKX1sZXQgbz1ieXRlc1RvU3RyaW5nKGEpO2kmJihvPWkuZW5jcnlwdFN0cmluZyhvKSk7cy5zZXQoIkxlbmd0aCIsby5sZW5ndGgpO2F3YWl0IHdyaXRlRGljdChzLHQsaSk7dC5wdXNoKCIgc3RyZWFtXG4iLG8sIlxuZW5kc3RyZWFtIil9YXN5bmMgZnVuY3Rpb24gd3JpdGVBcnJheShlLHQsaSl7dC5wdXNoKCJbIik7bGV0IGE9ITA7Zm9yKGNvbnN0IHMgb2YgZSl7YT9hPSExOnQucHVzaCgiICIpO2F3YWl0IHdyaXRlVmFsdWUocyx0LGkpfXQucHVzaCgiXSIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlVmFsdWUoZSx0LGkpe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXQucHVzaChgLyR7ZXNjYXBlUERGTmFtZShlLm5hbWUpfWApO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFJlZil0LnB1c2goYCR7ZS5udW19ICR7ZS5nZW59IFJgKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5QnVmZmVyLmlzVmlldyhlKSlhd2FpdCB3cml0ZUFycmF5KGUsdCxpKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSl7aSYmKGU9aS5lbmNyeXB0U3RyaW5nKGUpKTt0LnB1c2goYCgke2VzY2FwZVN0cmluZyhlKX0pYCl9ZWxzZSJudW1iZXIiPT10eXBlb2YgZT90LnB1c2gobnVtYmVyVG9TdHJpbmcoZSkpOiJib29sZWFuIj09dHlwZW9mIGU/dC5wdXNoKGUudG9TdHJpbmcoKSk6ZSBpbnN0YW5jZW9mIERpY3Q/YXdhaXQgd3JpdGVEaWN0KGUsdCxpKTplIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9hd2FpdCB3cml0ZVN0cmVhbShlLHQsaSk6bnVsbD09PWU/dC5wdXNoKCJudWxsIik6d2FybihgVW5oYW5kbGVkIHZhbHVlIGluIHdyaXRlcjogJHt0eXBlb2YgZX0sIHBsZWFzZSBmaWxlIGEgYnVnLmApfWZ1bmN0aW9uIHdyaXRlSW50KGUsdCxpLGEpe2ZvcihsZXQgcz10K2ktMTtzPmktMTtzLS0pe2Fbc109MjU1JmU7ZT4+PTh9cmV0dXJuIGkrdH1mdW5jdGlvbiB3cml0ZVN0cmluZyhlLHQsaSl7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKWlbdCthXT0yNTUmZS5jaGFyQ29kZUF0KGEpfWZ1bmN0aW9uIHVwZGF0ZVhGQSh7eGZhRGF0YTplLHhmYURhdGFzZXRzUmVmOnQsbmV3UmVmczppLHhyZWY6YX0pe2lmKG51bGw9PT1lKXtlPWZ1bmN0aW9uIHdyaXRlWEZBRGF0YUZvckFjcm9mb3JtKGUsdCl7Y29uc3QgaT1uZXcgU2ltcGxlWE1MUGFyc2VyKHtoYXNBdHRyaWJ1dGVzOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUpO2Zvcihjb25zdHt4ZmE6ZX1vZiB0KXtpZighZSljb250aW51ZTtjb25zdHtwYXRoOnQsdmFsdWU6YX09ZTtpZighdCljb250aW51ZTtjb25zdCBzPXBhcnNlWEZBUGF0aCh0KTtsZXQgcj1pLmRvY3VtZW50RWxlbWVudC5zZWFyY2hOb2RlKHMsMCk7IXImJnMubGVuZ3RoPjEmJihyPWkuZG9jdW1lbnRFbGVtZW50LnNlYXJjaE5vZGUoW3MuYXQoLTEpXSwwKSk7cj9yLmNoaWxkTm9kZXM9QXJyYXkuaXNBcnJheShhKT9hLm1hcCgoZT0+bmV3IFNpbXBsZURPTU5vZGUoInZhbHVlIixlKSkpOltuZXcgU2ltcGxlRE9NTm9kZSgiI3RleHQiLGEpXTp3YXJuKGBOb2RlIG5vdCBmb3VuZCBmb3IgcGF0aDogJHt0fWApfWNvbnN0IGE9W107aS5kb2N1bWVudEVsZW1lbnQuZHVtcChhKTtyZXR1cm4gYS5qb2luKCIiKX0oYS5mZXRjaElmUmVmKHQpLmdldFN0cmluZygpLGkpfWNvbnN0IHM9YS5lbmNyeXB0O2lmKHMpe2U9cy5jcmVhdGVDaXBoZXJUcmFuc2Zvcm0odC5udW0sdC5nZW4pLmVuY3J5cHRTdHJpbmcoZSl9Y29uc3Qgcj1gJHt0Lm51bX0gJHt0Lmdlbn0gb2JqXG48PCAvVHlwZSAvRW1iZWRkZWRGaWxlIC9MZW5ndGggJHtlLmxlbmd0aH0+Plxuc3RyZWFtXG5gK2UrIlxuZW5kc3RyZWFtXG5lbmRvYmpcbiI7aS5wdXNoKHtyZWY6dCxkYXRhOnJ9KX1mdW5jdGlvbiBnZXRJbmRleGVzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0e3JlZjppfW9mIGUpaS5udW09PT10LmF0KC0yKSt0LmF0KC0xKT90W3QubGVuZ3RoLTFdKz0xOnQucHVzaChpLm51bSwxKTtyZXR1cm4gdH1mdW5jdGlvbiBjb21wdXRlSURzKGUsdCxpKXtpZihBcnJheS5pc0FycmF5KHQuZmlsZUlkcykmJnQuZmlsZUlkcy5sZW5ndGg+MCl7Y29uc3QgYT1mdW5jdGlvbiBjb21wdXRlTUQ1KGUsdCl7Y29uc3QgaT1NYXRoLmZsb29yKERhdGUubm93KCkvMWUzKSxhPXQuZmlsZW5hbWV8fCIiLHM9W2kudG9TdHJpbmcoKSxhLGUudG9TdHJpbmcoKV07bGV0IHI9cy5yZWR1Y2UoKChlLHQpPT5lK3QubGVuZ3RoKSwwKTtmb3IoY29uc3QgZSBvZiBPYmplY3QudmFsdWVzKHQuaW5mbykpe3MucHVzaChlKTtyKz1lLmxlbmd0aH1jb25zdCBuPW5ldyBVaW50OEFycmF5KHIpO2xldCBnPTA7Zm9yKGNvbnN0IGUgb2Ygcyl7d3JpdGVTdHJpbmcoZSxnLG4pO2crPWUubGVuZ3RofXJldHVybiBieXRlc1RvU3RyaW5nKHZzKG4pKX0oZSx0KTtpLnNldCgiSUQiLFt0LmZpbGVJZHNbMF0sYV0pfX1hc3luYyBmdW5jdGlvbiBpbmNyZW1lbnRhbFVwZGF0ZSh7b3JpZ2luYWxEYXRhOmUseHJlZkluZm86dCxuZXdSZWZzOmkseHJlZjphPW51bGwsaGFzWGZhOnM9ITEseGZhRGF0YXNldHNSZWY6cj1udWxsLGhhc1hmYURhdGFzZXRzRW50cnk6bj0hMSxuZWVkQXBwZWFyYW5jZXM6ZyxhY3JvRm9ybVJlZjpvPW51bGwsYWNyb0Zvcm06Yz1udWxsLHhmYURhdGE6Qz1udWxsLHVzZVhyZWZTdHJlYW06aD0hMX0pe2F3YWl0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFjcm9mb3JtKHt4cmVmOmUsYWNyb0Zvcm06dCxhY3JvRm9ybVJlZjppLGhhc1hmYTphLGhhc1hmYURhdGFzZXRzRW50cnk6cyx4ZmFEYXRhc2V0c1JlZjpyLG5lZWRBcHBlYXJhbmNlczpuLG5ld1JlZnM6Z30peyFhfHxzfHxyfHx3YXJuKCJYRkEgLSBDYW5ub3Qgc2F2ZSBpdCIpO2lmKCFuJiYoIWF8fCFyfHxzKSlyZXR1cm47Y29uc3Qgbz10LmNsb25lKCk7aWYoYSYmIXMpe2NvbnN0IGU9dC5nZXQoIlhGQSIpLnNsaWNlKCk7ZS5zcGxpY2UoMiwwLCJkYXRhc2V0cyIpO2Uuc3BsaWNlKDMsMCxyKTtvLnNldCgiWEZBIixlKX1uJiZvLnNldCgiTmVlZEFwcGVhcmFuY2VzIiwhMCk7Y29uc3QgYz1bXTthd2FpdCB3cml0ZU9iamVjdChpLG8sYyxlKTtnLnB1c2goe3JlZjppLGRhdGE6Yy5qb2luKCIiKX0pfSh7eHJlZjphLGFjcm9Gb3JtOmMsYWNyb0Zvcm1SZWY6byxoYXNYZmE6cyxoYXNYZmFEYXRhc2V0c0VudHJ5Om4seGZhRGF0YXNldHNSZWY6cixuZWVkQXBwZWFyYW5jZXM6ZyxuZXdSZWZzOml9KTtzJiZ1cGRhdGVYRkEoe3hmYURhdGE6Qyx4ZmFEYXRhc2V0c1JlZjpyLG5ld1JlZnM6aSx4cmVmOmF9KTtjb25zdCBsPVtdO2xldCBRPWUubGVuZ3RoO2NvbnN0IEU9ZS5hdCgtMSk7aWYoMTAhPT1FJiYxMyE9PUUpe2wucHVzaCgiXG4iKTtRKz0xfWNvbnN0IHU9ZnVuY3Rpb24gZ2V0VHJhaWxlckRpY3QoZSx0LGkpe2NvbnN0IGE9bmV3IERpY3QobnVsbCk7YS5zZXQoIlByZXYiLGUuc3RhcnRYUmVmKTtjb25zdCBzPWUubmV3UmVmO2lmKGkpe3QucHVzaCh7cmVmOnMsZGF0YToiIn0pO2Euc2V0KCJTaXplIixzLm51bSsxKTthLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhSZWYiKSl9ZWxzZSBhLnNldCgiU2l6ZSIscy5udW0pO251bGwhPT1lLnJvb3RSZWYmJmEuc2V0KCJSb290IixlLnJvb3RSZWYpO251bGwhPT1lLmluZm9SZWYmJmEuc2V0KCJJbmZvIixlLmluZm9SZWYpO251bGwhPT1lLmVuY3J5cHRSZWYmJmEuc2V0KCJFbmNyeXB0IixlLmVuY3J5cHRSZWYpO3JldHVybiBhfSh0LGksaCk7aT1pLnNvcnQoKChlLHQpPT5lLnJlZi5udW0tdC5yZWYubnVtKSk7Zm9yKGNvbnN0e2RhdGE6ZX1vZiBpKW51bGwhPT1lJiZsLnB1c2goZSk7YXdhaXQoaD9hc3luYyBmdW5jdGlvbiBnZXRYUmVmU3RyZWFtVGFibGUoZSx0LGksYSxzKXtjb25zdCByPVtdO2xldCBuPTAsZz0wO2Zvcihjb25zdHtyZWY6ZSxkYXRhOmF9b2YgaSl7bGV0IGk7bj1NYXRoLm1heChuLHQpO2lmKG51bGwhPT1hKXtpPU1hdGgubWluKGUuZ2VuLDY1NTM1KTtyLnB1c2goWzEsdCxpXSk7dCs9YS5sZW5ndGh9ZWxzZXtpPU1hdGgubWluKGUuZ2VuKzEsNjU1MzUpO3IucHVzaChbMCwwLGldKX1nPU1hdGgubWF4KGcsaSl9YS5zZXQoIkluZGV4IixnZXRJbmRleGVzKGkpKTtjb25zdCBvPVsxLGdldFNpemVJbkJ5dGVzKG4pLGdldFNpemVJbkJ5dGVzKGcpXTthLnNldCgiVyIsbyk7Y29tcHV0ZUlEcyh0LGUsYSk7Y29uc3QgYz1vLnJlZHVjZSgoKGUsdCk9PmUrdCksMCksQz1uZXcgVWludDhBcnJheShjKnIubGVuZ3RoKSxoPW5ldyBTdHJlYW0oQyk7aC5kaWN0PWE7bGV0IGw9MDtmb3IoY29uc3RbZSx0LGldb2Ygcil7bD13cml0ZUludChlLG9bMF0sbCxDKTtsPXdyaXRlSW50KHQsb1sxXSxsLEMpO2w9d3JpdGVJbnQoaSxvWzJdLGwsQyl9YXdhaXQgd3JpdGVPYmplY3QoZS5uZXdSZWYsaCxzLHt9KTtzLnB1c2goInN0YXJ0eHJlZlxuIix0LnRvU3RyaW5nKCksIlxuJSVFT0ZcbiIpfSh0LFEsaSx1LGwpOmFzeW5jIGZ1bmN0aW9uIGdldFhSZWZUYWJsZShlLHQsaSxhLHMpe3MucHVzaCgieHJlZlxuIik7Y29uc3Qgcj1nZXRJbmRleGVzKGkpO2xldCBuPTA7Zm9yKGNvbnN0e3JlZjplLGRhdGE6YX1vZiBpKXtpZihlLm51bT09PXJbbl0pe3MucHVzaChgJHtyW25dfSAke3JbbisxXX1cbmApO24rPTJ9aWYobnVsbCE9PWEpe3MucHVzaChgJHt0LnRvU3RyaW5nKCkucGFkU3RhcnQoMTAsIjAiKX0gJHtNYXRoLm1pbihlLmdlbiw2NTUzNSkudG9TdHJpbmcoKS5wYWRTdGFydCg1LCIwIil9IG5cclxuYCk7dCs9YS5sZW5ndGh9ZWxzZSBzLnB1c2goYDAwMDAwMDAwMDAgJHtNYXRoLm1pbihlLmdlbisxLDY1NTM1KS50b1N0cmluZygpLnBhZFN0YXJ0KDUsIjAiKX0gZlxyXG5gKX1jb21wdXRlSURzKHQsZSxhKTtzLnB1c2goInRyYWlsZXJcbiIpO2F3YWl0IHdyaXRlRGljdChhLHMpO3MucHVzaCgiXG5zdGFydHhyZWZcbiIsdC50b1N0cmluZygpLCJcbiUlRU9GXG4iKX0odCxRLGksdSxsKSk7Y29uc3QgZD1sLnJlZHVjZSgoKGUsdCk9PmUrdC5sZW5ndGgpLGUubGVuZ3RoKSxmPW5ldyBVaW50OEFycmF5KGQpO2Yuc2V0KGUpO2xldCBwPWUubGVuZ3RoO2Zvcihjb25zdCBlIG9mIGwpe3dyaXRlU3RyaW5nKGUscCxmKTtwKz1lLmxlbmd0aH1yZXR1cm4gZn1jb25zdCBxcz0xLE9zPTIsV3M9Myxqcz00LFhzPTU7Y2xhc3MgU3RydWN0VHJlZVJvb3R7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmRpY3Q9ZTt0aGlzLnJlZj10IGluc3RhbmNlb2YgUmVmP3Q6bnVsbDt0aGlzLnJvbGVNYXA9bmV3IE1hcDt0aGlzLnN0cnVjdFBhcmVudElkcz1udWxsfWluaXQoKXt0aGlzLnJlYWRSb2xlTWFwKCl9I1koZSx0LGkpe2lmKCEoZSBpbnN0YW5jZW9mIFJlZil8fHQ8MClyZXR1cm47dGhpcy5zdHJ1Y3RQYXJlbnRJZHN8fD1uZXcgUmVmU2V0Q2FjaGU7bGV0IGE9dGhpcy5zdHJ1Y3RQYXJlbnRJZHMuZ2V0KGUpO2lmKCFhKXthPVtdO3RoaXMuc3RydWN0UGFyZW50SWRzLnB1dChlLGEpfWEucHVzaChbdCxpXSl9YWRkQW5ub3RhdGlvbklkVG9QYWdlKGUsdCl7dGhpcy4jWShlLHQsanMpfXJlYWRSb2xlTWFwKCl7Y29uc3QgZT10aGlzLmRpY3QuZ2V0KCJSb2xlTWFwIik7ZSBpbnN0YW5jZW9mIERpY3QmJmUuZm9yRWFjaCgoKGUsdCk9Pnt0IGluc3RhbmNlb2YgTmFtZSYmdGhpcy5yb2xlTWFwLnNldChlLHQubmFtZSl9KSl9c3RhdGljIGFzeW5jIGNhbkNyZWF0ZVN0cnVjdHVyZVRyZWUoe2NhdGFsb2dSZWY6ZSxwZGZNYW5hZ2VyOnQsbmV3QW5ub3RhdGlvbnNCeVBhZ2U6aX0pe2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpe3dhcm4oIkNhbm5vdCBzYXZlIHRoZSBzdHJ1Y3QgdHJlZTogbm8gY2F0YWxvZyByZWZlcmVuY2UuIik7cmV0dXJuITF9bGV0IGE9MCxzPSEwO2Zvcihjb25zdFtlLHJdb2YgaSl7Y29uc3R7cmVmOml9PWF3YWl0IHQuZ2V0UGFnZShlKTtpZighKGkgaW5zdGFuY2VvZiBSZWYpKXt3YXJuKGBDYW5ub3Qgc2F2ZSB0aGUgc3RydWN0IHRyZWU6IHBhZ2UgJHtlfSBoYXMgbm8gcmVmLmApO3M9ITA7YnJlYWt9Zm9yKGNvbnN0IGUgb2YgcilpZihlLmFjY2Vzc2liaWxpdHlEYXRhPy50eXBlKXtlLnBhcmVudFRyZWVJZD1hKys7cz0hMX19aWYocyl7Zm9yKGNvbnN0IGUgb2YgaS52YWx1ZXMoKSlmb3IoY29uc3QgdCBvZiBlKWRlbGV0ZSB0LnBhcmVudFRyZWVJZDtyZXR1cm4hMX1yZXR1cm4hMH1zdGF0aWMgYXN5bmMgY3JlYXRlU3RydWN0dXJlVHJlZSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSx4cmVmOnQsY2F0YWxvZ1JlZjppLHBkZk1hbmFnZXI6YSxuZXdSZWZzOnN9KXtjb25zdCByPWEuY2F0YWxvZy5jbG9uZURpY3QoKSxuPW5ldyBSZWZTZXRDYWNoZTtuLnB1dChpLHIpO2NvbnN0IGc9dC5nZXROZXdUZW1wb3JhcnlSZWYoKTtyLnNldCgiU3RydWN0VHJlZVJvb3QiLGcpO2NvbnN0IG89bmV3IERpY3QodCk7by5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJTdHJ1Y3RUcmVlUm9vdCIpKTtjb25zdCBjPXQuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7by5zZXQoIlBhcmVudFRyZWUiLGMpO2NvbnN0IEM9W107by5zZXQoIksiLEMpO24ucHV0KGcsbyk7Y29uc3QgaD1uZXcgRGljdCh0KSxsPVtdO2guc2V0KCJOdW1zIixsKTtjb25zdCBRPWF3YWl0IHRoaXMuI3Yoe25ld0Fubm90YXRpb25zQnlQYWdlOmUsc3RydWN0VHJlZVJvb3RSZWY6ZyxzdHJ1Y3RUcmVlUm9vdDpudWxsLGtpZHM6QyxudW1zOmwseHJlZjp0LHBkZk1hbmFnZXI6YSxuZXdSZWZzOnMsY2FjaGU6bn0pO28uc2V0KCJQYXJlbnRUcmVlTmV4dEtleSIsUSk7bi5wdXQoYyxoKTtjb25zdCBFPVtdO2Zvcihjb25zdFtlLGldb2Ygbi5pdGVtcygpKXtFLmxlbmd0aD0wO2F3YWl0IHdyaXRlT2JqZWN0KGUsaSxFLHQpO3MucHVzaCh7cmVmOmUsZGF0YTpFLmpvaW4oIiIpfSl9fWFzeW5jIGNhblVwZGF0ZVN0cnVjdFRyZWUoe3BkZk1hbmFnZXI6ZSx4cmVmOnQsbmV3QW5ub3RhdGlvbnNCeVBhZ2U6aX0pe2lmKCF0aGlzLnJlZil7d2FybigiQ2Fubm90IHVwZGF0ZSB0aGUgc3RydWN0IHRyZWU6IG5vIHJvb3QgcmVmZXJlbmNlLiIpO3JldHVybiExfWxldCBhPXRoaXMuZGljdC5nZXQoIlBhcmVudFRyZWVOZXh0S2V5Iik7aWYoIU51bWJlci5pc0ludGVnZXIoYSl8fGE8MCl7d2FybigiQ2Fubm90IHVwZGF0ZSB0aGUgc3RydWN0IHRyZWU6IGludmFsaWQgbmV4dCBrZXkuIik7cmV0dXJuITF9Y29uc3Qgcz10aGlzLmRpY3QuZ2V0KCJQYXJlbnRUcmVlIik7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpe3dhcm4oIkNhbm5vdCB1cGRhdGUgdGhlIHN0cnVjdCB0cmVlOiBQYXJlbnRUcmVlIGlzbid0IGEgZGljdC4iKTtyZXR1cm4hMX1jb25zdCByPXMuZ2V0KCJOdW1zIik7aWYoIUFycmF5LmlzQXJyYXkocikpe3dhcm4oIkNhbm5vdCB1cGRhdGUgdGhlIHN0cnVjdCB0cmVlOiBudW1zIGlzbid0IGFuIGFycmF5LiIpO3JldHVybiExfWNvbnN0IG49bmV3IE51bWJlclRyZWUocyx0KTtmb3IoY29uc3QgdCBvZiBpLmtleXMoKSl7Y29uc3R7cGFnZURpY3Q6aX09YXdhaXQgZS5nZXRQYWdlKHQpO2lmKCFpLmhhcygiU3RydWN0UGFyZW50cyIpKWNvbnRpbnVlO2NvbnN0IGE9aS5nZXQoIlN0cnVjdFBhcmVudHMiKTtpZighTnVtYmVyLmlzSW50ZWdlcihhKXx8IUFycmF5LmlzQXJyYXkobi5nZXQoYSkpKXt3YXJuKGBDYW5ub3Qgc2F2ZSB0aGUgc3RydWN0IHRyZWU6IHBhZ2UgJHt0fSBoYXMgYSB3cm9uZyBpZC5gKTtyZXR1cm4hMX19bGV0IGc9ITA7Zm9yKGNvbnN0W3Qsc11vZiBpKXtjb25zdHtwYWdlRGljdDppfT1hd2FpdCBlLmdldFBhZ2UodCk7U3RydWN0VHJlZVJvb3QuI0soe2VsZW1lbnRzOnMseHJlZjp0aGlzLmRpY3QueHJlZixwYWdlRGljdDppLG51bWJlclRyZWU6bn0pO2Zvcihjb25zdCBlIG9mIHMpaWYoZS5hY2Nlc3NpYmlsaXR5RGF0YT8udHlwZSl7ZS5hY2Nlc3NpYmlsaXR5RGF0YS5zdHJ1Y3RQYXJlbnQ+PTB8fChlLnBhcmVudFRyZWVJZD1hKyspO2c9ITF9fWlmKGcpe2Zvcihjb25zdCBlIG9mIGkudmFsdWVzKCkpZm9yKGNvbnN0IHQgb2YgZSl7ZGVsZXRlIHQucGFyZW50VHJlZUlkO2RlbGV0ZSB0LnN0cnVjdFRyZWVQYXJlbnR9cmV0dXJuITF9cmV0dXJuITB9YXN5bmMgdXBkYXRlU3RydWN0dXJlVHJlZSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxwZGZNYW5hZ2VyOnQsbmV3UmVmczppfSl7Y29uc3QgYT10aGlzLmRpY3QueHJlZixzPXRoaXMuZGljdC5jbG9uZSgpLHI9dGhpcy5yZWYsbj1uZXcgUmVmU2V0Q2FjaGU7bi5wdXQocixzKTtsZXQgZyxvPXMuZ2V0UmF3KCJQYXJlbnRUcmVlIik7aWYobyBpbnN0YW5jZW9mIFJlZilnPWEuZmV0Y2gobyk7ZWxzZXtnPW87bz1hLmdldE5ld1RlbXBvcmFyeVJlZigpO3Muc2V0KCJQYXJlbnRUcmVlIixvKX1nPWcuY2xvbmUoKTtuLnB1dChvLGcpO2xldCBjPWcuZ2V0UmF3KCJOdW1zIiksQz1udWxsO2lmKGMgaW5zdGFuY2VvZiBSZWYpe0M9YztjPWEuZmV0Y2goQyl9Yz1jLnNsaWNlKCk7Q3x8Zy5zZXQoIk51bXMiLGMpO2NvbnN0IGg9YXdhaXQgU3RydWN0VHJlZVJvb3QuI3Yoe25ld0Fubm90YXRpb25zQnlQYWdlOmUsc3RydWN0VHJlZVJvb3RSZWY6cixzdHJ1Y3RUcmVlUm9vdDp0aGlzLGtpZHM6bnVsbCxudW1zOmMseHJlZjphLHBkZk1hbmFnZXI6dCxuZXdSZWZzOmksY2FjaGU6bn0pO2lmKC0xPT09aClyZXR1cm47cy5zZXQoIlBhcmVudFRyZWVOZXh0S2V5IixoKTtDJiZuLnB1dChDLGMpO2NvbnN0IGw9W107Zm9yKGNvbnN0W2UsdF1vZiBuLml0ZW1zKCkpe2wubGVuZ3RoPTA7YXdhaXQgd3JpdGVPYmplY3QoZSx0LGwsYSk7aS5wdXNoKHtyZWY6ZSxkYXRhOmwuam9pbigiIil9KX19c3RhdGljIGFzeW5jI3Yoe25ld0Fubm90YXRpb25zQnlQYWdlOmUsc3RydWN0VHJlZVJvb3RSZWY6dCxzdHJ1Y3RUcmVlUm9vdDppLGtpZHM6YSxudW1zOnMseHJlZjpyLHBkZk1hbmFnZXI6bixuZXdSZWZzOmcsY2FjaGU6b30pe2NvbnN0IGM9TmFtZS5nZXQoIk9CSlIiKTtsZXQgQyxoPS0xO2NvbnN0IGw9W107Zm9yKGNvbnN0W1EsRV1vZiBlKXtjb25zdCBlPWF3YWl0IG4uZ2V0UGFnZShRKSx7cmVmOnV9PWUsZD11IGluc3RhbmNlb2YgUmVmO2Zvcihjb25zdHthY2Nlc3NpYmlsaXR5RGF0YTpuLHJlZjpmLHBhcmVudFRyZWVJZDpwLHN0cnVjdFRyZWVQYXJlbnQ6bX1vZiBFKXtpZighbj8udHlwZSljb250aW51ZTtjb25zdHtzdHJ1Y3RQYXJlbnQ6RX09bjtpZihpJiZOdW1iZXIuaXNJbnRlZ2VyKEUpJiZFPj0wKXtsZXQgdD0oQ3x8PW5ldyBNYXApLmdldChRKTtpZih2b2lkIDA9PT10KXt0PW5ldyBTdHJ1Y3RUcmVlUGFnZShpLGUucGFnZURpY3QpLmNvbGxlY3RPYmplY3RzKHUpO0Muc2V0KFEsdCl9Y29uc3QgYT10Py5nZXQoRSk7aWYoYSl7Y29uc3QgZT1yLmZldGNoKGEpLmNsb25lKCk7U3RydWN0VHJlZVJvb3QuI1QoZSxuKTtsLmxlbmd0aD0wO2F3YWl0IHdyaXRlT2JqZWN0KGEsZSxsLHIpO2cucHVzaCh7cmVmOmEsZGF0YTpsLmpvaW4oIiIpfSk7Y29udGludWV9fWg9TWF0aC5tYXgoaCxwKTtjb25zdCB5PXIuZ2V0TmV3VGVtcG9yYXJ5UmVmKCksdz1uZXcgRGljdChyKTtTdHJ1Y3RUcmVlUm9vdC4jVCh3LG4pO2F3YWl0IHRoaXMuI3Eoe3N0cnVjdFRyZWVQYXJlbnQ6bSx0YWdEaWN0OncsbmV3VGFnUmVmOnksc3RydWN0VHJlZVJvb3RSZWY6dCxmYWxsYmFja0tpZHM6YSx4cmVmOnIsY2FjaGU6b30pO2NvbnN0IEQ9bmV3IERpY3Qocik7dy5zZXQoIksiLEQpO0Quc2V0KCJUeXBlIixjKTtkJiZELnNldCgiUGciLHUpO0Quc2V0KCJPYmoiLGYpO28ucHV0KHksdyk7cy5wdXNoKHAseSl9fXJldHVybiBoKzF9c3RhdGljI1QoZSx7dHlwZTp0LHRpdGxlOmksbGFuZzphLGFsdDpzLGV4cGFuZGVkOnIsYWN0dWFsVGV4dDpufSl7ZS5zZXQoIlMiLE5hbWUuZ2V0KHQpKTtpJiZlLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShpKSk7YSYmZS5zZXQoIkxhbmciLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoYSkpO3MmJmUuc2V0KCJBbHQiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUocykpO3ImJmUuc2V0KCJFIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKHIpKTtuJiZlLnNldCgiQWN0dWFsVGV4dCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShuKSl9c3RhdGljI0soe2VsZW1lbnRzOmUseHJlZjp0LHBhZ2VEaWN0OmksbnVtYmVyVHJlZTphfSl7Y29uc3Qgcz1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIGUpaWYodC5zdHJ1Y3RUcmVlUGFyZW50SWQpe2NvbnN0IGU9cGFyc2VJbnQodC5zdHJ1Y3RUcmVlUGFyZW50SWQuc3BsaXQoIl9tYyIpWzFdLDEwKTtsZXQgaT1zLmdldChlKTtpZighaSl7aT1bXTtzLnNldChlLGkpfWkucHVzaCh0KX1jb25zdCByPWkuZ2V0KCJTdHJ1Y3RQYXJlbnRzIik7aWYoIU51bWJlci5pc0ludGVnZXIocikpcmV0dXJuO2NvbnN0IG49YS5nZXQociksdXBkYXRlRWxlbWVudD0oZSxpLGEpPT57Y29uc3Qgcj1zLmdldChlKTtpZihyKXtjb25zdCBlPWkuZ2V0UmF3KCJQIikscz10LmZldGNoSWZSZWYoZSk7aWYoZSBpbnN0YW5jZW9mIFJlZiYmcyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9e3JlZjphLGRpY3Q6aX07Zm9yKGNvbnN0IHQgb2Ygcil0LnN0cnVjdFRyZWVQYXJlbnQ9ZX1yZXR1cm4hMH1yZXR1cm4hMX07Zm9yKGNvbnN0IGUgb2Ygbil7aWYoIShlIGluc3RhbmNlb2YgUmVmKSljb250aW51ZTtjb25zdCBpPXQuZmV0Y2goZSksYT1pLmdldCgiSyIpO2lmKE51bWJlci5pc0ludGVnZXIoYSkpdXBkYXRlRWxlbWVudChhLGksZSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWZvcihsZXQgcyBvZiBhKXtzPXQuZmV0Y2hJZlJlZihzKTtpZihOdW1iZXIuaXNJbnRlZ2VyKHMpJiZ1cGRhdGVFbGVtZW50KHMsaSxlKSlicmVhaztpZighKHMgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtpZighaXNOYW1lKHMuZ2V0KCJUeXBlIiksIk1DUiIpKWJyZWFrO2NvbnN0IGE9cy5nZXQoIk1DSUQiKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpJiZ1cGRhdGVFbGVtZW50KGEsaSxlKSlicmVha319fXN0YXRpYyBhc3luYyNxKHtzdHJ1Y3RUcmVlUGFyZW50OmUsdGFnRGljdDp0LG5ld1RhZ1JlZjppLHN0cnVjdFRyZWVSb290UmVmOmEsZmFsbGJhY2tLaWRzOnMseHJlZjpyLGNhY2hlOm59KXtsZXQgZyxvPW51bGw7aWYoZSl7KHtyZWY6b309ZSk7Zz1lLmRpY3QuZ2V0UmF3KCJQIil8fGF9ZWxzZSBnPWE7dC5zZXQoIlAiLGcpO2NvbnN0IGM9ci5mZXRjaElmUmVmKGcpO2lmKCFjKXtzLnB1c2goaSk7cmV0dXJufWxldCBDPW4uZ2V0KGcpO2lmKCFDKXtDPWMuY2xvbmUoKTtuLnB1dChnLEMpfWNvbnN0IGg9Qy5nZXRSYXcoIksiKTtsZXQgbD1oIGluc3RhbmNlb2YgUmVmP24uZ2V0KGgpOm51bGw7aWYoIWwpe2w9ci5mZXRjaElmUmVmKGgpO2w9QXJyYXkuaXNBcnJheShsKT9sLnNsaWNlKCk6W2hdO2NvbnN0IGU9ci5nZXROZXdUZW1wb3JhcnlSZWYoKTtDLnNldCgiSyIsZSk7bi5wdXQoZSxsKX1jb25zdCBRPWwuaW5kZXhPZihvKTtsLnNwbGljZShRPj0wP1ErMTpsLmxlbmd0aCwwLGkpfX1jbGFzcyBTdHJ1Y3RFbGVtZW50Tm9kZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMudHJlZT1lO3RoaXMuZGljdD10O3RoaXMua2lkcz1bXTt0aGlzLnBhcnNlS2lkcygpfWdldCByb2xlKCl7Y29uc3QgZT10aGlzLmRpY3QuZ2V0KCJTIiksdD1lIGluc3RhbmNlb2YgTmFtZT9lLm5hbWU6IiIse3Jvb3Q6aX09dGhpcy50cmVlO3JldHVybiBpLnJvbGVNYXAuaGFzKHQpP2kucm9sZU1hcC5nZXQodCk6dH1wYXJzZUtpZHMoKXtsZXQgZT1udWxsO2NvbnN0IHQ9dGhpcy5kaWN0LmdldFJhdygiUGciKTt0IGluc3RhbmNlb2YgUmVmJiYoZT10LnRvU3RyaW5nKCkpO2NvbnN0IGk9dGhpcy5kaWN0LmdldCgiSyIpO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGNvbnN0IHQgb2YgaSl7Y29uc3QgaT10aGlzLnBhcnNlS2lkKGUsdCk7aSYmdGhpcy5raWRzLnB1c2goaSl9ZWxzZXtjb25zdCB0PXRoaXMucGFyc2VLaWQoZSxpKTt0JiZ0aGlzLmtpZHMucHVzaCh0KX19cGFyc2VLaWQoZSx0KXtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXJldHVybiB0aGlzLnRyZWUucGFnZURpY3Qub2JqSWQhPT1lP251bGw6bmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6cXMsbWNpZDp0LHBhZ2VPYmpJZDplfSk7bGV0IGk9bnVsbDt0IGluc3RhbmNlb2YgUmVmP2k9dGhpcy5kaWN0LnhyZWYuZmV0Y2godCk6dCBpbnN0YW5jZW9mIERpY3QmJihpPXQpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IGE9aS5nZXRSYXcoIlBnIik7YSBpbnN0YW5jZW9mIFJlZiYmKGU9YS50b1N0cmluZygpKTtjb25zdCBzPWkuZ2V0KCJUeXBlIilpbnN0YW5jZW9mIE5hbWU/aS5nZXQoIlR5cGUiKS5uYW1lOm51bGw7aWYoIk1DUiI9PT1zKXtpZih0aGlzLnRyZWUucGFnZURpY3Qub2JqSWQhPT1lKXJldHVybiBudWxsO2NvbnN0IHQ9aS5nZXRSYXcoIlN0bSIpO3JldHVybiBuZXcgU3RydWN0RWxlbWVudCh7dHlwZTpPcyxyZWZPYmpJZDp0IGluc3RhbmNlb2YgUmVmP3QudG9TdHJpbmcoKTpudWxsLHBhZ2VPYmpJZDplLG1jaWQ6aS5nZXQoIk1DSUQiKX0pfWlmKCJPQkpSIj09PXMpe2lmKHRoaXMudHJlZS5wYWdlRGljdC5vYmpJZCE9PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1pLmdldFJhdygiT2JqIik7cmV0dXJuIG5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOldzLHJlZk9iaklkOnQgaW5zdGFuY2VvZiBSZWY/dC50b1N0cmluZygpOm51bGwscGFnZU9iaklkOmV9KX1yZXR1cm4gbmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6WHMsZGljdDppfSl9fWNsYXNzIFN0cnVjdEVsZW1lbnR7Y29uc3RydWN0b3Ioe3R5cGU6ZSxkaWN0OnQ9bnVsbCxtY2lkOmk9bnVsbCxwYWdlT2JqSWQ6YT1udWxsLHJlZk9iaklkOnM9bnVsbH0pe3RoaXMudHlwZT1lO3RoaXMuZGljdD10O3RoaXMubWNpZD1pO3RoaXMucGFnZU9iaklkPWE7dGhpcy5yZWZPYmpJZD1zO3RoaXMucGFyZW50Tm9kZT1udWxsfX1jbGFzcyBTdHJ1Y3RUcmVlUGFnZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMucm9vdD1lO3RoaXMucm9vdERpY3Q9ZT9lLmRpY3Q6bnVsbDt0aGlzLnBhZ2VEaWN0PXQ7dGhpcy5ub2Rlcz1bXX1jb2xsZWN0T2JqZWN0cyhlKXtpZighKHRoaXMucm9vdCYmdGhpcy5yb290RGljdCYmZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLnJvb3REaWN0LmdldCgiUGFyZW50VHJlZSIpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5yb290LnN0cnVjdFBhcmVudElkcz8uZ2V0KGUpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IGE9bmV3IE1hcCxzPW5ldyBOdW1iZXJUcmVlKHQsdGhpcy5yb290RGljdC54cmVmKTtmb3IoY29uc3RbZV1vZiBpKXtjb25zdCB0PXMuZ2V0UmF3KGUpO3QgaW5zdGFuY2VvZiBSZWYmJmEuc2V0KGUsdCl9cmV0dXJuIGF9cGFyc2UoZSl7aWYoISh0aGlzLnJvb3QmJnRoaXMucm9vdERpY3QmJmUgaW5zdGFuY2VvZiBSZWYpKXJldHVybjtjb25zdCB0PXRoaXMucm9vdERpY3QuZ2V0KCJQYXJlbnRUcmVlIik7aWYoIXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5wYWdlRGljdC5nZXQoIlN0cnVjdFBhcmVudHMiKSxhPXRoaXMucm9vdC5zdHJ1Y3RQYXJlbnRJZHM/LmdldChlKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKSYmIWEpcmV0dXJuO2NvbnN0IHM9bmV3IE1hcCxyPW5ldyBOdW1iZXJUcmVlKHQsdGhpcy5yb290RGljdC54cmVmKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGkpKXtjb25zdCBlPXIuZ2V0KGkpO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGNvbnN0IHQgb2YgZSl0IGluc3RhbmNlb2YgUmVmJiZ0aGlzLmFkZE5vZGUodGhpcy5yb290RGljdC54cmVmLmZldGNoKHQpLHMpfWlmKGEpZm9yKGNvbnN0W2UsdF1vZiBhKXtjb25zdCBpPXIuZ2V0KGUpO2lmKGkpe2NvbnN0IGU9dGhpcy5hZGROb2RlKHRoaXMucm9vdERpY3QueHJlZi5mZXRjaElmUmVmKGkpLHMpOzE9PT1lPy5raWRzPy5sZW5ndGgmJmUua2lkc1swXS50eXBlPT09V3MmJihlLmtpZHNbMF0udHlwZT10KX19fWFkZE5vZGUoZSx0LGk9MCl7aWYoaT40MCl7d2FybigiU3RydWN0VHJlZSBNQVhfREVQVEggcmVhY2hlZC4iKTtyZXR1cm4gbnVsbH1pZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtpZih0LmhhcyhlKSlyZXR1cm4gdC5nZXQoZSk7Y29uc3QgYT1uZXcgU3RydWN0RWxlbWVudE5vZGUodGhpcyxlKTt0LnNldChlLGEpO2NvbnN0IHM9ZS5nZXQoIlAiKTtpZighc3x8aXNOYW1lKHMuZ2V0KCJUeXBlIiksIlN0cnVjdFRyZWVSb290Iikpe3RoaXMuYWRkVG9wTGV2ZWxOb2RlKGUsYSl8fHQuZGVsZXRlKGUpO3JldHVybiBhfWNvbnN0IHI9dGhpcy5hZGROb2RlKHMsdCxpKzEpO2lmKCFyKXJldHVybiBhO2xldCBuPSExO2Zvcihjb25zdCB0IG9mIHIua2lkcylpZih0LnR5cGU9PT1YcyYmdC5kaWN0PT09ZSl7dC5wYXJlbnROb2RlPWE7bj0hMH1ufHx0LmRlbGV0ZShlKTtyZXR1cm4gYX1hZGRUb3BMZXZlbE5vZGUoZSx0KXtjb25zdCBpPXRoaXMucm9vdERpY3QuZ2V0KCJLIik7aWYoIWkpcmV0dXJuITE7aWYoaSBpbnN0YW5jZW9mIERpY3Qpe2lmKGkub2JqSWQhPT1lLm9iaklkKXJldHVybiExO3RoaXMubm9kZXNbMF09dDtyZXR1cm4hMH1pZighQXJyYXkuaXNBcnJheShpKSlyZXR1cm4hMDtsZXQgYT0hMTtmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKyl7Y29uc3Qgcj1pW3NdO2lmKHI/LnRvU3RyaW5nKCk9PT1lLm9iaklkKXt0aGlzLm5vZGVzW3NdPXQ7YT0hMH19cmV0dXJuIGF9Z2V0IHNlcmlhbGl6YWJsZSgpe2Z1bmN0aW9uIG5vZGVUb1NlcmlhbGl6YWJsZShlLHQsaT0wKXtpZihpPjQwKXt3YXJuKCJTdHJ1Y3RUcmVlIHRvbyBkZWVwIHRvIGJlIGZ1bGx5IHNlcmlhbGl6ZWQuIik7cmV0dXJufWNvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTthLnJvbGU9ZS5yb2xlO2EuY2hpbGRyZW49W107dC5jaGlsZHJlbi5wdXNoKGEpO2xldCBzPWUuZGljdC5nZXQoIkFsdCIpOyJzdHJpbmciIT10eXBlb2YgcyYmKHM9ZS5kaWN0LmdldCgiQWN0dWFsVGV4dCIpKTsic3RyaW5nIj09dHlwZW9mIHMmJihhLmFsdD1zdHJpbmdUb1BERlN0cmluZyhzKSk7Y29uc3Qgcj1lLmRpY3QuZ2V0KCJBIik7aWYociBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9bG9va3VwTm9ybWFsUmVjdChyLmdldEFycmF5KCJCQm94IiksbnVsbCk7aWYoZSlhLmJib3g9ZTtlbHNle2NvbnN0IGU9ci5nZXQoIldpZHRoIiksdD1yLmdldCgiSGVpZ2h0Iik7Im51bWJlciI9PXR5cGVvZiBlJiZlPjAmJiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYoYS5iYm94PVswLDAsZSx0XSl9fWNvbnN0IG49ZS5kaWN0LmdldCgiTGFuZyIpOyJzdHJpbmciPT10eXBlb2YgbiYmKGEubGFuZz1zdHJpbmdUb1BERlN0cmluZyhuKSk7Zm9yKGNvbnN0IHQgb2YgZS5raWRzKXtjb25zdCBlPXQudHlwZT09PVhzP3QucGFyZW50Tm9kZTpudWxsO2U/bm9kZVRvU2VyaWFsaXphYmxlKGUsYSxpKzEpOnQudHlwZT09PXFzfHx0LnR5cGU9PT1Pcz9hLmNoaWxkcmVuLnB1c2goe3R5cGU6ImNvbnRlbnQiLGlkOmBwJHt0LnBhZ2VPYmpJZH1fbWMke3QubWNpZH1gfSk6dC50eXBlPT09V3M/YS5jaGlsZHJlbi5wdXNoKHt0eXBlOiJvYmplY3QiLGlkOnQucmVmT2JqSWR9KTp0LnR5cGU9PT1qcyYmYS5jaGlsZHJlbi5wdXNoKHt0eXBlOiJhbm5vdGF0aW9uIixpZDpgcGRmanNfaW50ZXJuYWxfaWRfJHt0LnJlZk9iaklkfWB9KX19Y29uc3QgZT1PYmplY3QuY3JlYXRlKG51bGwpO2UuY2hpbGRyZW49W107ZS5yb2xlPSJSb290Ijtmb3IoY29uc3QgdCBvZiB0aGlzLm5vZGVzKXQmJm5vZGVUb1NlcmlhbGl6YWJsZSh0LGUpO3JldHVybiBlfX1mdW5jdGlvbiBpc1ZhbGlkRXhwbGljaXREZXN0KGUpe2lmKCFBcnJheS5pc0FycmF5KGUpfHxlLmxlbmd0aDwyKXJldHVybiExO2NvbnN0W3QsaSwuLi5hXT1lO2lmKCEodCBpbnN0YW5jZW9mIFJlZnx8TnVtYmVyLmlzSW50ZWdlcih0KSkpcmV0dXJuITE7aWYoIShpIGluc3RhbmNlb2YgTmFtZSkpcmV0dXJuITE7Y29uc3Qgcz1hLmxlbmd0aDtsZXQgcj0hMDtzd2l0Y2goaS5uYW1lKXtjYXNlIlhZWiI6aWYoczwyfHxzPjMpcmV0dXJuITE7YnJlYWs7Y2FzZSJGaXQiOmNhc2UiRml0QiI6cmV0dXJuIDA9PT1zO2Nhc2UiRml0SCI6Y2FzZSJGaXRCSCI6Y2FzZSJGaXRWIjpjYXNlIkZpdEJWIjppZihzPjEpcmV0dXJuITE7YnJlYWs7Y2FzZSJGaXRSIjppZig0IT09cylyZXR1cm4hMTtyPSExO2JyZWFrO2RlZmF1bHQ6cmV0dXJuITF9Zm9yKGNvbnN0IGUgb2YgYSlpZighKCJudW1iZXIiPT10eXBlb2YgZXx8ciYmbnVsbD09PWUpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGZldGNoRGVzdChlKXtlIGluc3RhbmNlb2YgRGljdCYmKGU9ZS5nZXQoIkQiKSk7cmV0dXJuIGlzVmFsaWRFeHBsaWNpdERlc3QoZSk/ZTpudWxsfWZ1bmN0aW9uIGZldGNoUmVtb3RlRGVzdChlKXtsZXQgdD1lLmdldCgiRCIpO2lmKHQpe3QgaW5zdGFuY2VvZiBOYW1lJiYodD10Lm5hbWUpO2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gc3RyaW5nVG9QREZTdHJpbmcodCk7aWYoaXNWYWxpZEV4cGxpY2l0RGVzdCh0KSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCl9cmV0dXJuIG51bGx9Y2xhc3MgQ2F0YWxvZ3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMucGRmTWFuYWdlcj1lO3RoaXMueHJlZj10O3RoaXMuX2NhdERpY3Q9dC5nZXRDYXRhbG9nT2JqKCk7aWYoISh0aGlzLl9jYXREaWN0IGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJDYXRhbG9nIG9iamVjdCBpcyBub3QgYSBkaWN0aW9uYXJ5LiIpO3RoaXMudG9wbGV2ZWxQYWdlc0RpY3Q7dGhpcy5fYWN0dWFsTnVtUGFnZXM9bnVsbDt0aGlzLmZvbnRDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5idWlsdEluQ01hcENhY2hlPW5ldyBNYXA7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGU9bmV3IE1hcDt0aGlzLmdsb2JhbEltYWdlQ2FjaGU9bmV3IEdsb2JhbEltYWdlQ2FjaGU7dGhpcy5wYWdlS2lkc0NvdW50Q2FjaGU9bmV3IFJlZlNldENhY2hlO3RoaXMucGFnZUluZGV4Q2FjaGU9bmV3IFJlZlNldENhY2hlO3RoaXMucGFnZURpY3RDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5ub25CbGVuZE1vZGVzU2V0PW5ldyBSZWZTZXQ7dGhpcy5zeXN0ZW1Gb250Q2FjaGU9bmV3IE1hcH1jbG9uZURpY3QoKXtyZXR1cm4gdGhpcy5fY2F0RGljdC5jbG9uZSgpfWdldCB2ZXJzaW9uKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiVmVyc2lvbiIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXtpZihTdC50ZXN0KGUubmFtZSkpcmV0dXJuIHNoYWRvdyh0aGlzLCJ2ZXJzaW9uIixlLm5hbWUpO3dhcm4oYEludmFsaWQgUERGIGNhdGFsb2cgdmVyc2lvbjogJHtlLm5hbWV9YCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2ZXJzaW9uIixudWxsKX1nZXQgbGFuZygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIkxhbmciKTtyZXR1cm4gc2hhZG93KHRoaXMsImxhbmciLGUmJiJzdHJpbmciPT10eXBlb2YgZT9zdHJpbmdUb1BERlN0cmluZyhlKTpudWxsKX1nZXQgbmVlZHNSZW5kZXJpbmcoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJOZWVkc1JlbmRlcmluZyIpO3JldHVybiBzaGFkb3codGhpcywibmVlZHNSZW5kZXJpbmciLCJib29sZWFuIj09dHlwZW9mIGUmJmUpfWdldCBjb2xsZWN0aW9uKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLl9jYXREaWN0LmdldCgiQ29sbGVjdGlvbiIpO3QgaW5zdGFuY2VvZiBEaWN0JiZ0LnNpemU+MCYmKGU9dCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbygiQ2Fubm90IGZldGNoIENvbGxlY3Rpb24gZW50cnk7IGFzc3VtaW5nIG5vIGNvbGxlY3Rpb24gaXMgcHJlc2VudC4iKX1yZXR1cm4gc2hhZG93KHRoaXMsImNvbGxlY3Rpb24iLGUpfWdldCBhY3JvRm9ybSgpe2xldCBlPW51bGw7dHJ5e2NvbnN0IHQ9dGhpcy5fY2F0RGljdC5nZXQoIkFjcm9Gb3JtIik7dCBpbnN0YW5jZW9mIERpY3QmJnQuc2l6ZT4wJiYoZT10KX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJDYW5ub3QgZmV0Y2ggQWNyb0Zvcm0gZW50cnk7IGFzc3VtaW5nIG5vIGZvcm1zIGFyZSBwcmVzZW50LiIpfXJldHVybiBzaGFkb3codGhpcywiYWNyb0Zvcm0iLGUpfWdldCBhY3JvRm9ybVJlZigpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIkFjcm9Gb3JtIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJhY3JvRm9ybVJlZiIsZSBpbnN0YW5jZW9mIFJlZj9lOm51bGwpfWdldCBtZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIk1ldGFkYXRhIik7aWYoIShlIGluc3RhbmNlb2YgUmVmKSlyZXR1cm4gc2hhZG93KHRoaXMsIm1ldGFkYXRhIixudWxsKTtsZXQgdD1udWxsO3RyeXtjb25zdCBpPXRoaXMueHJlZi5mZXRjaChlLCF0aGlzLnhyZWYuZW5jcnlwdD8uZW5jcnlwdE1ldGFkYXRhKTtpZihpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmaS5kaWN0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1pLmRpY3QuZ2V0KCJUeXBlIiksYT1pLmRpY3QuZ2V0KCJTdWJ0eXBlIik7aWYoaXNOYW1lKGUsIk1ldGFkYXRhIikmJmlzTmFtZShhLCJYTUwiKSl7Y29uc3QgZT1zdHJpbmdUb1VURjhTdHJpbmcoaS5nZXRTdHJpbmcoKSk7ZSYmKHQ9bmV3IE1ldGFkYXRhUGFyc2VyKGUpLnNlcmlhbGl6YWJsZSl9fX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKGBTa2lwcGluZyBpbnZhbGlkIE1ldGFkYXRhOiAiJHtlfSIuYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJtZXRhZGF0YSIsdCl9Z2V0IG1hcmtJbmZvKCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkTWFya0luZm8oKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBtYXJrIGluZm8uIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJtYXJrSW5mbyIsZSl9X3JlYWRNYXJrSW5mbygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk1hcmtJbmZvIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgdD17TWFya2VkOiExLFVzZXJQcm9wZXJ0aWVzOiExLFN1c3BlY3RzOiExfTtmb3IoY29uc3QgaSBpbiB0KXtjb25zdCBhPWUuZ2V0KGkpOyJib29sZWFuIj09dHlwZW9mIGEmJih0W2ldPWEpfXJldHVybiB0fWdldCBzdHJ1Y3RUcmVlUm9vdCgpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFN0cnVjdFRyZWVSb290KCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHJlYWQgdG8gc3RydWN0VHJlZVJvb3QgaW5mby4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInN0cnVjdFRyZWVSb290IixlKX1fcmVhZFN0cnVjdFRyZWVSb290KCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldFJhdygiU3RydWN0VHJlZVJvb3QiKSx0PXRoaXMueHJlZi5mZXRjaElmUmVmKGUpO2lmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2NvbnN0IGk9bmV3IFN0cnVjdFRyZWVSb290KHQsZSk7aS5pbml0KCk7cmV0dXJuIGl9Z2V0IHRvcGxldmVsUGFnZXNEaWN0KCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiUGFnZXMiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgdG9wLWxldmVsIHBhZ2VzIGRpY3Rpb25hcnkuIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJ0b3BsZXZlbFBhZ2VzRGljdCIsZSl9Z2V0IGRvY3VtZW50T3V0bGluZSgpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZERvY3VtZW50T3V0bGluZSgpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oIlVuYWJsZSB0byByZWFkIGRvY3VtZW50IG91dGxpbmUuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJkb2N1bWVudE91dGxpbmUiLGUpfV9yZWFkRG9jdW1lbnRPdXRsaW5lKCl7bGV0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk91dGxpbmVzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7ZT1lLmdldFJhdygiRmlyc3QiKTtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXJldHVybiBudWxsO2NvbnN0IHQ9e2l0ZW1zOltdfSxpPVt7b2JqOmUscGFyZW50OnR9XSxhPW5ldyBSZWZTZXQ7YS5wdXQoZSk7Y29uc3Qgcz10aGlzLnhyZWYscj1uZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7Zm9yKDtpLmxlbmd0aD4wOyl7Y29uc3QgdD1pLnNoaWZ0KCksbj1zLmZldGNoSWZSZWYodC5vYmopO2lmKG51bGw9PT1uKWNvbnRpbnVlO24uaGFzKCJUaXRsZSIpfHx3YXJuKCJJbnZhbGlkIG91dGxpbmUgaXRlbSBlbmNvdW50ZXJlZC4iKTtjb25zdCBnPXt1cmw6bnVsbCxkZXN0Om51bGwsYWN0aW9uOm51bGx9O0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6bixyZXN1bHRPYmo6Zyxkb2NCYXNlVXJsOnRoaXMuYmFzZVVybCxkb2NBdHRhY2htZW50czp0aGlzLmF0dGFjaG1lbnRzfSk7Y29uc3Qgbz1uLmdldCgiVGl0bGUiKSxjPW4uZ2V0KCJGIil8fDAsQz1uLmdldEFycmF5KCJDIiksaD1uLmdldCgiQ291bnQiKTtsZXQgbD1yOyFpc051bWJlckFycmF5KEMsMyl8fDA9PT1DWzBdJiYwPT09Q1sxXSYmMD09PUNbMl18fChsPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiKEMsMCkpO2NvbnN0IFE9e2FjdGlvbjpnLmFjdGlvbixhdHRhY2htZW50OmcuYXR0YWNobWVudCxkZXN0OmcuZGVzdCx1cmw6Zy51cmwsdW5zYWZlVXJsOmcudW5zYWZlVXJsLG5ld1dpbmRvdzpnLm5ld1dpbmRvdyxzZXRPQ0dTdGF0ZTpnLnNldE9DR1N0YXRlLHRpdGxlOiJzdHJpbmciPT10eXBlb2Ygbz9zdHJpbmdUb1BERlN0cmluZyhvKToiIixjb2xvcjpsLGNvdW50Ok51bWJlci5pc0ludGVnZXIoaCk/aDp2b2lkIDAsYm9sZDohISgyJmMpLGl0YWxpYzohISgxJmMpLGl0ZW1zOltdfTt0LnBhcmVudC5pdGVtcy5wdXNoKFEpO2U9bi5nZXRSYXcoIkZpcnN0Iik7aWYoZSBpbnN0YW5jZW9mIFJlZiYmIWEuaGFzKGUpKXtpLnB1c2goe29iajplLHBhcmVudDpRfSk7YS5wdXQoZSl9ZT1uLmdldFJhdygiTmV4dCIpO2lmKGUgaW5zdGFuY2VvZiBSZWYmJiFhLmhhcyhlKSl7aS5wdXNoKHtvYmo6ZSxwYXJlbnQ6dC5wYXJlbnR9KTthLnB1dChlKX19cmV0dXJuIHQuaXRlbXMubGVuZ3RoPjA/dC5pdGVtczpudWxsfWdldCBwZXJtaXNzaW9ucygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFBlcm1pc3Npb25zKCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHRvIHJlYWQgcGVybWlzc2lvbnMuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJwZXJtaXNzaW9ucyIsZSl9X3JlYWRQZXJtaXNzaW9ucygpe2NvbnN0IGU9dGhpcy54cmVmLnRyYWlsZXIuZ2V0KCJFbmNyeXB0Iik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7bGV0IHQ9ZS5nZXQoIlAiKTtpZigibnVtYmVyIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dCs9MioqMzI7Y29uc3QgaT1bXTtmb3IoY29uc3QgZSBpbiB5KXtjb25zdCBhPXlbZV07dCZhJiZpLnB1c2goYSl9cmV0dXJuIGl9Z2V0IG9wdGlvbmFsQ29udGVudENvbmZpZygpe2xldCBlPW51bGw7dHJ5e2NvbnN0IHQ9dGhpcy5fY2F0RGljdC5nZXQoIk9DUHJvcGVydGllcyIpO2lmKCF0KXJldHVybiBzaGFkb3codGhpcywib3B0aW9uYWxDb250ZW50Q29uZmlnIixudWxsKTtjb25zdCBpPXQuZ2V0KCJEIik7aWYoIWkpcmV0dXJuIHNoYWRvdyh0aGlzLCJvcHRpb25hbENvbnRlbnRDb25maWciLG51bGwpO2NvbnN0IGE9dC5nZXQoIk9DR3MiKTtpZighQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsbnVsbCk7Y29uc3Qgcz1uZXcgUmVmU2V0Q2FjaGU7Zm9yKGNvbnN0IGUgb2YgYSllIGluc3RhbmNlb2YgUmVmJiYhcy5oYXMoZSkmJnMucHV0KGUsdGhpcy4jTyhlKSk7ZT10aGlzLiNQKGkscyl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgVW5hYmxlIHRvIHJlYWQgb3B0aW9uYWwgY29udGVudCBjb25maWc6ICR7ZX1gKX1yZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsZSl9I08oZSl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2goZSksaT17aWQ6ZS50b1N0cmluZygpLG5hbWU6bnVsbCxpbnRlbnQ6bnVsbCx1c2FnZTp7cHJpbnQ6bnVsbCx2aWV3Om51bGx9LHJiR3JvdXBzOltdfSxhPXQuZ2V0KCJOYW1lIik7InN0cmluZyI9PXR5cGVvZiBhJiYoaS5uYW1lPXN0cmluZ1RvUERGU3RyaW5nKGEpKTtsZXQgcz10LmdldEFycmF5KCJJbnRlbnQiKTtBcnJheS5pc0FycmF5KHMpfHwocz1bc10pO3MuZXZlcnkoKGU9PmUgaW5zdGFuY2VvZiBOYW1lKSkmJihpLmludGVudD1zLm1hcCgoZT0+ZS5uYW1lKSkpO2NvbnN0IHI9dC5nZXQoIlVzYWdlIik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIGk7Y29uc3Qgbj1pLnVzYWdlLGc9ci5nZXQoIlByaW50Iik7aWYoZyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9Zy5nZXQoIlByaW50U3RhdGUiKTtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIk9OIjpjYXNlIk9GRiI6bi5wcmludD17cHJpbnRTdGF0ZTplLm5hbWV9fX1jb25zdCBvPXIuZ2V0KCJWaWV3Iik7aWYobyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9by5nZXQoIlZpZXdTdGF0ZSIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiT04iOmNhc2UiT0ZGIjpuLnZpZXc9e3ZpZXdTdGF0ZTplLm5hbWV9fX1yZXR1cm4gaX0jUChlLHQpe2Z1bmN0aW9uIHBhcnNlT25PZmYoZSl7Y29uc3QgaT1bXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihjb25zdCBhIG9mIGUpYSBpbnN0YW5jZW9mIFJlZiYmdC5oYXMoYSkmJmkucHVzaChhLnRvU3RyaW5nKCkpO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlT3JkZXIoZSxpPTApe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBudWxsO2NvbnN0IHM9W107Zm9yKGNvbnN0IHIgb2YgZSl7aWYociBpbnN0YW5jZW9mIFJlZiYmdC5oYXMocikpe2EucHV0KHIpO3MucHVzaChyLnRvU3RyaW5nKCkpO2NvbnRpbnVlfWNvbnN0IGU9cGFyc2VOZXN0ZWRPcmRlcihyLGkpO2UmJnMucHVzaChlKX1pZihpPjApcmV0dXJuIHM7Y29uc3Qgcj1bXTtmb3IoY29uc3RbZV1vZiB0Lml0ZW1zKCkpYS5oYXMoZSl8fHIucHVzaChlLnRvU3RyaW5nKCkpO3IubGVuZ3RoJiZzLnB1c2goe25hbWU6bnVsbCxvcmRlcjpyfSk7cmV0dXJuIHN9ZnVuY3Rpb24gcGFyc2VOZXN0ZWRPcmRlcihlLHQpe2lmKCsrdD5zKXt3YXJuKCJwYXJzZU5lc3RlZE9yZGVyIC0gcmVhY2hlZCBNQVhfTkVTVEVEX0xFVkVMUy4iKTtyZXR1cm4gbnVsbH1jb25zdCBhPWkuZmV0Y2hJZlJlZihlKTtpZighQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gbnVsbDtjb25zdCByPWkuZmV0Y2hJZlJlZihhWzBdKTtpZigic3RyaW5nIiE9dHlwZW9mIHIpcmV0dXJuIG51bGw7Y29uc3Qgbj1wYXJzZU9yZGVyKGEuc2xpY2UoMSksdCk7cmV0dXJuIG4mJm4ubGVuZ3RoP3tuYW1lOnN0cmluZ1RvUERGU3RyaW5nKHIpLG9yZGVyOm59Om51bGx9Y29uc3QgaT10aGlzLnhyZWYsYT1uZXcgUmVmU2V0LHM9MTA7IWZ1bmN0aW9uIHBhcnNlUkJHcm91cHMoZSl7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWkuZmV0Y2hJZlJlZihhKTtpZighQXJyYXkuaXNBcnJheShlKXx8IWUubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IHM9bmV3IFNldDtmb3IoY29uc3QgaSBvZiBlKWlmKGkgaW5zdGFuY2VvZiBSZWYmJnQuaGFzKGkpJiYhcy5oYXMoaS50b1N0cmluZygpKSl7cy5hZGQoaS50b1N0cmluZygpKTt0LmdldChpKS5yYkdyb3Vwcy5wdXNoKHMpfX19KGUuZ2V0KCJSQkdyb3VwcyIpKTtyZXR1cm57bmFtZToic3RyaW5nIj09dHlwZW9mIGUuZ2V0KCJOYW1lIik/c3RyaW5nVG9QREZTdHJpbmcoZS5nZXQoIk5hbWUiKSk6bnVsbCxjcmVhdG9yOiJzdHJpbmciPT10eXBlb2YgZS5nZXQoIkNyZWF0b3IiKT9zdHJpbmdUb1BERlN0cmluZyhlLmdldCgiQ3JlYXRvciIpKTpudWxsLGJhc2VTdGF0ZTplLmdldCgiQmFzZVN0YXRlIilpbnN0YW5jZW9mIE5hbWU/ZS5nZXQoIkJhc2VTdGF0ZSIpLm5hbWU6bnVsbCxvbjpwYXJzZU9uT2ZmKGUuZ2V0KCJPTiIpKSxvZmY6cGFyc2VPbk9mZihlLmdldCgiT0ZGIikpLG9yZGVyOnBhcnNlT3JkZXIoZS5nZXQoIk9yZGVyIikpLGdyb3VwczpbLi4udF19fXNldEFjdHVhbE51bVBhZ2VzKGU9bnVsbCl7dGhpcy5fYWN0dWFsTnVtUGFnZXM9ZX1nZXQgaGFzQWN0dWFsTnVtUGFnZXMoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdHVhbE51bVBhZ2VzfWdldCBfcGFnZXNDb3VudCgpe2NvbnN0IGU9dGhpcy50b3BsZXZlbFBhZ2VzRGljdC5nZXQoIkNvdW50Iik7aWYoIU51bWJlci5pc0ludGVnZXIoZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGNvdW50IGluIHRvcC1sZXZlbCBwYWdlcyBkaWN0aW9uYXJ5IGlzIG5vdCBhbiBpbnRlZ2VyLiIpO3JldHVybiBzaGFkb3codGhpcywiX3BhZ2VzQ291bnQiLGUpfWdldCBudW1QYWdlcygpe3JldHVybiB0aGlzLmhhc0FjdHVhbE51bVBhZ2VzP3RoaXMuX2FjdHVhbE51bVBhZ2VzOnRoaXMuX3BhZ2VzQ291bnR9Z2V0IGRlc3RpbmF0aW9ucygpe2NvbnN0IGU9dGhpcy5fcmVhZERlc3RzKCksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBOYW1lVHJlZSlmb3IoY29uc3RbaSxhXW9mIGUuZ2V0QWxsKCkpe2NvbnN0IGU9ZmV0Y2hEZXN0KGEpO2UmJih0W3N0cmluZ1RvUERGU3RyaW5nKGkpXT1lKX1lbHNlIGUgaW5zdGFuY2VvZiBEaWN0JiZlLmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7Y29uc3QgYT1mZXRjaERlc3QoaSk7YSYmKHRbZV09YSl9KSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJkZXN0aW5hdGlvbnMiLHQpfWdldERlc3RpbmF0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcmVhZERlc3RzKCk7aWYodCBpbnN0YW5jZW9mIE5hbWVUcmVlKXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaTtjb25zdCBhPXRoaXMuZGVzdGluYXRpb25zW2VdO2lmKGEpe3dhcm4oYEZvdW5kICIke2V9IiBhdCBhbiBpbmNvcnJlY3QgcG9zaXRpb24gaW4gdGhlIE5hbWVUcmVlLmApO3JldHVybiBhfX1lbHNlIGlmKHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaX1yZXR1cm4gbnVsbH1fcmVhZERlc3RzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtyZXR1cm4gZT8uaGFzKCJEZXN0cyIpP25ldyBOYW1lVHJlZShlLmdldFJhdygiRGVzdHMiKSx0aGlzLnhyZWYpOnRoaXMuX2NhdERpY3QuaGFzKCJEZXN0cyIpP3RoaXMuX2NhdERpY3QuZ2V0KCJEZXN0cyIpOnZvaWQgMH1nZXQgcGFnZUxhYmVscygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFBhZ2VMYWJlbHMoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwYWdlIGxhYmVscy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBhZ2VMYWJlbHMiLGUpfV9yZWFkUGFnZUxhYmVscygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VMYWJlbHMiKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBBcnJheSh0aGlzLm51bVBhZ2VzKTtsZXQgaT1udWxsLGE9IiI7Y29uc3Qgcz1uZXcgTnVtYmVyVHJlZShlLHRoaXMueHJlZikuZ2V0QWxsKCk7bGV0IHI9IiIsbj0xO2ZvcihsZXQgZT0wLGc9dGhpcy5udW1QYWdlcztlPGc7ZSsrKXtjb25zdCBnPXMuZ2V0KGUpO2lmKHZvaWQgMCE9PWcpe2lmKCEoZyBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZUxhYmVsIGlzIG5vdCBhIGRpY3Rpb25hcnkuIik7aWYoZy5oYXMoIlR5cGUiKSYmIWlzTmFtZShnLmdldCgiVHlwZSIpLCJQYWdlTGFiZWwiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgdHlwZSBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtpZihnLmhhcygiUyIpKXtjb25zdCBlPWcuZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHN0eWxlIGluIFBhZ2VMYWJlbCBkaWN0aW9uYXJ5LiIpO2k9ZS5uYW1lfWVsc2UgaT1udWxsO2lmKGcuaGFzKCJQIikpe2NvbnN0IGU9Zy5nZXQoIlAiKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHByZWZpeCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTthPXN0cmluZ1RvUERGU3RyaW5nKGUpfWVsc2UgYT0iIjtpZihnLmhhcygiU3QiKSl7Y29uc3QgZT1nLmdldCgiU3QiKTtpZighKE51bWJlci5pc0ludGVnZXIoZSkmJmU+PTEpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBzdGFydCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtuPWV9ZWxzZSBuPTF9c3dpdGNoKGkpe2Nhc2UiRCI6cj1uO2JyZWFrO2Nhc2UiUiI6Y2FzZSJyIjpyPXRvUm9tYW5OdW1lcmFscyhuLCJyIj09PWkpO2JyZWFrO2Nhc2UiQSI6Y2FzZSJhIjpjb25zdCBlPTI2LHQ9ImEiPT09aT85Nzo2NSxhPW4tMTtyPVN0cmluZy5mcm9tQ2hhckNvZGUodCthJWUpLnJlcGVhdChNYXRoLmZsb29yKGEvZSkrMSk7YnJlYWs7ZGVmYXVsdDppZihpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBzdHlsZSAiJHtpfSIgaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuYCk7cj0iIn10W2VdPWErcjtuKyt9cmV0dXJuIHR9Z2V0IHBhZ2VMYXlvdXQoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTGF5b3V0Iik7bGV0IHQ9IiI7aWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJTaW5nbGVQYWdlIjpjYXNlIk9uZUNvbHVtbiI6Y2FzZSJUd29Db2x1bW5MZWZ0IjpjYXNlIlR3b0NvbHVtblJpZ2h0IjpjYXNlIlR3b1BhZ2VMZWZ0IjpjYXNlIlR3b1BhZ2VSaWdodCI6dD1lLm5hbWV9cmV0dXJuIHNoYWRvdyh0aGlzLCJwYWdlTGF5b3V0Iix0KX1nZXQgcGFnZU1vZGUoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTW9kZSIpO2xldCB0PSJVc2VOb25lIjtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIkZ1bGxTY3JlZW4iOmNhc2UiVXNlT0MiOmNhc2UiVXNlQXR0YWNobWVudHMiOnQ9ZS5uYW1lfXJldHVybiBzaGFkb3codGhpcywicGFnZU1vZGUiLHQpfWdldCB2aWV3ZXJQcmVmZXJlbmNlcygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIlZpZXdlclByZWZlcmVuY2VzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsbnVsbCk7bGV0IHQ9bnVsbDtmb3IoY29uc3QgaSBvZiBlLmdldEtleXMoKSl7Y29uc3QgYT1lLmdldChpKTtsZXQgcztzd2l0Y2goaSl7Y2FzZSJIaWRlVG9vbGJhciI6Y2FzZSJIaWRlTWVudWJhciI6Y2FzZSJIaWRlV2luZG93VUkiOmNhc2UiRml0V2luZG93IjpjYXNlIkNlbnRlcldpbmRvdyI6Y2FzZSJEaXNwbGF5RG9jVGl0bGUiOmNhc2UiUGlja1RyYXlCeVBERlNpemUiOiJib29sZWFuIj09dHlwZW9mIGEmJihzPWEpO2JyZWFrO2Nhc2UiTm9uRnVsbFNjcmVlblBhZ2VNb2RlIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIlVzZU9DIjpzPWEubmFtZTticmVhaztkZWZhdWx0OnM9IlVzZU5vbmUifWJyZWFrO2Nhc2UiRGlyZWN0aW9uIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIkwyUiI6Y2FzZSJSMkwiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iTDJSIn1icmVhaztjYXNlIlZpZXdBcmVhIjpjYXNlIlZpZXdDbGlwIjpjYXNlIlByaW50QXJlYSI6Y2FzZSJQcmludENsaXAiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiTWVkaWFCb3giOmNhc2UiQ3JvcEJveCI6Y2FzZSJCbGVlZEJveCI6Y2FzZSJUcmltQm94IjpjYXNlIkFydEJveCI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJDcm9wQm94In1icmVhaztjYXNlIlByaW50U2NhbGluZyI6aWYoYSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGEubmFtZSl7Y2FzZSJOb25lIjpjYXNlIkFwcERlZmF1bHQiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iQXBwRGVmYXVsdCJ9YnJlYWs7Y2FzZSJEdXBsZXgiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiU2ltcGxleCI6Y2FzZSJEdXBsZXhGbGlwU2hvcnRFZGdlIjpjYXNlIkR1cGxleEZsaXBMb25nRWRnZSI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJOb25lIn1icmVhaztjYXNlIlByaW50UGFnZVJhbmdlIjppZihBcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aCUyPT0wKXthLmV2ZXJ5KCgoZSx0LGkpPT5OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjAmJigwPT09dHx8ZT49aVt0LTFdKSYmZTw9dGhpcy5udW1QYWdlcykpJiYocz1hKX1icmVhaztjYXNlIk51bUNvcGllcyI6TnVtYmVyLmlzSW50ZWdlcihhKSYmYT4wJiYocz1hKTticmVhaztkZWZhdWx0Ondhcm4oYElnbm9yaW5nIG5vbi1zdGFuZGFyZCBrZXkgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7aX0uYCk7Y29udGludWV9aWYodm9pZCAwIT09cyl7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtpXT1zfWVsc2Ugd2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2l9IiwgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7YX0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsdCl9Z2V0IG9wZW5BY3Rpb24oKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJPcGVuQWN0aW9uIiksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPW5ldyBEaWN0KHRoaXMueHJlZik7aS5zZXQoIkEiLGUpO2NvbnN0IGE9e3VybDpudWxsLGRlc3Q6bnVsbCxhY3Rpb246bnVsbH07Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDppLHJlc3VsdE9iajphfSk7QXJyYXkuaXNBcnJheShhLmRlc3QpP3QuZGVzdD1hLmRlc3Q6YS5hY3Rpb24mJih0LmFjdGlvbj1hLmFjdGlvbil9ZWxzZSBBcnJheS5pc0FycmF5KGUpJiYodC5kZXN0PWUpO3JldHVybiBzaGFkb3codGhpcywib3BlbkFjdGlvbiIsb2JqZWN0U2l6ZSh0KT4wP3Q6bnVsbCl9Z2V0IGF0dGFjaG1lbnRzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtsZXQgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiRW1iZWRkZWRGaWxlcyIpKXtjb25zdCBpPW5ldyBOYW1lVHJlZShlLmdldFJhdygiRW1iZWRkZWRGaWxlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXtjb25zdCBpPW5ldyBGaWxlU3BlYyhhLHRoaXMueHJlZik7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtzdHJpbmdUb1BERlN0cmluZyhlKV09aS5zZXJpYWxpemFibGV9fXJldHVybiBzaGFkb3codGhpcywiYXR0YWNobWVudHMiLHQpfWdldCB4ZmFJbWFnZXMoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJOYW1lcyIpO2xldCB0PW51bGw7aWYoZSBpbnN0YW5jZW9mIERpY3QmJmUuaGFzKCJYRkFJbWFnZXMiKSl7Y29uc3QgaT1uZXcgTmFtZVRyZWUoZS5nZXRSYXcoIlhGQUltYWdlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXt0fHwodD1uZXcgRGljdCh0aGlzLnhyZWYpKTt0LnNldChzdHJpbmdUb1BERlN0cmluZyhlKSxhKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFJbWFnZXMiLHQpfV9jb2xsZWN0SmF2YVNjcmlwdCgpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk5hbWVzIik7bGV0IHQ9bnVsbDtmdW5jdGlvbiBhcHBlbmRJZkphdmFTY3JpcHREaWN0KGUsaSl7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2lmKCFpc05hbWUoaS5nZXQoIlMiKSwiSmF2YVNjcmlwdCIpKXJldHVybjtsZXQgYT1pLmdldCgiSlMiKTtpZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSlhPWEuZ2V0U3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuO2E9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiYodHx8PW5ldyBNYXApLnNldChlLGEpfWlmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiSmF2YVNjcmlwdCIpKXtjb25zdCB0PW5ldyBOYW1lVHJlZShlLmdldFJhdygiSmF2YVNjcmlwdCIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsaV1vZiB0LmdldEFsbCgpKWFwcGVuZElmSmF2YVNjcmlwdERpY3Qoc3RyaW5nVG9QREZTdHJpbmcoZSksaSl9Y29uc3QgaT10aGlzLl9jYXREaWN0LmdldCgiT3BlbkFjdGlvbiIpO2kmJmFwcGVuZElmSmF2YVNjcmlwdERpY3QoIk9wZW5BY3Rpb24iLGkpO3JldHVybiB0fWdldCBqc0FjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2NvbGxlY3RKYXZhU2NyaXB0KCk7bGV0IHQ9Y29sbGVjdEFjdGlvbnModGhpcy54cmVmLHRoaXMuX2NhdERpY3QsZkEpO2lmKGUpe3R8fD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgZSlpIGluIHQ/dFtpXS5wdXNoKGEpOnRbaV09W2FdfXJldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIix0KX1hc3luYyBmb250RmFsbGJhY2soZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKHRoaXMuZm9udENhY2hlKTtmb3IoY29uc3QgYSBvZiBpKWlmKGEubG9hZGVkTmFtZT09PWUpe2EuZmFsbGJhY2sodCk7cmV0dXJufX1hc3luYyBjbGVhbnVwKGU9ITEpe2NsZWFyR2xvYmFsQ2FjaGVzKCk7dGhpcy5nbG9iYWxJbWFnZUNhY2hlLmNsZWFyKGUpO3RoaXMucGFnZUtpZHNDb3VudENhY2hlLmNsZWFyKCk7dGhpcy5wYWdlSW5kZXhDYWNoZS5jbGVhcigpO3RoaXMucGFnZURpY3RDYWNoZS5jbGVhcigpO3RoaXMubm9uQmxlbmRNb2Rlc1NldC5jbGVhcigpO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5mb250Q2FjaGUpO2Zvcihjb25zdHtkaWN0OmV9b2YgdClkZWxldGUgZS5jYWNoZUtleTt0aGlzLmZvbnRDYWNoZS5jbGVhcigpO3RoaXMuYnVpbHRJbkNNYXBDYWNoZS5jbGVhcigpO3RoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmNsZWFyKCk7dGhpcy5zeXN0ZW1Gb250Q2FjaGUuY2xlYXIoKX1hc3luYyBnZXRQYWdlRGljdChlKXtjb25zdCB0PVt0aGlzLnRvcGxldmVsUGFnZXNEaWN0XSxpPW5ldyBSZWZTZXQsYT10aGlzLl9jYXREaWN0LmdldFJhdygiUGFnZXMiKTthIGluc3RhbmNlb2YgUmVmJiZpLnB1dChhKTtjb25zdCBzPXRoaXMueHJlZixyPXRoaXMucGFnZUtpZHNDb3VudENhY2hlLG49dGhpcy5wYWdlSW5kZXhDYWNoZSxnPXRoaXMucGFnZURpY3RDYWNoZTtsZXQgbz0wO2Zvcig7dC5sZW5ndGg7KXtjb25zdCBhPXQucG9wKCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7Y29uc3QgYz1yLmdldChhKTtpZihjPj0wJiZvK2M8PWUpe28rPWM7Y29udGludWV9aWYoaS5oYXMoYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlcyB0cmVlIGNvbnRhaW5zIGNpcmN1bGFyIHJlZmVyZW5jZS4iKTtpLnB1dChhKTtjb25zdCBDPWF3YWl0KGcuZ2V0KGEpfHxzLmZldGNoQXN5bmMoYSkpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtsZXQgdD1DLmdldFJhdygiVHlwZSIpO3QgaW5zdGFuY2VvZiBSZWYmJih0PWF3YWl0IHMuZmV0Y2hBc3luYyh0KSk7aWYoaXNOYW1lKHQsIlBhZ2UiKXx8IUMuaGFzKCJLaWRzIikpe3IuaGFzKGEpfHxyLnB1dChhLDEpO24uaGFzKGEpfHxuLnB1dChhLG8pO2lmKG89PT1lKXJldHVybltDLGFdO28rKztjb250aW51ZX19dC5wdXNoKEMpO2NvbnRpbnVlfWlmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZCByZWZlcmVuY2UgcG9pbnRzIHRvIHdyb25nIHR5cGUgb2Ygb2JqZWN0LiIpO2NvbnN0e29iaklkOmN9PWE7bGV0IEM9YS5nZXRSYXcoIkNvdW50Iik7QyBpbnN0YW5jZW9mIFJlZiYmKEM9YXdhaXQgcy5mZXRjaEFzeW5jKEMpKTtpZihOdW1iZXIuaXNJbnRlZ2VyKEMpJiZDPj0wKXtjJiYhci5oYXMoYykmJnIucHV0KGMsQyk7aWYobytDPD1lKXtvKz1DO2NvbnRpbnVlfX1sZXQgaD1hLmdldFJhdygiS2lkcyIpO2ggaW5zdGFuY2VvZiBSZWYmJihoPWF3YWl0IHMuZmV0Y2hBc3luYyhoKSk7aWYoIUFycmF5LmlzQXJyYXkoaCkpe2xldCB0PWEuZ2V0UmF3KCJUeXBlIik7dCBpbnN0YW5jZW9mIFJlZiYmKHQ9YXdhaXQgcy5mZXRjaEFzeW5jKHQpKTtpZihpc05hbWUodCwiUGFnZSIpfHwhYS5oYXMoIktpZHMiKSl7aWYobz09PWUpcmV0dXJuW2EsbnVsbF07bysrO2NvbnRpbnVlfXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZHMgb2JqZWN0IGlzIG5vdCBhbiBhcnJheS4iKX1mb3IobGV0IGU9aC5sZW5ndGgtMTtlPj0wO2UtLSl7Y29uc3QgaT1oW2VdO3QucHVzaChpKTthPT09dGhpcy50b3BsZXZlbFBhZ2VzRGljdCYmaSBpbnN0YW5jZW9mIFJlZiYmIWcuaGFzKGkpJiZnLnB1dChpLHMuZmV0Y2hBc3luYyhpKSl9fXRocm93IG5ldyBFcnJvcihgUGFnZSBpbmRleCAke2V9IG5vdCBmb3VuZC5gKX1hc3luYyBnZXRBbGxQYWdlRGljdHMoZT0hMSl7Y29uc3R7aWdub3JlRXJyb3JzOnR9PXRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zLGk9W3tjdXJyZW50Tm9kZTp0aGlzLnRvcGxldmVsUGFnZXNEaWN0LHBvc0luS2lkczowfV0sYT1uZXcgUmVmU2V0LHM9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VzIik7cyBpbnN0YW5jZW9mIFJlZiYmYS5wdXQocyk7Y29uc3Qgcj1uZXcgTWFwLG49dGhpcy54cmVmLGc9dGhpcy5wYWdlSW5kZXhDYWNoZTtsZXQgbz0wO2Z1bmN0aW9uIGFkZFBhZ2VEaWN0KGUsdCl7dCYmIWcuaGFzKHQpJiZnLnB1dCh0LG8pO3Iuc2V0KG8rKyxbZSx0XSl9ZnVuY3Rpb24gYWRkUGFnZUVycm9yKGkpe2lmKGkgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IGk7aWYoZSYmdCYmMD09PW8pe3dhcm4oYGdldEFsbFBhZ2VEaWN0cyAtIFNraXBwaW5nIGludmFsaWQgZmlyc3QgcGFnZTogIiR7aX0iLmApO2k9RGljdC5lbXB0eX1yLnNldChvKyssW2ksbnVsbF0pfWZvcig7aS5sZW5ndGg+MDspe2NvbnN0IGU9aS5hdCgtMSkse2N1cnJlbnROb2RlOnQscG9zSW5LaWRzOnN9PWU7bGV0IHI9dC5nZXRSYXcoIktpZHMiKTtpZihyIGluc3RhbmNlb2YgUmVmKXRyeXtyPWF3YWl0IG4uZmV0Y2hBc3luYyhyKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9aWYoIUFycmF5LmlzQXJyYXkocikpe2FkZFBhZ2VFcnJvcihuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXkuIikpO2JyZWFrfWlmKHM+PXIubGVuZ3RoKXtpLnBvcCgpO2NvbnRpbnVlfWNvbnN0IGc9cltzXTtsZXQgbztpZihnIGluc3RhbmNlb2YgUmVmKXtpZihhLmhhcyhnKSl7YWRkUGFnZUVycm9yKG5ldyBGb3JtYXRFcnJvcigiUGFnZXMgdHJlZSBjb250YWlucyBjaXJjdWxhciByZWZlcmVuY2UuIikpO2JyZWFrfWEucHV0KGcpO3RyeXtvPWF3YWl0IG4uZmV0Y2hBc3luYyhnKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9fWVsc2Ugbz1nO2lmKCEobyBpbnN0YW5jZW9mIERpY3QpKXthZGRQYWdlRXJyb3IobmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkIHJlZmVyZW5jZSBwb2ludHMgdG8gd3JvbmcgdHlwZSBvZiBvYmplY3QuIikpO2JyZWFrfWxldCBjPW8uZ2V0UmF3KCJUeXBlIik7aWYoYyBpbnN0YW5jZW9mIFJlZil0cnl7Yz1hd2FpdCBuLmZldGNoQXN5bmMoYyl9Y2F0Y2goZSl7YWRkUGFnZUVycm9yKGUpO2JyZWFrfWlzTmFtZShjLCJQYWdlIil8fCFvLmhhcygiS2lkcyIpP2FkZFBhZ2VEaWN0KG8sZyBpbnN0YW5jZW9mIFJlZj9nOm51bGwpOmkucHVzaCh7Y3VycmVudE5vZGU6byxwb3NJbktpZHM6MH0pO2UucG9zSW5LaWRzKyt9cmV0dXJuIHJ9Z2V0UGFnZUluZGV4KGUpe2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXhDYWNoZS5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO2NvbnN0IGk9dGhpcy54cmVmO2xldCBhPTA7Y29uc3QgbmV4dD10PT5mdW5jdGlvbiBwYWdlc0JlZm9yZVJlZih0KXtsZXQgYSxzPTA7cmV0dXJuIGkuZmV0Y2hBc3luYyh0KS50aGVuKChmdW5jdGlvbihpKXtpZihpc1JlZnNFcXVhbCh0LGUpJiYhaXNEaWN0KGksIlBhZ2UiKSYmIShpIGluc3RhbmNlb2YgRGljdCYmIWkuaGFzKCJUeXBlIikmJmkuaGFzKCJDb250ZW50cyIpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZSByZWZlcmVuY2UgZG9lcyBub3QgcG9pbnQgdG8gYSAvUGFnZSBkaWN0aW9uYXJ5LiIpO2lmKCFpKXJldHVybiBudWxsO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTthPWkuZ2V0UmF3KCJQYXJlbnQiKTtyZXR1cm4gaS5nZXRBc3luYygiUGFyZW50Iil9KSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYXJlbnQgbXVzdCBiZSBhIGRpY3Rpb25hcnkuIik7cmV0dXJuIGUuZ2V0QXN5bmMoIktpZHMiKX0pKS50aGVuKChmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCByPVtdO2xldCBuPSExO2Zvcihjb25zdCBhIG9mIGUpe2lmKCEoYSBpbnN0YW5jZW9mIFJlZikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbXVzdCBiZSBhIHJlZmVyZW5jZS4iKTtpZihpc1JlZnNFcXVhbChhLHQpKXtuPSEwO2JyZWFrfXIucHVzaChpLmZldGNoQXN5bmMoYSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtlLmhhcygiQ291bnQiKT9zKz1lLmdldCgiQ291bnQiKTpzKyt9KSkpfWlmKCFuKXRocm93IG5ldyBGb3JtYXRFcnJvcigiS2lkIHJlZmVyZW5jZSBub3QgZm91bmQgaW4gcGFyZW50J3Mga2lkcy4iKTtyZXR1cm4gUHJvbWlzZS5hbGwocikudGhlbigoZnVuY3Rpb24oKXtyZXR1cm5bcyxhXX0pKX0pKX0odCkudGhlbigodD0+e2lmKCF0KXt0aGlzLnBhZ2VJbmRleENhY2hlLnB1dChlLGEpO3JldHVybiBhfWNvbnN0W2ksc109dDthKz1pO3JldHVybiBuZXh0KHMpfSkpO3JldHVybiBuZXh0KGUpfWdldCBiYXNlVXJsKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiVVJJIik7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHQ9ZS5nZXQoIkJhc2UiKTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2NvbnN0IGU9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybCh0LG51bGwse3RyeUNvbnZlcnRFbmNvZGluZzohMH0pO2lmKGUpcmV0dXJuIHNoYWRvdyh0aGlzLCJiYXNlVXJsIixlLmhyZWYpfX1yZXR1cm4gc2hhZG93KHRoaXMsImJhc2VVcmwiLHRoaXMucGRmTWFuYWdlci5kb2NCYXNlVXJsKX1zdGF0aWMgcGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6ZSxyZXN1bHRPYmo6dCxkb2NCYXNlVXJsOmk9bnVsbCxkb2NBdHRhY2htZW50czphPW51bGx9KXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl7d2FybigicGFyc2VEZXN0RGljdGlvbmFyeTogYGRlc3REaWN0YCBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtyZXR1cm59bGV0IHMscixuPWUuZ2V0KCJBIik7aWYoIShuIGluc3RhbmNlb2YgRGljdCkpaWYoZS5oYXMoIkRlc3QiKSluPWUuZ2V0KCJEZXN0Iik7ZWxzZXtuPWUuZ2V0KCJBQSIpO24gaW5zdGFuY2VvZiBEaWN0JiYobi5oYXMoIkQiKT9uPW4uZ2V0KCJEIik6bi5oYXMoIlUiKSYmKG49bi5nZXQoIlUiKSkpfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW4uZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpe3dhcm4oInBhcnNlRGVzdERpY3Rpb25hcnk6IEludmFsaWQgdHlwZSBpbiBBY3Rpb24gZGljdGlvbmFyeS4iKTtyZXR1cm59Y29uc3QgaT1lLm5hbWU7c3dpdGNoKGkpe2Nhc2UiUmVzZXRGb3JtIjpjb25zdCBlPW4uZ2V0KCJGbGFncyIpLGc9MD09KDEmKCJudW1iZXIiPT10eXBlb2YgZT9lOjApKSxvPVtdLGM9W107Zm9yKGNvbnN0IGUgb2Ygbi5nZXQoIkZpZWxkcyIpfHxbXSllIGluc3RhbmNlb2YgUmVmP2MucHVzaChlLnRvU3RyaW5nKCkpOiJzdHJpbmciPT10eXBlb2YgZSYmby5wdXNoKHN0cmluZ1RvUERGU3RyaW5nKGUpKTt0LnJlc2V0Rm9ybT17ZmllbGRzOm8scmVmczpjLGluY2x1ZGU6Z307YnJlYWs7Y2FzZSJVUkkiOnM9bi5nZXQoIlVSSSIpO3MgaW5zdGFuY2VvZiBOYW1lJiYocz0iLyIrcy5uYW1lKTticmVhaztjYXNlIkdvVG8iOnI9bi5nZXQoIkQiKTticmVhaztjYXNlIkxhdW5jaCI6Y2FzZSJHb1RvUiI6Y29uc3QgQz1uLmdldCgiRiIpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW5ldyBGaWxlU3BlYyhDLG51bGwsITApLHtyYXdGaWxlbmFtZTp0fT1lLnNlcmlhbGl6YWJsZTtzPXR9ZWxzZSJzdHJpbmciPT10eXBlb2YgQyYmKHM9Qyk7Y29uc3QgaD1mZXRjaFJlbW90ZURlc3Qobik7aCYmInN0cmluZyI9PXR5cGVvZiBzJiYocz1zLnNwbGl0KCIjIiwxKVswXSsiIyIraCk7Y29uc3QgbD1uLmdldCgiTmV3V2luZG93Iik7ImJvb2xlYW4iPT10eXBlb2YgbCYmKHQubmV3V2luZG93PWwpO2JyZWFrO2Nhc2UiR29Ub0UiOmNvbnN0IFE9bi5nZXQoIlQiKTtsZXQgRTtpZihhJiZRIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1RLmdldCgiUiIpLHQ9US5nZXQoIk4iKTtpc05hbWUoZSwiQyIpJiYic3RyaW5nIj09dHlwZW9mIHQmJihFPWFbc3RyaW5nVG9QREZTdHJpbmcodCldKX1pZihFKXt0LmF0dGFjaG1lbnQ9RTtjb25zdCBlPWZldGNoUmVtb3RlRGVzdChuKTtlJiYodC5hdHRhY2htZW50RGVzdD1lKX1lbHNlIHdhcm4oJ3BhcnNlRGVzdERpY3Rpb25hcnkgLSB1bmltcGxlbWVudGVkICJHb1RvRSIgYWN0aW9uLicpO2JyZWFrO2Nhc2UiTmFtZWQiOmNvbnN0IHU9bi5nZXQoIk4iKTt1IGluc3RhbmNlb2YgTmFtZSYmKHQuYWN0aW9uPXUubmFtZSk7YnJlYWs7Y2FzZSJTZXRPQ0dTdGF0ZSI6Y29uc3QgZD1uLmdldCgiU3RhdGUiKSxmPW4uZ2V0KCJQcmVzZXJ2ZVJCIik7aWYoIUFycmF5LmlzQXJyYXkoZCl8fDA9PT1kLmxlbmd0aClicmVhaztjb25zdCBwPVtdO2Zvcihjb25zdCBlIG9mIGQpaWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJPTiI6Y2FzZSJPRkYiOmNhc2UiVG9nZ2xlIjpwLnB1c2goZS5uYW1lKX1lbHNlIGUgaW5zdGFuY2VvZiBSZWYmJnAucHVzaChlLnRvU3RyaW5nKCkpO2lmKHAubGVuZ3RoIT09ZC5sZW5ndGgpYnJlYWs7dC5zZXRPQ0dTdGF0ZT17c3RhdGU6cCxwcmVzZXJ2ZVJCOiJib29sZWFuIiE9dHlwZW9mIGZ8fGZ9O2JyZWFrO2Nhc2UiSmF2YVNjcmlwdCI6Y29uc3QgbT1uLmdldCgiSlMiKTtsZXQgeTttIGluc3RhbmNlb2YgQmFzZVN0cmVhbT95PW0uZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiBtJiYoeT1tKTtjb25zdCB3PXkmJnJlY292ZXJKc1VSTChzdHJpbmdUb1BERlN0cmluZyh5KSk7aWYodyl7cz13LnVybDt0Lm5ld1dpbmRvdz13Lm5ld1dpbmRvdzticmVha31kZWZhdWx0OmlmKCJKYXZhU2NyaXB0Ij09PWl8fCJTdWJtaXRGb3JtIj09PWkpYnJlYWs7d2FybihgcGFyc2VEZXN0RGljdGlvbmFyeSAtIHVuc3VwcG9ydGVkIGFjdGlvbjogIiR7aX0iLmApfX1lbHNlIGUuaGFzKCJEZXN0IikmJihyPWUuZ2V0KCJEZXN0IikpO2lmKCJzdHJpbmciPT10eXBlb2Ygcyl7Y29uc3QgZT1jcmVhdGVWYWxpZEFic29sdXRlVXJsKHMsaSx7YWRkRGVmYXVsdFByb3RvY29sOiEwLHRyeUNvbnZlcnRFbmNvZGluZzohMH0pO2UmJih0LnVybD1lLmhyZWYpO3QudW5zYWZlVXJsPXN9aWYocil7ciBpbnN0YW5jZW9mIE5hbWUmJihyPXIubmFtZSk7InN0cmluZyI9PXR5cGVvZiByP3QuZGVzdD1zdHJpbmdUb1BERlN0cmluZyhyKTppc1ZhbGlkRXhwbGljaXREZXN0KHIpJiYodC5kZXN0PXIpfX19ZnVuY3Rpb24gYWRkQ2hpbGRyZW4oZSx0KXtpZihlIGluc3RhbmNlb2YgRGljdCllPWUuZ2V0UmF3VmFsdWVzKCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSllPWUuZGljdC5nZXRSYXdWYWx1ZXMoKTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybjtmb3IoY29uc3QgYSBvZiBlKSgoaT1hKWluc3RhbmNlb2YgUmVmfHxpIGluc3RhbmNlb2YgRGljdHx8aSBpbnN0YW5jZW9mIEJhc2VTdHJlYW18fEFycmF5LmlzQXJyYXkoaSkpJiZ0LnB1c2goYSk7dmFyIGl9Y2xhc3MgT2JqZWN0TG9hZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRpY3Q9ZTt0aGlzLmtleXM9dDt0aGlzLnhyZWY9aTt0aGlzLnJlZlNldD1udWxsfWFzeW5jIGxvYWQoKXtpZih0aGlzLnhyZWYuc3RyZWFtLmlzRGF0YUxvYWRlZClyZXR1cm47Y29uc3R7a2V5czplLGRpY3Q6dH09dGhpczt0aGlzLnJlZlNldD1uZXcgUmVmU2V0O2NvbnN0IGk9W107Zm9yKGNvbnN0IGEgb2YgZSl7Y29uc3QgZT10LmdldFJhdyhhKTt2b2lkIDAhPT1lJiZpLnB1c2goZSl9cmV0dXJuIHRoaXMuX3dhbGsoaSl9YXN5bmMgX3dhbGsoZSl7Y29uc3QgdD1bXSxpPVtdO2Zvcig7ZS5sZW5ndGg7KXtsZXQgYT1lLnBvcCgpO2lmKGEgaW5zdGFuY2VvZiBSZWYpe2lmKHRoaXMucmVmU2V0LmhhcyhhKSljb250aW51ZTt0cnl7dGhpcy5yZWZTZXQucHV0KGEpO2E9dGhpcy54cmVmLmZldGNoKGEpfWNhdGNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSl7d2FybihgT2JqZWN0TG9hZGVyLl93YWxrIC0gcmVxdWVzdGluZyBhbGwgZGF0YTogIiR7ZX0iLmApO3RoaXMucmVmU2V0PW51bGw7Y29uc3R7bWFuYWdlcjp0fT10aGlzLnhyZWYuc3RyZWFtO3JldHVybiB0LnJlcXVlc3RBbGxDaHVua3MoKX10LnB1c2goYSk7aS5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pfX1pZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1hLmdldEJhc2VTdHJlYW1zKCk7aWYoZSl7bGV0IHM9ITE7Zm9yKGNvbnN0IHQgb2YgZSlpZighdC5pc0RhdGFMb2FkZWQpe3M9ITA7aS5wdXNoKHtiZWdpbjp0LnN0YXJ0LGVuZDp0LmVuZH0pfXMmJnQucHVzaChhKX19YWRkQ2hpbGRyZW4oYSxlKX1pZihpLmxlbmd0aCl7YXdhaXQgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMoaSk7Zm9yKGNvbnN0IGUgb2YgdCllIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnJlZlNldC5yZW1vdmUoZSk7cmV0dXJuIHRoaXMuX3dhbGsodCl9dGhpcy5yZWZTZXQ9bnVsbH19Y29uc3QgWnM9U3ltYm9sKCksVnM9U3ltYm9sKCksenM9U3ltYm9sKCksX3M9U3ltYm9sKCksJHM9U3ltYm9sKCksQXI9U3ltYm9sKCksZXI9U3ltYm9sKCksdHI9U3ltYm9sKCksaXI9U3ltYm9sKCksYXI9U3ltYm9sKCJjb250ZW50Iiksc3I9U3ltYm9sKCJkYXRhIikscnI9U3ltYm9sKCksbnI9U3ltYm9sKCJleHRyYSIpLGdyPVN5bWJvbCgpLG9yPVN5bWJvbCgpLElyPVN5bWJvbCgpLGNyPVN5bWJvbCgpLENyPVN5bWJvbCgpLGhyPVN5bWJvbCgpLGxyPVN5bWJvbCgpLFFyPVN5bWJvbCgpLEVyPVN5bWJvbCgpLHVyPVN5bWJvbCgpLGRyPVN5bWJvbCgpLGZyPVN5bWJvbCgpLHByPVN5bWJvbCgpLG1yPVN5bWJvbCgpLHlyPVN5bWJvbCgpLHdyPVN5bWJvbCgpLERyPVN5bWJvbCgpLGJyPVN5bWJvbCgpLEZyPVN5bWJvbCgpLFNyPVN5bWJvbCgpLGtyPVN5bWJvbCgpLFJyPVN5bWJvbCgpLE5yPVN5bWJvbCgpLEdyPVN5bWJvbCgpLHhyPVN5bWJvbCgpLFVyPVN5bWJvbCgpLE1yPVN5bWJvbCgpLExyPVN5bWJvbCgpLEhyPVN5bWJvbCgpLEpyPVN5bWJvbCgpLFlyPVN5bWJvbCgpLHZyPVN5bWJvbCgpLEtyPVN5bWJvbCgibmFtZXNwYWNlSWQiKSxUcj1TeW1ib2woIm5vZGVOYW1lIikscXI9U3ltYm9sKCksT3I9U3ltYm9sKCksUHI9U3ltYm9sKCksV3I9U3ltYm9sKCksanI9U3ltYm9sKCksWHI9U3ltYm9sKCksWnI9U3ltYm9sKCksVnI9U3ltYm9sKCksenI9U3ltYm9sKCJyb290IiksX3I9U3ltYm9sKCksJHI9U3ltYm9sKCksQW49U3ltYm9sKCksZW49U3ltYm9sKCksdG49U3ltYm9sKCksYW49U3ltYm9sKCksc249U3ltYm9sKCkscm49U3ltYm9sKCksbm49U3ltYm9sKCksZ249U3ltYm9sKCksb249U3ltYm9sKCksSW49U3ltYm9sKCJ1aWQiKSxjbj1TeW1ib2woKSxDbj17Y29uZmlnOntpZDowLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94Y2kvIil9LGNvbm5lY3Rpb25TZXQ6e2lkOjEsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1jb25uZWN0aW9uLXNldC8iKX0sZGF0YXNldHM6e2lkOjIsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1kYXRhLyIpfSxmb3JtOntpZDozLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZm9ybS8iKX0sbG9jYWxlU2V0OntpZDo0LGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtbG9jYWxlLXNldC8iKX0scGRmOntpZDo1LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC9wZGYvIj09PWV9LHNpZ25hdHVyZTp7aWQ6NixjaGVjazplPT4iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI9PT1lfSxzb3VyY2VTZXQ6e2lkOjcsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1zb3VyY2Utc2V0LyIpfSxzdHlsZXNoZWV0OntpZDo4LGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPT09ZX0sdGVtcGxhdGU6e2lkOjksY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS10ZW1wbGF0ZS8iKX0seGRjOntpZDoxMCxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGRjLyIpfSx4ZHA6e2lkOjExLGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC8iPT09ZX0seGZkZjp7aWQ6MTIsY2hlY2s6ZT0+Imh0dHA6Ly9ucy5hZG9iZS5jb20veGZkZi8iPT09ZX0seGh0bWw6e2lkOjEzLGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWV9LHhtcG1ldGE6e2lkOjE0LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3htcG1ldGEvIj09PWV9fSxobj17cHQ6ZT0+ZSxjbTplPT5lLzIuNTQqNzIsbW06ZT0+ZS8yNS40KjcyLGluOmU9PjcyKmUscHg6ZT0+ZX0sbG49LyhbKy1dP1xkK1wuP1xkKikoLiopLztmdW5jdGlvbiBzdHJpcFF1b3RlcyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCInIil8fGUuc3RhcnRzV2l0aCgnIicpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnZXRJbnRlZ2VyKHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4oYSkmJmkoYSk/YTp0fWZ1bmN0aW9uIGdldEZsb2F0KHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUZsb2F0KGUpO3JldHVybiFpc05hTihhKSYmaShhKT9hOnR9ZnVuY3Rpb24gZ2V0S2V5d29yZCh7ZGF0YTplLGRlZmF1bHRWYWx1ZTp0LHZhbGlkYXRlOml9KXtyZXR1cm4gZSYmaShlPWUudHJpbSgpKT9lOnR9ZnVuY3Rpb24gZ2V0U3RyaW5nT3B0aW9uKGUsdCl7cmV0dXJuIGdldEtleXdvcmQoe2RhdGE6ZSxkZWZhdWx0VmFsdWU6dFswXSx2YWxpZGF0ZTplPT50LmluY2x1ZGVzKGUpfSl9ZnVuY3Rpb24gZ2V0TWVhc3VyZW1lbnQoZSx0PSIwIil7dHx8PSIwIjtpZighZSlyZXR1cm4gZ2V0TWVhc3VyZW1lbnQodCk7Y29uc3QgaT1lLnRyaW0oKS5tYXRjaChsbik7aWYoIWkpcmV0dXJuIGdldE1lYXN1cmVtZW50KHQpO2NvbnN0WyxhLHNdPWkscj1wYXJzZUZsb2F0KGEpO2lmKGlzTmFOKHIpKXJldHVybiBnZXRNZWFzdXJlbWVudCh0KTtpZigwPT09cilyZXR1cm4gMDtjb25zdCBuPWhuW3NdO3JldHVybiBuP24ocik6cn1mdW5jdGlvbiBnZXRSYXRpbyhlKXtpZighZSlyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0IHQ9ZS50cmltKCkuc3BsaXQoL1xzKjpccyovKS5tYXAoKGU9PnBhcnNlRmxvYXQoZSkpKS5maWx0ZXIoKGU9PiFpc05hTihlKSkpOzE9PT10Lmxlbmd0aCYmdC5wdXNoKDEpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0W2ksYV09dDtyZXR1cm57bnVtOmksZGVuOmF9fWZ1bmN0aW9uIGdldFJlbGV2YW50KGUpe3JldHVybiBlP2UudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9Pih7ZXhjbHVkZWQ6Ii0iPT09ZVswXSx2aWV3bmFtZTplLnN1YnN0cmluZygxKX0pKSk6W119Y2xhc3MgSFRNTFJlc3VsdHtzdGF0aWMgZ2V0IEZBSUxVUkUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkZBSUxVUkUiLG5ldyBIVE1MUmVzdWx0KCExLG51bGwsbnVsbCxudWxsKSl9c3RhdGljIGdldCBFTVBUWSgpe3JldHVybiBzaGFkb3codGhpcywiRU1QVFkiLG5ldyBIVE1MUmVzdWx0KCEwLG51bGwsbnVsbCxudWxsKSl9Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5zdWNjZXNzPWU7dGhpcy5odG1sPXQ7dGhpcy5iYm94PWk7dGhpcy5icmVha05vZGU9YX1pc0JyZWFrKCl7cmV0dXJuISF0aGlzLmJyZWFrTm9kZX1zdGF0aWMgYnJlYWtOb2RlKGUpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMSxudWxsLG51bGwsZSl9c3RhdGljIHN1Y2Nlc3MoZSx0PW51bGwpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMCxlLHQsbnVsbCl9fWNsYXNzIEZvbnRGaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250cz1uZXcgTWFwO3RoaXMuY2FjaGU9bmV3IE1hcDt0aGlzLndhcm5lZD1uZXcgU2V0O3RoaXMuZGVmYXVsdEZvbnQ9bnVsbDt0aGlzLmFkZChlKX1hZGQoZSx0PW51bGwpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGRQZGZGb250KHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuZm9udHMudmFsdWVzKCkpZS5yZWd1bGFyfHwoZS5yZWd1bGFyPWUuaXRhbGljfHxlLmJvbGR8fGUuYm9sZGl0YWxpYyk7aWYoIXR8fDA9PT10LnNpemUpcmV0dXJuO2NvbnN0IGk9dGhpcy5mb250cy5nZXQoIlBkZkpTLUZhbGxiYWNrLVBkZkpTLVhGQSIpO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5mb250cy5zZXQoZSxpKX1hZGRQZGZGb250KGUpe2NvbnN0IHQ9ZS5jc3NGb250SW5mbyxpPXQuZm9udEZhbWlseTtsZXQgYT10aGlzLmZvbnRzLmdldChpKTtpZighYSl7YT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuZm9udHMuc2V0KGksYSk7dGhpcy5kZWZhdWx0Rm9udHx8KHRoaXMuZGVmYXVsdEZvbnQ9YSl9bGV0IHM9IiI7Y29uc3Qgcj1wYXJzZUZsb2F0KHQuZm9udFdlaWdodCk7MCE9PXBhcnNlRmxvYXQodC5pdGFsaWNBbmdsZSk/cz1yPj03MDA/ImJvbGRpdGFsaWMiOiJpdGFsaWMiOnI+PTcwMCYmKHM9ImJvbGQiKTtpZighcyl7KGUubmFtZS5pbmNsdWRlcygiQm9sZCIpfHxlLnBzTmFtZT8uaW5jbHVkZXMoIkJvbGQiKSkmJihzPSJib2xkIik7KGUubmFtZS5pbmNsdWRlcygiSXRhbGljIil8fGUubmFtZS5lbmRzV2l0aCgiSXQiKXx8ZS5wc05hbWU/LmluY2x1ZGVzKCJJdGFsaWMiKXx8ZS5wc05hbWU/LmVuZHNXaXRoKCJJdCIpKSYmKHMrPSJpdGFsaWMiKX1zfHwocz0icmVndWxhciIpO2Fbc109ZX1nZXREZWZhdWx0KCl7cmV0dXJuIHRoaXMuZGVmYXVsdEZvbnR9ZmluZChlLHQ9ITApe2xldCBpPXRoaXMuZm9udHMuZ2V0KGUpfHx0aGlzLmNhY2hlLmdldChlKTtpZihpKXJldHVybiBpO2NvbnN0IGE9Lyx8LXxffCB8Ym9sZGl0YWxpY3xib2xkfGl0YWxpY3xyZWd1bGFyfGl0L2dpO2xldCBzPWUucmVwbGFjZUFsbChhLCIiKTtpPXRoaXMuZm9udHMuZ2V0KHMpO2lmKGkpe3RoaXMuY2FjaGUuc2V0KGUsaSk7cmV0dXJuIGl9cz1zLnRvTG93ZXJDYXNlKCk7Y29uc3Qgcj1bXTtmb3IoY29uc3RbZSx0XW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVwbGFjZUFsbChhLCIiKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocykmJnIucHVzaCh0KTtpZigwPT09ci5sZW5ndGgpZm9yKGNvbnN0WyxlXW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKDA9PT1yLmxlbmd0aCl7cz1zLnJlcGxhY2VBbGwoL3BzbXR8bXQvZ2ksIiIpO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5mb250cy5lbnRyaWVzKCkpZS5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKHQpfWlmKDA9PT1yLmxlbmd0aClmb3IoY29uc3QgZSBvZiB0aGlzLmZvbnRzLnZhbHVlcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKHIubGVuZ3RoPj0xKXsxIT09ci5sZW5ndGgmJnQmJndhcm4oYFhGQSAtIFRvbyBtYW55IGNob2ljZXMgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgZm9udDogJHtlfWApO3RoaXMuY2FjaGUuc2V0KGUsclswXSk7cmV0dXJuIHJbMF19aWYodCYmIXRoaXMud2FybmVkLmhhcyhlKSl7dGhpcy53YXJuZWQuYWRkKGUpO3dhcm4oYFhGQSAtIENhbm5vdCBmaW5kIHRoZSBmb250OiAke2V9YCl9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHNlbGVjdEZvbnQoZSx0KXtyZXR1cm4iaXRhbGljIj09PWUucG9zdHVyZT8iYm9sZCI9PT1lLndlaWdodD90LmJvbGRpdGFsaWM6dC5pdGFsaWM6ImJvbGQiPT09ZS53ZWlnaHQ/dC5ib2xkOnQucmVndWxhcn1jbGFzcyBGb250SW5mb3tjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmxpbmVIZWlnaHQ9aTt0aGlzLnBhcmFNYXJnaW49dHx8e3RvcDowLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowfTtpZighZSl7W3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSk7cmV0dXJufXRoaXMueGZhRm9udD17dHlwZWZhY2U6ZS50eXBlZmFjZSxwb3N0dXJlOmUucG9zdHVyZSx3ZWlnaHQ6ZS53ZWlnaHQsc2l6ZTplLnNpemUsbGV0dGVyU3BhY2luZzplLmxldHRlclNwYWNpbmd9O2NvbnN0IHM9YS5maW5kKGUudHlwZWZhY2UpO2lmKHMpe3RoaXMucGRmRm9udD1zZWxlY3RGb250KGUscyk7dGhpcy5wZGZGb250fHwoW3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSkpfWVsc2VbdGhpcy5wZGZGb250LHRoaXMueGZhRm9udF09dGhpcy5kZWZhdWx0Rm9udChhKX1kZWZhdWx0Rm9udChlKXtjb25zdCB0PWUuZmluZCgiSGVsdmV0aWNhIiwhMSl8fGUuZmluZCgiTXlyaWFkIFBybyIsITEpfHxlLmZpbmQoIkFyaWFsIiwhMSl8fGUuZ2V0RGVmYXVsdCgpO2lmKHQ/LnJlZ3VsYXIpe2NvbnN0IGU9dC5yZWd1bGFyO3JldHVybltlLHt0eXBlZmFjZTplLmNzc0ZvbnRJbmZvLmZvbnRGYW1pbHkscG9zdHVyZToibm9ybWFsIix3ZWlnaHQ6Im5vcm1hbCIsc2l6ZToxMCxsZXR0ZXJTcGFjaW5nOjB9XX1yZXR1cm5bbnVsbCx7dHlwZWZhY2U6IkNvdXJpZXIiLHBvc3R1cmU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHNpemU6MTAsbGV0dGVyU3BhY2luZzowfV19fWNsYXNzIEZvbnRTZWxlY3Rvcntjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmZvbnRGaW5kZXI9YTt0aGlzLnN0YWNrPVtuZXcgRm9udEluZm8oZSx0LGksYSldfXB1c2hEYXRhKGUsdCxpKXtjb25zdCBhPXRoaXMuc3RhY2suYXQoLTEpO2Zvcihjb25zdCB0IG9mWyJ0eXBlZmFjZSIsInBvc3R1cmUiLCJ3ZWlnaHQiLCJzaXplIiwibGV0dGVyU3BhY2luZyJdKWVbdF18fChlW3RdPWEueGZhRm9udFt0XSk7Zm9yKGNvbnN0IGUgb2ZbInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdKWlzTmFOKHRbZV0pJiYodFtlXT1hLnBhcmFNYXJnaW5bZV0pO2NvbnN0IHM9bmV3IEZvbnRJbmZvKGUsdCxpfHxhLmxpbmVIZWlnaHQsdGhpcy5mb250RmluZGVyKTtzLnBkZkZvbnR8fChzLnBkZkZvbnQ9YS5wZGZGb250KTt0aGlzLnN0YWNrLnB1c2gocyl9cG9wRm9udCgpe3RoaXMuc3RhY2sucG9wKCl9dG9wRm9udCgpe3JldHVybiB0aGlzLnN0YWNrLmF0KC0xKX19Y2xhc3MgVGV4dE1lYXN1cmV7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5nbHlwaHM9W107dGhpcy5mb250U2VsZWN0b3I9bmV3IEZvbnRTZWxlY3RvcihlLHQsaSxhKTt0aGlzLmV4dHJhSGVpZ2h0PTB9cHVzaERhdGEoZSx0LGkpe3RoaXMuZm9udFNlbGVjdG9yLnB1c2hEYXRhKGUsdCxpKX1wb3BGb250KGUpe3JldHVybiB0aGlzLmZvbnRTZWxlY3Rvci5wb3BGb250KCl9YWRkUGFyYSgpe2NvbnN0IGU9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpO3RoaXMuZXh0cmFIZWlnaHQrPWUucGFyYU1hcmdpbi50b3ArZS5wYXJhTWFyZ2luLmJvdHRvbX1hZGRTdHJpbmcoZSl7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpLGk9dC54ZmFGb250LnNpemU7aWYodC5wZGZGb250KXtjb25zdCBhPXQueGZhRm9udC5sZXR0ZXJTcGFjaW5nLHM9dC5wZGZGb250LHI9cy5saW5lSGVpZ2h0fHwxLjIsbj10LmxpbmVIZWlnaHR8fE1hdGgubWF4KDEuMixyKSppLGc9ci0odm9pZCAwPT09cy5saW5lR2FwPy4yOnMubGluZUdhcCksbz1NYXRoLm1heCgxLGcpKmksYz1pLzFlMyxDPXMuZGVmYXVsdFdpZHRofHxzLmNoYXJzVG9HbHlwaHMoIiAiKVswXS53aWR0aDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2NvbnN0IGU9cy5lbmNvZGVTdHJpbmcodCkuam9pbigiIiksaT1zLmNoYXJzVG9HbHlwaHMoZSk7Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3QgdD1lLndpZHRofHxDO3RoaXMuZ2x5cGhzLnB1c2goW3QqYythLG4sbyxlLnVuaWNvZGUsITFdKX10aGlzLmdseXBocy5wdXNoKFswLDAsMCwiXG4iLCEwXSl9dGhpcy5nbHlwaHMucG9wKCl9ZWxzZXtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2Zvcihjb25zdCBlIG9mIHQuc3BsaXQoIiIpKXRoaXMuZ2x5cGhzLnB1c2goW2ksMS4yKmksaSxlLCExXSk7dGhpcy5nbHlwaHMucHVzaChbMCwwLDAsIlxuIiwhMF0pfXRoaXMuZ2x5cGhzLnBvcCgpfX1jb21wdXRlKGUpe2xldCB0PS0xLGk9MCxhPTAscz0wLHI9MCxuPTAsZz0hMSxvPSEwO2ZvcihsZXQgYz0wLEM9dGhpcy5nbHlwaHMubGVuZ3RoO2M8QztjKyspe2NvbnN0W0MsaCxsLFEsRV09dGhpcy5nbHlwaHNbY10sdT0iICI9PT1RLGQ9bz9sOmg7aWYoRSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtvPSExfWVsc2UgaWYodSlpZihyK0M+ZSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtnPSEwO289ITF9ZWxzZXtuPU1hdGgubWF4KGQsbik7aT1yO3IrPUM7dD1jfWVsc2UgaWYocitDPmUpe3MrPW47bj1kO2lmKC0xIT09dCl7Yz10O2E9TWF0aC5tYXgoYSxpKTtyPTA7dD0tMTtpPTB9ZWxzZXthPU1hdGgubWF4KGEscik7cj1DfWc9ITA7bz0hMX1lbHNle3IrPUM7bj1NYXRoLm1heChkLG4pfX1hPU1hdGgubWF4KGEscik7cys9bit0aGlzLmV4dHJhSGVpZ2h0O3JldHVybnt3aWR0aDoxLjAyKmEsaGVpZ2h0OnMsaXNCcm9rZW46Z319fWNvbnN0IEJuPS9eW14uW10rLyxRbj0vXlteXF1dKy8sRW49e2RvdDowLGRvdERvdDoxLGRvdEhhc2g6Mixkb3RCcmFja2V0OjMsZG90UGFyZW46NH0sdW49bmV3IE1hcChbWyIkZGF0YSIsKGUsdCk9PmUuZGF0YXNldHM/ZS5kYXRhc2V0cy5kYXRhOmVdLFsiJHJlY29yZCIsKGUsdCk9PihlLmRhdGFzZXRzP2UuZGF0YXNldHMuZGF0YTplKVtmcl0oKVswXV0sWyIkdGVtcGxhdGUiLChlLHQpPT5lLnRlbXBsYXRlXSxbIiRjb25uZWN0aW9uU2V0IiwoZSx0KT0+ZS5jb25uZWN0aW9uU2V0XSxbIiRmb3JtIiwoZSx0KT0+ZS5mb3JtXSxbIiRsYXlvdXQiLChlLHQpPT5lLmxheW91dF0sWyIkaG9zdCIsKGUsdCk9PmUuaG9zdF0sWyIkZGF0YVdpbmRvdyIsKGUsdCk9PmUuZGF0YVdpbmRvd10sWyIkZXZlbnQiLChlLHQpPT5lLmV2ZW50XSxbIiEiLChlLHQpPT5lLmRhdGFzZXRzXSxbIiR4ZmEiLChlLHQpPT5lXSxbInhmYSIsKGUsdCk9PmVdLFsiJCIsKGUsdCk9PnRdXSksZG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gcGFyc2VFeHByZXNzaW9uKGUsdCxpPSEwKXtsZXQgYT1lLm1hdGNoKEJuKTtpZighYSlyZXR1cm4gbnVsbDtsZXRbc109YTtjb25zdCByPVt7bmFtZTpzLGNhY2hlTmFtZToiLiIrcyxpbmRleDowLGpzOm51bGwsZm9ybUNhbGM6bnVsbCxvcGVyYXRvcjpFbi5kb3R9XTtsZXQgbj1zLmxlbmd0aDtmb3IoO248ZS5sZW5ndGg7KXtjb25zdCBvPW47aWYoIlsiPT09ZS5jaGFyQXQobisrKSl7YT1lLnNsaWNlKG4pLm1hdGNoKFFuKTtpZighYSl7d2FybigiWEZBIC0gSW52YWxpZCBpbmRleCBpbiBTT00gZXhwcmVzc2lvbiIpO3JldHVybiBudWxsfXIuYXQoLTEpLmluZGV4PSIqIj09PShnPShnPWFbMF0pLnRyaW0oKSk/MS8wOnBhcnNlSW50KGcsMTApfHwwO24rPWFbMF0ubGVuZ3RoKzE7Y29udGludWV9bGV0IGM7c3dpdGNoKGUuY2hhckF0KG4pKXtjYXNlIi4iOmlmKCF0KXJldHVybiBudWxsO24rKztjPUVuLmRvdERvdDticmVhaztjYXNlIiMiOm4rKztjPUVuLmRvdEhhc2g7YnJlYWs7Y2FzZSJbIjppZihpKXt3YXJuKCJYRkEgLSBTT00gZXhwcmVzc2lvbiBjb250YWlucyBhIEZvcm1DYWxjIHN1YmV4cHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBmb3Igbm93LiIpO3JldHVybiBudWxsfWM9RW4uZG90QnJhY2tldDticmVhaztjYXNlIigiOmlmKGkpe3dhcm4oIlhGQSAtIFNPTSBleHByZXNzaW9uIGNvbnRhaW5zIGEgSmF2YVNjcmlwdCBzdWJleHByZXNzaW9uIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG5vdy4iKTtyZXR1cm4gbnVsbH1jPUVuLmRvdFBhcmVuO2JyZWFrO2RlZmF1bHQ6Yz1Fbi5kb3R9YT1lLnNsaWNlKG4pLm1hdGNoKEJuKTtpZighYSlicmVhaztbc109YTtuKz1zLmxlbmd0aDtyLnB1c2goe25hbWU6cyxjYWNoZU5hbWU6ZS5zbGljZShvLG4pLG9wZXJhdG9yOmMsaW5kZXg6MCxqczpudWxsLGZvcm1DYWxjOm51bGx9KX12YXIgZztyZXR1cm4gcn1mdW5jdGlvbiBzZWFyY2hOb2RlKGUsdCxpLGE9ITAscz0hMCl7Y29uc3Qgcj1wYXJzZUV4cHJlc3Npb24oaSxhKTtpZighcilyZXR1cm4gbnVsbDtjb25zdCBuPXVuLmdldChyWzBdLm5hbWUpO2xldCBnLG89MDtpZihuKXtnPSEwO2U9W24oZSx0KV07bz0xfWVsc2V7Zz1udWxsPT09dDtlPVt0fHxlXX1mb3IobGV0IGk9ci5sZW5ndGg7bzxpO28rKyl7Y29uc3R7bmFtZTppLGNhY2hlTmFtZTphLG9wZXJhdG9yOm4saW5kZXg6Y309cltvXSxDPVtdO2Zvcihjb25zdCB0IG9mIGUpe2lmKCF0LmlzWEZBT2JqZWN0KWNvbnRpbnVlO2xldCBlLHI7aWYocyl7cj1kbi5nZXQodCk7aWYoIXIpe3I9bmV3IE1hcDtkbi5zZXQodCxyKX1lPXIuZ2V0KGEpfWlmKCFlKXtzd2l0Y2gobil7Y2FzZSBFbi5kb3Q6ZT10W2xyXShpLCExKTticmVhaztjYXNlIEVuLmRvdERvdDplPXRbbHJdKGksITApO2JyZWFrO2Nhc2UgRW4uZG90SGFzaDplPXRbaHJdKGkpO2U9ZS5pc1hGQU9iamVjdEFycmF5P2UuY2hpbGRyZW46W2VdfXMmJnIuc2V0KGEsZSl9ZS5sZW5ndGg+MCYmQy5wdXNoKGUpfWlmKDAhPT1DLmxlbmd0aHx8Z3x8MCE9PW8pZT1pc0Zpbml0ZShjKT9DLmZpbHRlcigoZT0+YzxlLmxlbmd0aCkpLm1hcCgoZT0+ZVtjXSkpOkMuZmxhdCgpO2Vsc2V7Y29uc3QgaT10W3dyXSgpO2lmKCEodD1pKSlyZXR1cm4gbnVsbDtvPS0xO2U9W3RdfX1yZXR1cm4gMD09PWUubGVuZ3RoP251bGw6ZX1mdW5jdGlvbiBjcmVhdGVEYXRhTm9kZShlLHQsaSl7Y29uc3QgYT1wYXJzZUV4cHJlc3Npb24oaSk7aWYoIWEpcmV0dXJuIG51bGw7aWYoYS5zb21lKChlPT5lLm9wZXJhdG9yPT09RW4uZG90RG90KSkpcmV0dXJuIG51bGw7Y29uc3Qgcz11bi5nZXQoYVswXS5uYW1lKTtsZXQgcj0wO2lmKHMpe2U9cyhlLHQpO3I9MX1lbHNlIGU9dHx8ZTtmb3IobGV0IHQ9YS5sZW5ndGg7cjx0O3IrKyl7Y29uc3R7bmFtZTp0LG9wZXJhdG9yOmksaW5kZXg6c309YVtyXTtpZighaXNGaW5pdGUocykpe2Fbcl0uaW5kZXg9MDtyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKX1sZXQgbjtzd2l0Y2goaSl7Y2FzZSBFbi5kb3Q6bj1lW2xyXSh0LCExKTticmVhaztjYXNlIEVuLmRvdERvdDpuPWVbbHJdKHQsITApO2JyZWFrO2Nhc2UgRW4uZG90SGFzaDpuPWVbaHJdKHQpO249bi5pc1hGQU9iamVjdEFycmF5P24uY2hpbGRyZW46W25dfWlmKDA9PT1uLmxlbmd0aClyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKTtpZighKHM8bi5sZW5ndGgpKXthW3JdLmluZGV4PXMtbi5sZW5ndGg7cmV0dXJuIGUuY3JlYXRlTm9kZXMoYS5zbGljZShyKSl9e2NvbnN0IHQ9bltzXTtpZighdC5pc1hGQU9iamVjdCl7d2FybigiWEZBIC0gQ2Fubm90IGNyZWF0ZSBhIG5vZGUuIik7cmV0dXJuIG51bGx9ZT10fX1yZXR1cm4gbnVsbH1jb25zdCBmbj1TeW1ib2woKSxwbj1TeW1ib2woKSxtbj1TeW1ib2woKSx5bj1TeW1ib2woIl9jaGlsZHJlbiIpLHduPVN5bWJvbCgpLERuPVN5bWJvbCgpLGJuPVN5bWJvbCgpLEZuPVN5bWJvbCgpLFNuPVN5bWJvbCgpLGtuPVN5bWJvbCgpLFJuPVN5bWJvbCgpLE5uPVN5bWJvbCgpLEduPVN5bWJvbCgpLHhuPVN5bWJvbCgicGFyZW50IiksVW49U3ltYm9sKCksTW49U3ltYm9sKCksTG49U3ltYm9sKCk7bGV0IEhuPTA7Y29uc3QgSm49Q24uZGF0YXNldHMuaWQ7Y2xhc3MgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCxpPSExKXt0aGlzW0tyXT1lO3RoaXNbVHJdPXQ7dGhpc1tSbl09aTt0aGlzW3huXT1udWxsO3RoaXNbeW5dPVtdO3RoaXNbSW5dPWAke3R9JHtIbisrfWA7dGhpc1ticl09bnVsbH1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMH1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiExfWNyZWF0ZU5vZGVzKGUpe2xldCB0PXRoaXMsaT1udWxsO2Zvcihjb25zdHtuYW1lOmEsaW5kZXg6c31vZiBlKXtmb3IobGV0IGU9MCxyPWlzRmluaXRlKHMpP3M6MDtlPD1yO2UrKyl7Y29uc3QgZT10W0tyXT09PUpuPy0xOnRbS3JdO2k9bmV3IFhtbE9iamVjdChlLGEpO3RbenNdKGkpfXQ9aX1yZXR1cm4gaX1bT3JdKGUpe2lmKCF0aGlzW1JuXXx8IXRoaXNbUHJdKGUpKXJldHVybiExO2NvbnN0IHQ9ZVtUcl0saT10aGlzW3RdO2lmKCEoaSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5KSl7bnVsbCE9PWkmJnRoaXNbVnJdKGkpO3RoaXNbdF09ZTt0aGlzW3pzXShlKTtyZXR1cm4hMH1pZihpLnB1c2goZSkpe3RoaXNbenNdKGUpO3JldHVybiEwfWxldCBhPSIiO3RoaXMuaWQ/YT1gIChpZDogJHt0aGlzLmlkfSlgOnRoaXMubmFtZSYmKGE9YCAobmFtZTogJHt0aGlzLm5hbWV9ICR7dGhpcy5oLnZhbHVlfSlgKTt3YXJuKGBYRkEgLSBub2RlICIke3RoaXNbVHJdfSIke2F9IGhhcyBhbHJlYWR5IGVub3VnaCAiJHt0fSIhYCk7cmV0dXJuITF9W1ByXShlKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShlW1RyXSkmJmVbS3JdPT09dGhpc1tLcl19W01yXSgpe3JldHVybiExfVtac10oKXtyZXR1cm4hMX1bTnJdKCl7cmV0dXJuITF9W0dyXSgpe3JldHVybiExfVtYcl0oKXt0aGlzLnBhcmEmJnRoaXNbRHJdKClbbnJdLnBhcmFTdGFjay5wb3AoKX1bWnJdKCl7dGhpc1tEcl0oKVtucl0ucGFyYVN0YWNrLnB1c2godGhpcy5wYXJhKX1bQW5dKGUpe3RoaXMuaWQmJnRoaXNbS3JdPT09Q24udGVtcGxhdGUuaWQmJmUuc2V0KHRoaXMuaWQsdGhpcyl9W0RyXSgpe3JldHVybiB0aGlzW2JyXS50ZW1wbGF0ZX1bTHJdKCl7cmV0dXJuITF9W0hyXSgpe3JldHVybiExfVt6c10oZSl7ZVt4bl09dGhpczt0aGlzW3luXS5wdXNoKGUpOyFlW2JyXSYmdGhpc1ticl0mJihlW2JyXT10aGlzW2JyXSl9W1ZyXShlKXtjb25zdCB0PXRoaXNbeW5dLmluZGV4T2YoZSk7dGhpc1t5bl0uc3BsaWNlKHQsMSl9W0ZyXSgpe3JldHVybiB0aGlzLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfVt0bl0oZSl7fVtXcl0oZSl7fVtncl0oKXt9WyRzXShlKXtkZWxldGUgdGhpc1tSbl07aWYodGhpc1tlcl0pe2UuY2xlYW4odGhpc1tlcl0pO2RlbGV0ZSB0aGlzW2VyXX19W2tyXShlKXtyZXR1cm4gdGhpc1t5bl0uaW5kZXhPZihlKX1bUnJdKGUsdCl7dFt4bl09dGhpczt0aGlzW3luXS5zcGxpY2UoZSwwLHQpOyF0W2JyXSYmdGhpc1ticl0mJih0W2JyXT10aGlzW2JyXSl9W0pyXSgpe3JldHVybiF0aGlzLm5hbWV9W3ZyXSgpe3JldHVybiIifVtzbl0oKXtyZXR1cm4gMD09PXRoaXNbeW5dLmxlbmd0aD90aGlzW2FyXTp0aGlzW3luXS5tYXAoKGU9PmVbc25dKCkpKS5qb2luKCIiKX1nZXRbbW5dKCl7Y29uc3QgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoIWUuX2F0dHJpYnV0ZXMpe2NvbnN0IHQ9ZS5fYXR0cmlidXRlcz1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZihudWxsPT09dGhpc1tlXXx8dGhpc1tlXWluc3RhbmNlb2YgWEZBT2JqZWN0fHx0aGlzW2VdaW5zdGFuY2VvZiBYRkFPYmplY3RBcnJheSlicmVhazt0LmFkZChlKX19cmV0dXJuIHNoYWRvdyh0aGlzLG1uLGUuX2F0dHJpYnV0ZXMpfVtVcl0oZSl7bGV0IHQ9dGhpcztmb3IoO3Q7KXtpZih0PT09ZSlyZXR1cm4hMDt0PXRbd3JdKCl9cmV0dXJuITF9W3dyXSgpe3JldHVybiB0aGlzW3huXX1beXJdKCl7cmV0dXJuIHRoaXNbd3JdKCl9W2ZyXShlPW51bGwpe3JldHVybiBlP3RoaXNbZV06dGhpc1t5bl19W3JyXSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzW2FyXSYmKGUuJGNvbnRlbnQ9dGhpc1thcl0pO2Zvcihjb25zdCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCBpPXRoaXNbdF07bnVsbCE9PWkmJihpIGluc3RhbmNlb2YgWEZBT2JqZWN0P2VbdF09aVtycl0oKTppIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXk/aS5pc0VtcHR5KCl8fChlW3RdPWkuZHVtcCgpKTplW3RdPWkpfXJldHVybiBlfVtvbl0oKXtyZXR1cm4gbnVsbH1bbm5dKCl7cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9Kltwcl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzW2ZyXSgpKXlpZWxkIGV9KltGbl0oZSx0KXtmb3IoY29uc3QgaSBvZiB0aGlzW3ByXSgpKWlmKCFlfHx0PT09ZS5oYXMoaVtUcl0pKXtjb25zdCBlPXRoaXNbQ3JdKCksdD1pW25uXShlKTt0LnN1Y2Nlc3N8fCh0aGlzW25yXS5mYWlsaW5nTm9kZT1pKTt5aWVsZCB0fX1bb3JdKCl7cmV0dXJuIG51bGx9W1ZzXShlLHQpe3RoaXNbbnJdLmNoaWxkcmVuLnB1c2goZSl9W0NyXSgpe31bX3NdKHtmaWx0ZXI6ZT1udWxsLGluY2x1ZGU6dD0hMH0pe2lmKHRoaXNbbnJdLmdlbmVyYXRvcil7Y29uc3QgZT10aGlzW0NyXSgpLHQ9dGhpc1tucl0uZmFpbGluZ05vZGVbbm5dKGUpO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW1ZzXSh0Lmh0bWwsdC5iYm94KTtkZWxldGUgdGhpc1tucl0uZmFpbGluZ05vZGV9ZWxzZSB0aGlzW25yXS5nZW5lcmF0b3I9dGhpc1tGbl0oZSx0KTtmb3IoOzspe2NvbnN0IGU9dGhpc1tucl0uZ2VuZXJhdG9yLm5leHQoKTtpZihlLmRvbmUpYnJlYWs7Y29uc3QgdD1lLnZhbHVlO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW1ZzXSh0Lmh0bWwsdC5iYm94KX10aGlzW25yXS5nZW5lcmF0b3I9bnVsbDtyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1bZW5dKGUpe3RoaXNbTW5dPW5ldyBTZXQoT2JqZWN0LmtleXMoZSkpfVtrbl0oZSl7Y29uc3QgdD10aGlzW21uXSxpPXRoaXNbTW5dO3JldHVyblsuLi5lXS5maWx0ZXIoKGU9PnQuaGFzKGUpJiYhaS5oYXMoZSkpKX1bX3JdKGUsdD1uZXcgU2V0KXtmb3IoY29uc3QgaSBvZiB0aGlzW3luXSlpW1VuXShlLHQpfVtVbl0oZSx0KXtjb25zdCBpPXRoaXNbU25dKGUsdCk7aT90aGlzW2ZuXShpLGUsdCk6dGhpc1tfcl0oZSx0KX1bU25dKGUsdCl7Y29uc3R7dXNlOmksdXNlaHJlZjphfT10aGlzO2lmKCFpJiYhYSlyZXR1cm4gbnVsbDtsZXQgcz1udWxsLHI9bnVsbCxuPW51bGwsZz1pO2lmKGEpe2c9YTthLnN0YXJ0c1dpdGgoIiNzb20oIikmJmEuZW5kc1dpdGgoIikiKT9yPWEuc2xpY2UoNSwtMSk6YS5zdGFydHNXaXRoKCIuI3NvbSgiKSYmYS5lbmRzV2l0aCgiKSIpP3I9YS5zbGljZSg2LC0xKTphLnN0YXJ0c1dpdGgoIiMiKT9uPWEuc2xpY2UoMSk6YS5zdGFydHNXaXRoKCIuIyIpJiYobj1hLnNsaWNlKDIpKX1lbHNlIGkuc3RhcnRzV2l0aCgiIyIpP249aS5zbGljZSgxKTpyPWk7dGhpcy51c2U9dGhpcy51c2VocmVmPSIiO2lmKG4pcz1lLmdldChuKTtlbHNle3M9c2VhcmNoTm9kZShlLmdldCh6ciksdGhpcyxyLCEwLCExKTtzJiYocz1zWzBdKX1pZighcyl7d2FybihgWEZBIC0gSW52YWxpZCBwcm90b3R5cGUgcmVmZXJlbmNlOiAke2d9LmApO3JldHVybiBudWxsfWlmKHNbVHJdIT09dGhpc1tUcl0pe3dhcm4oYFhGQSAtIEluY29tcGF0aWJsZSBwcm90b3R5cGU6ICR7c1tUcl19ICE9PSAke3RoaXNbVHJdfS5gKTtyZXR1cm4gbnVsbH1pZih0LmhhcyhzKSl7d2FybigiWEZBIC0gQ3ljbGUgZGV0ZWN0ZWQgaW4gcHJvdG90eXBlcyB1c2UuIik7cmV0dXJuIG51bGx9dC5hZGQocyk7Y29uc3Qgbz1zW1NuXShlLHQpO28mJnNbZm5dKG8sZSx0KTtzW19yXShlLHQpO3QuZGVsZXRlKHMpO3JldHVybiBzfVtmbl0oZSx0LGkpe2lmKGkuaGFzKGUpKXt3YXJuKCJYRkEgLSBDeWNsZSBkZXRlY3RlZCBpbiBwcm90b3R5cGVzIHVzZS4iKTtyZXR1cm59IXRoaXNbYXJdJiZlW2FyXSYmKHRoaXNbYXJdPWVbYXJdKTtuZXcgU2V0KGkpLmFkZChlKTtmb3IoY29uc3QgdCBvZiB0aGlzW2tuXShlW01uXSkpe3RoaXNbdF09ZVt0XTt0aGlzW01uXSYmdGhpc1tNbl0uYWRkKHQpfWZvcihjb25zdCBhIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZih0aGlzW21uXS5oYXMoYSkpY29udGludWU7Y29uc3Qgcz10aGlzW2FdLHI9ZVthXTtpZihzIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpe2Zvcihjb25zdCBlIG9mIHNbeW5dKWVbVW5dKHQsaSk7Zm9yKGxldCBhPXNbeW5dLmxlbmd0aCxuPXJbeW5dLmxlbmd0aDthPG47YSsrKXtjb25zdCByPWVbeW5dW2FdW3RyXSgpO2lmKCFzLnB1c2gocikpYnJlYWs7clt4bl09dGhpczt0aGlzW3luXS5wdXNoKHIpO3JbVW5dKHQsaSl9fWVsc2UgaWYobnVsbD09PXMpe2lmKG51bGwhPT1yKXtjb25zdCBlPXJbdHJdKCk7ZVt4bl09dGhpczt0aGlzW2FdPWU7dGhpc1t5bl0ucHVzaChlKTtlW1VuXSh0LGkpfX1lbHNle3NbX3JdKHQsaSk7ciYmc1tmbl0ocix0LGkpfX19c3RhdGljW3duXShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLm1hcCgoZT0+WEZBT2JqZWN0W3duXShlKSkpOiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWU/T2JqZWN0LmFzc2lnbih7fSxlKTplfVt0cl0oKXtjb25zdCBlPU9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRoaXMpKXRyeXtlW3RdPXRoaXNbdF19Y2F0Y2h7c2hhZG93KGUsdCx0aGlzW3RdKX1lW0luXT1gJHtlW1RyXX0ke0huKyt9YDtlW3luXT1bXTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYodGhpc1ttbl0uaGFzKHQpKXtlW3RdPVhGQU9iamVjdFt3bl0odGhpc1t0XSk7Y29udGludWV9Y29uc3QgaT10aGlzW3RdO2VbdF09aSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5P25ldyBYRkFPYmplY3RBcnJheShpW05uXSk6bnVsbH1mb3IoY29uc3QgdCBvZiB0aGlzW3luXSl7Y29uc3QgaT10W1RyXSxhPXRbdHJdKCk7ZVt5bl0ucHVzaChhKTthW3huXT1lO251bGw9PT1lW2ldP2VbaV09YTplW2ldW3luXS5wdXNoKGEpfXJldHVybiBlfVtmcl0oZT1udWxsKXtyZXR1cm4gZT90aGlzW3luXS5maWx0ZXIoKHQ9PnRbVHJdPT09ZSkpOnRoaXNbeW5dfVtocl0oZSl7cmV0dXJuIHRoaXNbZV19W2xyXShlLHQsaT0hMCl7cmV0dXJuIEFycmF5LmZyb20odGhpc1tRcl0oZSx0LGkpKX0qW1FyXShlLHQsaT0hMCl7aWYoInBhcmVudCIhPT1lKXtmb3IoY29uc3QgaSBvZiB0aGlzW3luXSl7aVtUcl09PT1lJiYoeWllbGQgaSk7aS5uYW1lPT09ZSYmKHlpZWxkIGkpOyh0fHxpW0pyXSgpKSYmKHlpZWxkKmlbUXJdKGUsdCwhMSkpfWkmJnRoaXNbbW5dLmhhcyhlKSYmKHlpZWxkIG5ldyBYRkFBdHRyaWJ1dGUodGhpcyxlLHRoaXNbZV0pKX1lbHNlIHlpZWxkIHRoaXNbeG5dfX1jbGFzcyBYRkFPYmplY3RBcnJheXtjb25zdHJ1Y3RvcihlPTEvMCl7dGhpc1tObl09ZTt0aGlzW3luXT1bXX1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMX1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiEwfXB1c2goZSl7aWYodGhpc1t5bl0ubGVuZ3RoPD10aGlzW05uXSl7dGhpc1t5bl0ucHVzaChlKTtyZXR1cm4hMH13YXJuKGBYRkEgLSBub2RlICIke2VbVHJdfSIgYWNjZXB0cyBubyBtb3JlIHRoYW4gJHt0aGlzW05uXX0gY2hpbGRyZW5gKTtyZXR1cm4hMX1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzW3luXS5sZW5ndGh9ZHVtcCgpe3JldHVybiAxPT09dGhpc1t5bl0ubGVuZ3RoP3RoaXNbeW5dWzBdW3JyXSgpOnRoaXNbeW5dLm1hcCgoZT0+ZVtycl0oKSkpfVt0cl0oKXtjb25zdCBlPW5ldyBYRkFPYmplY3RBcnJheSh0aGlzW05uXSk7ZVt5bl09dGhpc1t5bl0ubWFwKChlPT5lW3RyXSgpKSk7cmV0dXJuIGV9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXNbeW5dfWNsZWFyKCl7dGhpc1t5bl0ubGVuZ3RoPTB9fWNsYXNzIFhGQUF0dHJpYnV0ZXtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpc1t4bl09ZTt0aGlzW1RyXT10O3RoaXNbYXJdPWk7dGhpc1tpcl09ITE7dGhpc1tJbl09ImF0dHJpYnV0ZSIrSG4rK31bd3JdKCl7cmV0dXJuIHRoaXNbeG5dfVt4cl0oKXtyZXR1cm4hMH1bRXJdKCl7cmV0dXJuIHRoaXNbYXJdLnRyaW0oKX1bdG5dKGUpe2U9ZS52YWx1ZXx8IiI7dGhpc1thcl09ZS50b1N0cmluZygpfVtzbl0oKXtyZXR1cm4gdGhpc1thcl19W1VyXShlKXtyZXR1cm4gdGhpc1t4bl09PT1lfHx0aGlzW3huXVtVcl0oZSl9fWNsYXNzIFhtbE9iamVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaT17fSl7c3VwZXIoZSx0KTt0aGlzW2FyXT0iIjt0aGlzW0RuXT1udWxsO2lmKCIjdGV4dCIhPT10KXtjb25zdCBlPW5ldyBNYXA7dGhpc1twbl09ZTtmb3IoY29uc3RbdCxhXW9mIE9iamVjdC5lbnRyaWVzKGkpKWUuc2V0KHQsbmV3IFhGQUF0dHJpYnV0ZSh0aGlzLHQsYSkpO2lmKGkuaGFzT3duUHJvcGVydHkocXIpKXtjb25zdCBlPWlbcXJdLnhmYS5kYXRhTm9kZTt2b2lkIDAhPT1lJiYoImRhdGFHcm91cCI9PT1lP3RoaXNbRG5dPSExOiJkYXRhVmFsdWUiPT09ZSYmKHRoaXNbRG5dPSEwKSl9fXRoaXNbaXJdPSExfVtnbl0oZSl7Y29uc3QgdD10aGlzW1RyXTtpZigiI3RleHQiPT09dCl7ZS5wdXNoKGVuY29kZVRvWG1sU3RyaW5nKHRoaXNbYXJdKSk7cmV0dXJufWNvbnN0IGk9dXRmOFN0cmluZ1RvU3RyaW5nKHQpLGE9dGhpc1tLcl09PT1Kbj8ieGZhOiI6IiI7ZS5wdXNoKGA8JHthfSR7aX1gKTtmb3IoY29uc3RbdCxpXW9mIHRoaXNbcG5dLmVudHJpZXMoKSl7Y29uc3QgYT11dGY4U3RyaW5nVG9TdHJpbmcodCk7ZS5wdXNoKGAgJHthfT0iJHtlbmNvZGVUb1htbFN0cmluZyhpW2FyXSl9ImApfW51bGwhPT10aGlzW0RuXSYmKHRoaXNbRG5dP2UucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YVZhbHVlIicpOmUucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YUdyb3VwIicpKTtpZih0aGlzW2FyXXx8MCE9PXRoaXNbeW5dLmxlbmd0aCl7ZS5wdXNoKCI+Iik7aWYodGhpc1thcl0pInN0cmluZyI9PXR5cGVvZiB0aGlzW2FyXT9lLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpc1thcl0pKTp0aGlzW2FyXVtnbl0oZSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW3luXSl0W2duXShlKTtlLnB1c2goYDwvJHthfSR7aX0+YCl9ZWxzZSBlLnB1c2goIi8+Iil9W09yXShlKXtpZih0aGlzW2FyXSl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbS3JdLCIjdGV4dCIpO3RoaXNbenNdKGUpO2VbYXJdPXRoaXNbYXJdO3RoaXNbYXJdPSIifXRoaXNbenNdKGUpO3JldHVybiEwfVtXcl0oZSl7dGhpc1thcl0rPWV9W2dyXSgpe2lmKHRoaXNbYXJdJiZ0aGlzW3luXS5sZW5ndGg+MCl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbS3JdLCIjdGV4dCIpO3RoaXNbenNdKGUpO2VbYXJdPXRoaXNbYXJdO2RlbGV0ZSB0aGlzW2FyXX19W25uXSgpe3JldHVybiIjdGV4dCI9PT10aGlzW1RyXT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6IiN0ZXh0Iix2YWx1ZTp0aGlzW2FyXX0pOkhUTUxSZXN1bHQuRU1QVFl9W2ZyXShlPW51bGwpe3JldHVybiBlP3RoaXNbeW5dLmZpbHRlcigodD0+dFtUcl09PT1lKSk6dGhpc1t5bl19W2NyXSgpe3JldHVybiB0aGlzW3BuXX1baHJdKGUpe2NvbnN0IHQ9dGhpc1twbl0uZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6dGhpc1tmcl0oZSl9KltRcl0oZSx0KXtjb25zdCBpPXRoaXNbcG5dLmdldChlKTtpJiYoeWllbGQgaSk7Zm9yKGNvbnN0IGkgb2YgdGhpc1t5bl0pe2lbVHJdPT09ZSYmKHlpZWxkIGkpO3QmJih5aWVsZCppW1FyXShlLHQpKX19KltJcl0oZSx0KXtjb25zdCBpPXRoaXNbcG5dLmdldChlKTshaXx8dCYmaVtpcl18fCh5aWVsZCBpKTtmb3IoY29uc3QgaSBvZiB0aGlzW3luXSl5aWVsZCppW0lyXShlLHQpfSpbZHJdKGUsdCxpKXtmb3IoY29uc3QgYSBvZiB0aGlzW3luXSl7YVtUcl0hPT1lfHxpJiZhW2lyXXx8KHlpZWxkIGEpO3QmJih5aWVsZCphW2RyXShlLHQsaSkpfX1beHJdKCl7cmV0dXJuIG51bGw9PT10aGlzW0RuXT8wPT09dGhpc1t5bl0ubGVuZ3RofHx0aGlzW3luXVswXVtLcl09PT1Dbi54aHRtbC5pZDp0aGlzW0RuXX1bRXJdKCl7cmV0dXJuIG51bGw9PT10aGlzW0RuXT8wPT09dGhpc1t5bl0ubGVuZ3RoP3RoaXNbYXJdLnRyaW0oKTp0aGlzW3luXVswXVtLcl09PT1Dbi54aHRtbC5pZD90aGlzW3luXVswXVtzbl0oKS50cmltKCk6bnVsbDp0aGlzW2FyXS50cmltKCl9W3RuXShlKXtlPWUudmFsdWV8fCIiO3RoaXNbYXJdPWUudG9TdHJpbmcoKX1bcnJdKGU9ITEpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtlJiYodC4kbnM9dGhpc1tLcl0pO3RoaXNbYXJdJiYodC4kY29udGVudD10aGlzW2FyXSk7dC4kbmFtZT10aGlzW1RyXTt0LmNoaWxkcmVuPVtdO2Zvcihjb25zdCBpIG9mIHRoaXNbeW5dKXQuY2hpbGRyZW4ucHVzaChpW3JyXShlKSk7dC5hdHRyaWJ1dGVzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W2UsaV1vZiB0aGlzW3BuXSl0LmF0dHJpYnV0ZXNbZV09aVthcl07cmV0dXJuIHR9fWNsYXNzIENvbnRlbnRPYmplY3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO3RoaXNbYXJdPSIifVtXcl0oZSl7dGhpc1thcl0rPWV9W2dyXSgpe319Y2xhc3MgT3B0aW9uT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0KTt0aGlzW0duXT1pfVtncl0oKXt0aGlzW2FyXT1nZXRLZXl3b3JkKHtkYXRhOnRoaXNbYXJdLGRlZmF1bHRWYWx1ZTp0aGlzW0duXVswXSx2YWxpZGF0ZTplPT50aGlzW0duXS5pbmNsdWRlcyhlKX0pfVskc10oZSl7c3VwZXJbJHNdKGUpO2RlbGV0ZSB0aGlzW0duXX19Y2xhc3MgU3RyaW5nT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtbZ3JdKCl7dGhpc1thcl09dGhpc1thcl0udHJpbSgpfX1jbGFzcyBJbnRlZ2VyT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcihlLHQpO3RoaXNbYm5dPWk7dGhpc1tMbl09YX1bZ3JdKCl7dGhpc1thcl09Z2V0SW50ZWdlcih7ZGF0YTp0aGlzW2FyXSxkZWZhdWx0VmFsdWU6dGhpc1tibl0sdmFsaWRhdGU6dGhpc1tMbl19KX1bJHNdKGUpe3N1cGVyWyRzXShlKTtkZWxldGUgdGhpc1tibl07ZGVsZXRlIHRoaXNbTG5dfX1jbGFzcyBPcHRpb24wMSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsMCwoZT0+MT09PWUpKX19Y2xhc3MgT3B0aW9uMTAgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LDEsKGU9PjA9PT1lKSl9fWZ1bmN0aW9uIG1lYXN1cmVUb1N0cmluZyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/IjBweCI6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtlfXB4YDpgJHtlLnRvRml4ZWQoMil9cHhgfWNvbnN0IFluPXthbmNob3JUeXBlKGUsdCl7Y29uc3QgaT1lW3lyXSgpO2lmKGkmJighaS5sYXlvdXR8fCJwb3NpdGlvbiI9PT1pLmxheW91dCkpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTtzd2l0Y2goZS5hbmNob3JUeXBlKXtjYXNlImJvdHRvbUNlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwgLTEwMCUpIjticmVhaztjYXNlImJvdHRvbUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTEwMCUpIjticmVhaztjYXNlImJvdHRvbVJpZ2h0Ijp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtMTAwJSwtMTAwJSkiO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtNTAlLC01MCUpIjticmVhaztjYXNlIm1pZGRsZUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTUwJSkiO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKC0xMDAlLC01MCUpIjticmVhaztjYXNlInRvcENlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwwKSI7YnJlYWs7Y2FzZSJ0b3BSaWdodCI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTEwMCUsMCkifX19LGRpbWVuc2lvbnMoZSx0KXtjb25zdCBpPWVbeXJdKCk7bGV0IGE9ZS53O2NvbnN0IHM9ZS5oO2lmKGkubGF5b3V0Py5pbmNsdWRlcygicm93Iikpe2NvbnN0IHQ9aVtucl0scz1lLmNvbFNwYW47bGV0IHI7aWYoLTE9PT1zKXtyPXQuY29sdW1uV2lkdGhzLnNsaWNlKHQuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTt0LmN1cnJlbnRDb2x1bW49MH1lbHNle3I9dC5jb2x1bW5XaWR0aHMuc2xpY2UodC5jdXJyZW50Q29sdW1uLHQuY3VycmVudENvbHVtbitzKS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApO3QuY3VycmVudENvbHVtbj0odC5jdXJyZW50Q29sdW1uK2UuY29sU3BhbikldC5jb2x1bW5XaWR0aHMubGVuZ3RofWlzTmFOKHIpfHwoYT1lLnc9cil9dC53aWR0aD0iIiE9PWE/bWVhc3VyZVRvU3RyaW5nKGEpOiJhdXRvIjt0LmhlaWdodD0iIiE9PXM/bWVhc3VyZVRvU3RyaW5nKHMpOiJhdXRvIn0scG9zaXRpb24oZSx0KXtjb25zdCBpPWVbeXJdKCk7aWYoIWk/LmxheW91dHx8InBvc2l0aW9uIj09PWkubGF5b3V0KXt0LnBvc2l0aW9uPSJhYnNvbHV0ZSI7dC5sZWZ0PW1lYXN1cmVUb1N0cmluZyhlLngpO3QudG9wPW1lYXN1cmVUb1N0cmluZyhlLnkpfX0scm90YXRlKGUsdCl7aWYoZS5yb3RhdGUpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTt0LnRyYW5zZm9ybSs9YHJvdGF0ZSgtJHtlLnJvdGF0ZX1kZWcpYDt0LnRyYW5zZm9ybU9yaWdpbj0idG9wIGxlZnQifX0scHJlc2VuY2UoZSx0KXtzd2l0Y2goZS5wcmVzZW5jZSl7Y2FzZSJpbnZpc2libGUiOnQudmlzaWJpbGl0eT0iaGlkZGVuIjticmVhaztjYXNlImhpZGRlbiI6Y2FzZSJpbmFjdGl2ZSI6dC5kaXNwbGF5PSJub25lIn19LGhBbGlnbihlLHQpe2lmKCJwYXJhIj09PWVbVHJdKXN3aXRjaChlLmhBbGlnbil7Y2FzZSJqdXN0aWZ5QWxsIjp0LnRleHRBbGlnbj0ianVzdGlmeS1hbGwiO2JyZWFrO2Nhc2UicmFkaXgiOnQudGV4dEFsaWduPSJsZWZ0IjticmVhaztkZWZhdWx0OnQudGV4dEFsaWduPWUuaEFsaWdufWVsc2Ugc3dpdGNoKGUuaEFsaWduKXtjYXNlImxlZnQiOnQuYWxpZ25TZWxmPSJzdGFydCI7YnJlYWs7Y2FzZSJjZW50ZXIiOnQuYWxpZ25TZWxmPSJjZW50ZXIiO2JyZWFrO2Nhc2UicmlnaHQiOnQuYWxpZ25TZWxmPSJlbmQifX0sbWFyZ2luKGUsdCl7ZS5tYXJnaW4mJih0Lm1hcmdpbj1lLm1hcmdpbltvbl0oKS5tYXJnaW4pfX07ZnVuY3Rpb24gc2V0TWluTWF4RGltZW5zaW9ucyhlLHQpe2lmKCJwb3NpdGlvbiI9PT1lW3lyXSgpLmxheW91dCl7ZS5taW5XPjAmJih0Lm1pbldpZHRoPW1lYXN1cmVUb1N0cmluZyhlLm1pblcpKTtlLm1heFc+MCYmKHQubWF4V2lkdGg9bWVhc3VyZVRvU3RyaW5nKGUubWF4VykpO2UubWluSD4wJiYodC5taW5IZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWluSCkpO2UubWF4SD4wJiYodC5tYXhIZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWF4SCkpfX1mdW5jdGlvbiBsYXlvdXRUZXh0KGUsdCxpLGEscyxyKXtjb25zdCBuPW5ldyBUZXh0TWVhc3VyZSh0LGksYSxzKTsic3RyaW5nIj09dHlwZW9mIGU/bi5hZGRTdHJpbmcoZSk6ZVtqcl0obik7cmV0dXJuIG4uY29tcHV0ZShyKX1mdW5jdGlvbiBsYXlvdXROb2RlKGUsdCl7bGV0IGk9bnVsbCxhPW51bGwscz0hMTtpZigoIWUud3x8IWUuaCkmJmUudmFsdWUpe2xldCByPTAsbj0wO2lmKGUubWFyZ2luKXtyPWUubWFyZ2luLmxlZnRJbnNldCtlLm1hcmdpbi5yaWdodEluc2V0O249ZS5tYXJnaW4udG9wSW5zZXQrZS5tYXJnaW4uYm90dG9tSW5zZXR9bGV0IGc9bnVsbCxvPW51bGw7aWYoZS5wYXJhKXtvPU9iamVjdC5jcmVhdGUobnVsbCk7Zz0iIj09PWUucGFyYS5saW5lSGVpZ2h0P251bGw6ZS5wYXJhLmxpbmVIZWlnaHQ7by50b3A9IiI9PT1lLnBhcmEuc3BhY2VBYm92ZT8wOmUucGFyYS5zcGFjZUFib3ZlO28uYm90dG9tPSIiPT09ZS5wYXJhLnNwYWNlQmVsb3c/MDplLnBhcmEuc3BhY2VCZWxvdztvLmxlZnQ9IiI9PT1lLnBhcmEubWFyZ2luTGVmdD8wOmUucGFyYS5tYXJnaW5MZWZ0O28ucmlnaHQ9IiI9PT1lLnBhcmEubWFyZ2luUmlnaHQ/MDplLnBhcmEubWFyZ2luUmlnaHR9bGV0IGM9ZS5mb250O2lmKCFjKXtjb25zdCB0PWVbRHJdKCk7bGV0IGk9ZVt3cl0oKTtmb3IoO2kmJmkhPT10Oyl7aWYoaS5mb250KXtjPWkuZm9udDticmVha31pPWlbd3JdKCl9fWNvbnN0IEM9KGUud3x8dC53aWR0aCktcixoPWVbYnJdLmZvbnRGaW5kZXI7aWYoZS52YWx1ZS5leERhdGEmJmUudmFsdWUuZXhEYXRhW2FyXSYmInRleHQvaHRtbCI9PT1lLnZhbHVlLmV4RGF0YS5jb250ZW50VHlwZSl7Y29uc3QgdD1sYXlvdXRUZXh0KGUudmFsdWUuZXhEYXRhW2FyXSxjLG8sZyxoLEMpO2E9dC53aWR0aDtpPXQuaGVpZ2h0O3M9dC5pc0Jyb2tlbn1lbHNle2NvbnN0IHQ9ZS52YWx1ZVtzbl0oKTtpZih0KXtjb25zdCBlPWxheW91dFRleHQodCxjLG8sZyxoLEMpO2E9ZS53aWR0aDtpPWUuaGVpZ2h0O3M9ZS5pc0Jyb2tlbn19bnVsbD09PWF8fGUud3x8KGErPXIpO251bGw9PT1pfHxlLmh8fChpKz1uKX1yZXR1cm57dzphLGg6aSxpc0Jyb2tlbjpzfX1mdW5jdGlvbiBjb21wdXRlQmJveChlLHQsaSl7bGV0IGE7aWYoIiIhPT1lLncmJiIiIT09ZS5oKWE9W2UueCxlLnksZS53LGUuaF07ZWxzZXtpZighaSlyZXR1cm4gbnVsbDtsZXQgcz1lLnc7aWYoIiI9PT1zKXtpZigwPT09ZS5tYXhXKXtjb25zdCB0PWVbeXJdKCk7cz0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC53PzA6ZS5taW5XfWVsc2Ugcz1NYXRoLm1pbihlLm1heFcsaS53aWR0aCk7dC5hdHRyaWJ1dGVzLnN0eWxlLndpZHRoPW1lYXN1cmVUb1N0cmluZyhzKX1sZXQgcj1lLmg7aWYoIiI9PT1yKXtpZigwPT09ZS5tYXhIKXtjb25zdCB0PWVbeXJdKCk7cj0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC5oPzA6ZS5taW5IfWVsc2Ugcj1NYXRoLm1pbihlLm1heEgsaS5oZWlnaHQpO3QuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHIpfWE9W2UueCxlLnkscyxyXX1yZXR1cm4gYX1mdW5jdGlvbiBmaXhEaW1lbnNpb25zKGUpe2NvbnN0IHQ9ZVt5cl0oKTtpZih0LmxheW91dD8uaW5jbHVkZXMoInJvdyIpKXtjb25zdCBpPXRbbnJdLGE9ZS5jb2xTcGFuO2xldCBzO3M9LTE9PT1hP2kuY29sdW1uV2lkdGhzLnNsaWNlKGkuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTppLmNvbHVtbldpZHRocy5zbGljZShpLmN1cnJlbnRDb2x1bW4saS5jdXJyZW50Q29sdW1uK2EpLnJlZHVjZSgoKGUsdCk9PmUrdCksMCk7aXNOYU4ocyl8fChlLnc9cyl9dC5sYXlvdXQmJiJwb3NpdGlvbiIhPT10LmxheW91dCYmKGUueD1lLnk9MCk7InRhYmxlIj09PWUubGF5b3V0JiYiIj09PWUudyYmQXJyYXkuaXNBcnJheShlLmNvbHVtbldpZHRocykmJihlLnc9ZS5jb2x1bW5XaWR0aHMucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKSl9ZnVuY3Rpb24gbGF5b3V0Q2xhc3MoZSl7c3dpdGNoKGUubGF5b3V0KXtjYXNlInBvc2l0aW9uIjpkZWZhdWx0OnJldHVybiJ4ZmFQb3NpdGlvbiI7Y2FzZSJsci10YiI6cmV0dXJuInhmYUxyVGIiO2Nhc2Uicmwtcm93IjpyZXR1cm4ieGZhUmxSb3ciO2Nhc2UicmwtdGIiOnJldHVybiJ4ZmFSbFRiIjtjYXNlInJvdyI6cmV0dXJuInhmYVJvdyI7Y2FzZSJ0YWJsZSI6cmV0dXJuInhmYVRhYmxlIjtjYXNlInRiIjpyZXR1cm4ieGZhVGIifX1mdW5jdGlvbiB0b1N0eWxlKGUsLi4udCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBhIG9mIHQpe2NvbnN0IHQ9ZVthXTtpZihudWxsIT09dClpZihZbi5oYXNPd25Qcm9wZXJ0eShhKSlZblthXShlLGkpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7Y29uc3QgZT10W29uXSgpO2U/T2JqZWN0LmFzc2lnbihpLGUpOndhcm4oYChERUJVRykgLSBYRkEgLSBzdHlsZSBmb3IgJHthfSBub3QgaW1wbGVtZW50ZWQgeWV0YCl9fXJldHVybiBpfWZ1bmN0aW9uIGNyZWF0ZVdyYXBwZXIoZSx0KXtjb25zdHthdHRyaWJ1dGVzOml9PXQse3N0eWxlOmF9PWkscz17bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVdyYXBwZXIiXSxzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSxjaGlsZHJlbjpbXX07aS5jbGFzcy5wdXNoKCJ4ZmFXcmFwcGVkIik7aWYoZS5ib3JkZXIpe2NvbnN0e3dpZHRoczppLGluc2V0czpyfT1lLmJvcmRlcltucl07bGV0IG4sZyxvPXJbMF0sYz1yWzNdO2NvbnN0IEM9clswXStyWzJdLGg9clsxXStyWzNdO3N3aXRjaChlLmJvcmRlci5oYW5kKXtjYXNlImV2ZW4iOm8tPWlbMF0vMjtjLT1pWzNdLzI7bj1gY2FsYygxMDAlICsgJHsoaVsxXStpWzNdKS8yLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAkeyhpWzBdK2lbMl0pLzItQ31weClgO2JyZWFrO2Nhc2UibGVmdCI6by09aVswXTtjLT1pWzNdO249YGNhbGMoMTAwJSArICR7aVsxXStpWzNdLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAke2lbMF0raVsyXS1DfXB4KWA7YnJlYWs7Y2FzZSJyaWdodCI6bj1oP2BjYWxjKDEwMCUgLSAke2h9cHgpYDoiMTAwJSI7Zz1DP2BjYWxjKDEwMCUgLSAke0N9cHgpYDoiMTAwJSJ9Y29uc3QgbD1bInhmYUJvcmRlciJdO2lzUHJpbnRPbmx5KGUuYm9yZGVyKSYmbC5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBRPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOmwsc3R5bGU6e3RvcDpgJHtvfXB4YCxsZWZ0OmAke2N9cHhgLHdpZHRoOm4saGVpZ2h0Omd9fSxjaGlsZHJlbjpbXX07Zm9yKGNvbnN0IGUgb2ZbImJvcmRlciIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJTdHlsZSJdKWlmKHZvaWQgMCE9PWFbZV0pe1EuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuY2hpbGRyZW4ucHVzaChRLHQpfWVsc2Ugcy5jaGlsZHJlbi5wdXNoKHQpO2Zvcihjb25zdCBlIG9mWyJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENsaXAiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmlzaWJpbGl0eSJdKWlmKHZvaWQgMCE9PWFbZV0pe3MuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09YS5wb3NpdGlvbj8iYWJzb2x1dGUiOiJyZWxhdGl2ZSI7ZGVsZXRlIGEucG9zaXRpb247aWYoYS5hbGlnblNlbGYpe3MuYXR0cmlidXRlcy5zdHlsZS5hbGlnblNlbGY9YS5hbGlnblNlbGY7ZGVsZXRlIGEuYWxpZ25TZWxmfXJldHVybiBzfWZ1bmN0aW9uIGZpeFRleHRJbmRlbnQoZSl7Y29uc3QgdD1nZXRNZWFzdXJlbWVudChlLnRleHRJbmRlbnQsIjBweCIpO2lmKHQ+PTApcmV0dXJuO2NvbnN0IGk9InBhZGRpbmciKygibGVmdCI9PT0oInJpZ2h0Ij09PWUudGV4dEFsaWduPyJyaWdodCI6ImxlZnQiKT8iTGVmdCI6IlJpZ2h0IiksYT1nZXRNZWFzdXJlbWVudChlW2ldLCIwcHgiKTtlW2ldPWEtdCsicHgifWZ1bmN0aW9uIHNldEFjY2VzcyhlLHQpe3N3aXRjaChlLmFjY2Vzcyl7Y2FzZSJub25JbnRlcmFjdGl2ZSI6dC5wdXNoKCJ4ZmFOb25JbnRlcmFjdGl2ZSIpO2JyZWFrO2Nhc2UicmVhZE9ubHkiOnQucHVzaCgieGZhUmVhZE9ubHkiKTticmVhaztjYXNlInByb3RlY3RlZCI6dC5wdXNoKCJ4ZmFEaXNhYmxlZCIpfX1mdW5jdGlvbiBpc1ByaW50T25seShlKXtyZXR1cm4gZS5yZWxldmFudC5sZW5ndGg+MCYmIWUucmVsZXZhbnRbMF0uZXhjbHVkZWQmJiJwcmludCI9PT1lLnJlbGV2YW50WzBdLnZpZXduYW1lfWZ1bmN0aW9uIGdldEN1cnJlbnRQYXJhKGUpe2NvbnN0IHQ9ZVtEcl0oKVtucl0ucGFyYVN0YWNrO3JldHVybiB0Lmxlbmd0aD90LmF0KC0xKTpudWxsfWZ1bmN0aW9uIHNldFBhcmEoZSx0LGkpe2lmKGkuYXR0cmlidXRlcy5jbGFzcz8uaW5jbHVkZXMoInhmYVJpY2giKSl7aWYodCl7IiI9PT1lLmgmJih0LmhlaWdodD0iYXV0byIpOyIiPT09ZS53JiYodC53aWR0aD0iYXV0byIpfWNvbnN0IGE9Z2V0Q3VycmVudFBhcmEoZSk7aWYoYSl7Y29uc3QgZT1pLmF0dHJpYnV0ZXMuc3R5bGU7ZS5kaXNwbGF5PSJmbGV4IjtlLmZsZXhEaXJlY3Rpb249ImNvbHVtbiI7c3dpdGNoKGEudkFsaWduKXtjYXNlInRvcCI6ZS5qdXN0aWZ5Q29udGVudD0ic3RhcnQiO2JyZWFrO2Nhc2UiYm90dG9tIjplLmp1c3RpZnlDb250ZW50PSJlbmQiO2JyZWFrO2Nhc2UibWlkZGxlIjplLmp1c3RpZnlDb250ZW50PSJjZW50ZXIifWNvbnN0IHQ9YVtvbl0oKTtmb3IoY29uc3RbaSxhXW9mIE9iamVjdC5lbnRyaWVzKHQpKWkgaW4gZXx8KGVbaV09YSl9fX1mdW5jdGlvbiBzZXRGb250RmFtaWx5KGUsdCxpLGEpe2lmKCFpKXtkZWxldGUgYS5mb250RmFtaWx5O3JldHVybn1jb25zdCBzPXN0cmlwUXVvdGVzKGUudHlwZWZhY2UpO2EuZm9udEZhbWlseT1gIiR7c30iYDtjb25zdCByPWkuZmluZChzKTtpZihyKXtjb25zdHtmb250RmFtaWx5Oml9PXIucmVndWxhci5jc3NGb250SW5mbztpIT09cyYmKGEuZm9udEZhbWlseT1gIiR7aX0iYCk7Y29uc3Qgbj1nZXRDdXJyZW50UGFyYSh0KTtpZihuJiYiIiE9PW4ubGluZUhlaWdodClyZXR1cm47aWYoYS5saW5lSGVpZ2h0KXJldHVybjtjb25zdCBnPXNlbGVjdEZvbnQoZSxyKTtnJiYoYS5saW5lSGVpZ2h0PU1hdGgubWF4KDEuMixnLmxpbmVIZWlnaHQpKX19ZnVuY3Rpb24gZml4VVJMKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlLG51bGwse2FkZERlZmF1bHRQcm90b2NvbDohMCx0cnlDb252ZXJ0RW5jb2Rpbmc6ITB9KTtyZXR1cm4gdD90LmhyZWY6bnVsbH1mdW5jdGlvbiBjcmVhdGVMaW5lKGUsdCl7cmV0dXJue25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJsci10YiI9PT1lLmxheW91dD8ieGZhTHIiOiJ4ZmFSbCJdfSxjaGlsZHJlbjp0fX1mdW5jdGlvbiBmbHVzaEhUTUwoZSl7aWYoIWVbbnJdKXJldHVybiBudWxsO2NvbnN0IHQ9e25hbWU6ImRpdiIsYXR0cmlidXRlczplW25yXS5hdHRyaWJ1dGVzLGNoaWxkcmVuOmVbbnJdLmNoaWxkcmVufTtpZihlW25yXS5mYWlsaW5nTm9kZSl7Y29uc3QgaT1lW25yXS5mYWlsaW5nTm9kZVtvcl0oKTtpJiYoZS5sYXlvdXQuZW5kc1dpdGgoIi10YiIpP3QuY2hpbGRyZW4ucHVzaChjcmVhdGVMaW5lKGUsW2ldKSk6dC5jaGlsZHJlbi5wdXNoKGkpKX1yZXR1cm4gMD09PXQuY2hpbGRyZW4ubGVuZ3RoP251bGw6dH1mdW5jdGlvbiBhZGRIVE1MKGUsdCxpKXtjb25zdCBhPWVbbnJdLHM9YS5hdmFpbGFibGVTcGFjZSxbcixuLGcsb109aTtzd2l0Y2goZS5sYXlvdXQpe2Nhc2UicG9zaXRpb24iOmEud2lkdGg9TWF0aC5tYXgoYS53aWR0aCxyK2cpO2EuaGVpZ2h0PU1hdGgubWF4KGEuaGVpZ2h0LG4rbyk7YS5jaGlsZHJlbi5wdXNoKHQpO2JyZWFrO2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOmlmKCFhLmxpbmV8fDE9PT1hLmF0dGVtcHQpe2EubGluZT1jcmVhdGVMaW5lKGUsW10pO2EuY2hpbGRyZW4ucHVzaChhLmxpbmUpO2EubnVtYmVySW5MaW5lPTB9YS5udW1iZXJJbkxpbmUrPTE7YS5saW5lLmNoaWxkcmVuLnB1c2godCk7aWYoMD09PWEuYXR0ZW1wdCl7YS5jdXJyZW50V2lkdGgrPWc7YS5oZWlnaHQ9TWF0aC5tYXgoYS5oZWlnaHQsYS5wcmV2SGVpZ2h0K28pfWVsc2V7YS5jdXJyZW50V2lkdGg9ZzthLnByZXZIZWlnaHQ9YS5oZWlnaHQ7YS5oZWlnaHQrPW87YS5hdHRlbXB0PTB9YS53aWR0aD1NYXRoLm1heChhLndpZHRoLGEuY3VycmVudFdpZHRoKTticmVhaztjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnthLmNoaWxkcmVuLnB1c2godCk7YS53aWR0aCs9ZzthLmhlaWdodD1NYXRoLm1heChhLmhlaWdodCxvKTtjb25zdCBlPW1lYXN1cmVUb1N0cmluZyhhLmhlaWdodCk7Zm9yKGNvbnN0IHQgb2YgYS5jaGlsZHJlbil0LmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PWU7YnJlYWt9Y2FzZSJ0YWJsZSI6Y2FzZSJ0YiI6YS53aWR0aD1NYXRoLm1pbihzLndpZHRoLE1hdGgubWF4KGEud2lkdGgsZykpO2EuaGVpZ2h0Kz1vO2EuY2hpbGRyZW4ucHVzaCh0KX19ZnVuY3Rpb24gZ2V0QXZhaWxhYmxlU3BhY2UoZSl7Y29uc3QgdD1lW25yXS5hdmFpbGFibGVTcGFjZSxpPWUubWFyZ2luP2UubWFyZ2luLnRvcEluc2V0K2UubWFyZ2luLmJvdHRvbUluc2V0OjAsYT1lLm1hcmdpbj9lLm1hcmdpbi5sZWZ0SW5zZXQrZS5tYXJnaW4ucmlnaHRJbnNldDowO3N3aXRjaChlLmxheW91dCl7Y2FzZSJsci10YiI6Y2FzZSJybC10YiI6cmV0dXJuIDA9PT1lW25yXS5hdHRlbXB0P3t3aWR0aDp0LndpZHRoLWEtZVtucl0uY3VycmVudFdpZHRoLGhlaWdodDp0LmhlaWdodC1pLWVbbnJdLnByZXZIZWlnaHR9Ont3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVtucl0uaGVpZ2h0fTtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybnt3aWR0aDplW25yXS5jb2x1bW5XaWR0aHMuc2xpY2UoZVtucl0uY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSksaGVpZ2h0OnQuaGVpZ2h0LWF9O2Nhc2UidGFibGUiOmNhc2UidGIiOnJldHVybnt3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVtucl0uaGVpZ2h0fTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiBjaGVja0RpbWVuc2lvbnMoZSx0KXtpZihudWxsPT09ZVtEcl0oKVtucl0uZmlyc3RVbnNwbGl0dGFibGUpcmV0dXJuITA7aWYoMD09PWUud3x8MD09PWUuaClyZXR1cm4hMDtjb25zdCBpPWVbeXJdKCksYT1pW25yXT8uYXR0ZW1wdHx8MCxbLHMscixuXT1mdW5jdGlvbiBnZXRUcmFuc2Zvcm1lZEJCb3goZSl7bGV0IHQsaSxhPSIiPT09ZS53P05hTjplLncscz0iIj09PWUuaD9OYU46ZS5oLFtyLG5dPVswLDBdO3N3aXRjaChlLmFuY2hvclR5cGV8fCIiKXtjYXNlImJvdHRvbUNlbnRlciI6W3Isbl09W2EvMixzXTticmVhaztjYXNlImJvdHRvbUxlZnQiOltyLG5dPVswLHNdO2JyZWFrO2Nhc2UiYm90dG9tUmlnaHQiOltyLG5dPVthLHNdO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjpbcixuXT1bYS8yLHMvMl07YnJlYWs7Y2FzZSJtaWRkbGVMZWZ0IjpbcixuXT1bMCxzLzJdO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOltyLG5dPVthLHMvMl07YnJlYWs7Y2FzZSJ0b3BDZW50ZXIiOltyLG5dPVthLzIsMF07YnJlYWs7Y2FzZSJ0b3BSaWdodCI6W3Isbl09W2EsMF19c3dpdGNoKGUucm90YXRlfHwwKXtjYXNlIDA6W3QsaV09Wy1yLC1uXTticmVhaztjYXNlIDkwOlt0LGldPVstbixyXTtbYSxzXT1bcywtYV07YnJlYWs7Y2FzZSAxODA6W3QsaV09W3Isbl07W2Esc109Wy1hLC1zXTticmVhaztjYXNlIDI3MDpbdCxpXT1bbiwtcl07W2Esc109Wy1zLGFdfXJldHVybltlLngrdCtNYXRoLm1pbigwLGEpLGUueStpK01hdGgubWluKDAscyksTWF0aC5hYnMoYSksTWF0aC5hYnMocyldfShlKTtzd2l0Y2goaS5sYXlvdXQpe2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOnJldHVybiAwPT09YT9lW0RyXSgpW25yXS5ub0xheW91dEZhaWx1cmU/IiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yOnQud2lkdGg+MjohKCIiIT09ZS5oJiZNYXRoLnJvdW5kKG4tdC5oZWlnaHQpPjIpJiYoIiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwwPT09aVtucl0ubnVtYmVySW5MaW5lJiZ0LmhlaWdodD4yOnQud2lkdGg+Mik6ISFlW0RyXSgpW25yXS5ub0xheW91dEZhaWx1cmV8fCEoIiIhPT1lLmgmJk1hdGgucm91bmQobi10LmhlaWdodCk+MikmJigoIiI9PT1lLnd8fE1hdGgucm91bmQoci10LndpZHRoKTw9Mnx8IWlbSHJdKCkpJiZ0LmhlaWdodD4yKTtjYXNlInRhYmxlIjpjYXNlInRiIjpyZXR1cm4hIWVbRHJdKClbbnJdLm5vTGF5b3V0RmFpbHVyZXx8KCIiPT09ZS5ofHxlW0xyXSgpPygiIj09PWUud3x8TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwhaVtIcl0oKSkmJnQuaGVpZ2h0PjI6TWF0aC5yb3VuZChuLXQuaGVpZ2h0KTw9Mik7Y2FzZSJwb3NpdGlvbiI6aWYoZVtEcl0oKVtucl0ubm9MYXlvdXRGYWlsdXJlKXJldHVybiEwO2lmKCIiPT09ZS5ofHxNYXRoLnJvdW5kKG4rcy10LmhlaWdodCk8PTIpcmV0dXJuITA7cmV0dXJuIG4rcz5lW0RyXSgpW25yXS5jdXJyZW50Q29udGVudEFyZWEuaDtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybiEhZVtEcl0oKVtucl0ubm9MYXlvdXRGYWlsdXJlfHwoIiI9PT1lLmh8fE1hdGgucm91bmQobi10LmhlaWdodCk8PTIpO2RlZmF1bHQ6cmV0dXJuITB9fWNvbnN0IHZuPUNuLnRlbXBsYXRlLmlkLEtuPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsVG49L15IKFxkKykkLyxxbj1uZXcgU2V0KFsiaW1hZ2UvZ2lmIiwiaW1hZ2UvanBlZyIsImltYWdlL2pwZyIsImltYWdlL3BqcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvYXBuZyIsImltYWdlL3gtcG5nIiwiaW1hZ2UvYm1wIiwiaW1hZ2UveC1tcy1ibXAiLCJpbWFnZS90aWZmIiwiaW1hZ2UvdGlmIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIl0pLE9uPVtbWzY2LDc3XSwiaW1hZ2UvYm1wIl0sW1syNTUsMjE2LDI1NV0sImltYWdlL2pwZWciXSxbWzczLDczLDQyLDBdLCJpbWFnZS90aWZmIl0sW1s3Nyw3NywwLDQyXSwiaW1hZ2UvdGlmZiJdLFtbNzEsNzMsNzAsNTYsNTcsOTddLCJpbWFnZS9naWYiXSxbWzEzNyw4MCw3OCw3MSwxMywxMCwyNiwxMF0sImltYWdlL3BuZyJdXTtmdW5jdGlvbiBnZXRCb3JkZXJEaW1zKGUpe2lmKCFlfHwhZS5ib3JkZXIpcmV0dXJue3c6MCxoOjB9O2NvbnN0IHQ9ZS5ib3JkZXJbdXJdKCk7cmV0dXJuIHQ/e3c6dC53aWR0aHNbMF0rdC53aWR0aHNbMl0rdC5pbnNldHNbMF0rdC5pbnNldHNbMl0saDp0LndpZHRoc1sxXSt0LndpZHRoc1szXSt0Lmluc2V0c1sxXSt0Lmluc2V0c1szXX06e3c6MCxoOjB9fWZ1bmN0aW9uIGhhc01hcmdpbihlKXtyZXR1cm4gZS5tYXJnaW4mJihlLm1hcmdpbi50b3BJbnNldHx8ZS5tYXJnaW4ucmlnaHRJbnNldHx8ZS5tYXJnaW4uYm90dG9tSW5zZXR8fGUubWFyZ2luLmxlZnRJbnNldCl9ZnVuY3Rpb24gX3NldFZhbHVlKGUsdCl7aWYoIWUudmFsdWUpe2NvbnN0IHQ9bmV3IFZhbHVlKHt9KTtlW3pzXSh0KTtlLnZhbHVlPXR9ZS52YWx1ZVt0bl0odCl9ZnVuY3Rpb24qZ2V0Q29udGFpbmVkQ2hpbGRyZW4oZSl7Zm9yKGNvbnN0IHQgb2YgZVtmcl0oKSl0IGluc3RhbmNlb2YgU3ViZm9ybVNldD95aWVsZCp0W3ByXSgpOnlpZWxkIHR9ZnVuY3Rpb24gaXNSZXF1aXJlZChlKXtyZXR1cm4iZXJyb3IiPT09ZS52YWxpZGF0ZT8ubnVsbFRlc3R9ZnVuY3Rpb24gc2V0VGFiSW5kZXgoZSl7Zm9yKDtlOyl7aWYoIWUudHJhdmVyc2FsKXtlW2FuXT1lW3dyXSgpW2FuXTtyZXR1cm59aWYoZVthbl0pcmV0dXJuO2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgZS50cmF2ZXJzYWxbZnJdKCkpaWYoIm5leHQiPT09aS5vcGVyYXRpb24pe3Q9aTticmVha31pZighdHx8IXQucmVmKXtlW2FuXT1lW3dyXSgpW2FuXTtyZXR1cm59Y29uc3QgaT1lW0RyXSgpO2VbYW5dPSsraVthbl07Y29uc3QgYT1pWyRyXSh0LnJlZixlKTtpZighYSlyZXR1cm47ZT1hWzBdfX1mdW5jdGlvbiBhcHBseUFzc2lzdChlLHQpe2NvbnN0IGk9ZS5hc3Npc3Q7aWYoaSl7Y29uc3QgZT1pW25uXSgpO2UmJih0LnRpdGxlPWUpO2NvbnN0IGE9aS5yb2xlLm1hdGNoKFRuKTtpZihhKXtjb25zdCBlPSJoZWFkaW5nIixpPWFbMV07dC5yb2xlPWU7dFsiYXJpYS1sZXZlbCJdPWl9fWlmKCJ0YWJsZSI9PT1lLmxheW91dCl0LnJvbGU9InRhYmxlIjtlbHNlIGlmKCJyb3ciPT09ZS5sYXlvdXQpdC5yb2xlPSJyb3ciO2Vsc2V7Y29uc3QgaT1lW3dyXSgpOyJyb3ciPT09aS5sYXlvdXQmJih0LnJvbGU9IlRIIj09PWkuYXNzaXN0Py5yb2xlPyJjb2x1bW5oZWFkZXIiOiJjZWxsIil9fWZ1bmN0aW9uIGFyaWFMYWJlbChlKXtpZighZS5hc3Npc3QpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmFzc2lzdDtyZXR1cm4gdC5zcGVhayYmIiIhPT10LnNwZWFrW2FyXT90LnNwZWFrW2FyXTp0LnRvb2xUaXA/dC50b29sVGlwW2FyXTpudWxsfWZ1bmN0aW9uIHZhbHVlVG9IdG1sKGUpe3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6T2JqZWN0LmNyZWF0ZShudWxsKX0sY2hpbGRyZW46W3tuYW1lOiJzcGFuIixhdHRyaWJ1dGVzOntzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSx2YWx1ZTplfV19KX1mdW5jdGlvbiBzZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbRHJdKCk7aWYobnVsbD09PXRbbnJdLmZpcnN0VW5zcGxpdHRhYmxlKXt0W25yXS5maXJzdFVuc3BsaXR0YWJsZT1lO3RbbnJdLm5vTGF5b3V0RmFpbHVyZT0hMH19ZnVuY3Rpb24gdW5zZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbRHJdKCk7dFtucl0uZmlyc3RVbnNwbGl0dGFibGU9PT1lJiYodFtucl0ubm9MYXlvdXRGYWlsdXJlPSExKX1mdW5jdGlvbiBoYW5kbGVCcmVhayhlKXtpZihlW25yXSlyZXR1cm4hMTtlW25yXT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCJhdXRvIj09PWUudGFyZ2V0VHlwZSlyZXR1cm4hMTtjb25zdCB0PWVbRHJdKCk7bGV0IGk9bnVsbDtpZihlLnRhcmdldCl7aT10WyRyXShlLnRhcmdldCxlW3dyXSgpKTtpZighaSlyZXR1cm4hMTtpPWlbMF19Y29uc3R7Y3VycmVudFBhZ2VBcmVhOmEsY3VycmVudENvbnRlbnRBcmVhOnN9PXRbbnJdO2lmKCJwYWdlQXJlYSI9PT1lLnRhcmdldFR5cGUpe2kgaW5zdGFuY2VvZiBQYWdlQXJlYXx8KGk9bnVsbCk7aWYoZS5zdGFydE5ldyl7ZVtucl0udGFyZ2V0PWl8fGE7cmV0dXJuITB9aWYoaSYmaSE9PWEpe2VbbnJdLnRhcmdldD1pO3JldHVybiEwfXJldHVybiExfWkgaW5zdGFuY2VvZiBDb250ZW50QXJlYXx8KGk9bnVsbCk7Y29uc3Qgcj1pJiZpW3dyXSgpO2xldCBuLGc9cjtpZihlLnN0YXJ0TmV3KWlmKGkpe2NvbnN0IGU9ci5jb250ZW50QXJlYS5jaGlsZHJlbix0PWUuaW5kZXhPZihzKSxhPWUuaW5kZXhPZihpKTstMSE9PXQmJnQ8YSYmKGc9bnVsbCk7bj1hLTF9ZWxzZSBuPWEuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihzKTtlbHNle2lmKCFpfHxpPT09cylyZXR1cm4hMTtuPXIuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihpKS0xO2c9cj09PWE/bnVsbDpyfWVbbnJdLnRhcmdldD1nO2VbbnJdLmluZGV4PW47cmV0dXJuITB9ZnVuY3Rpb24gaGFuZGxlT3ZlcmZsb3coZSx0LGkpe2NvbnN0IGE9ZVtEcl0oKSxzPWFbbnJdLm5vTGF5b3V0RmFpbHVyZSxyPXRbeXJdO3RbeXJdPSgpPT5lO2FbbnJdLm5vTGF5b3V0RmFpbHVyZT0hMDtjb25zdCBuPXRbbm5dKGkpO2VbVnNdKG4uaHRtbCxuLmJib3gpO2FbbnJdLm5vTGF5b3V0RmFpbHVyZT1zO3RbeXJdPXJ9Y2xhc3MgQXBwZWFyYW5jZUZpbHRlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiYXBwZWFyYW5jZUZpbHRlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQXJjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJhcmMiLCEwKTt0aGlzLmNpcmN1bGFyPWdldEludGVnZXIoe2RhdGE6ZS5jaXJjdWxhcixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc3RhcnRBbmdsZT1nZXRGbG9hdCh7ZGF0YTplLnN0YXJ0QW5nbGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnN3ZWVwQW5nbGU9Z2V0RmxvYXQoe2RhdGE6ZS5zd2VlcEFuZ2xlLGRlZmF1bHRWYWx1ZTozNjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lZGdlPW51bGw7dGhpcy5maWxsPW51bGx9W25uXSgpe2NvbnN0IGU9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksdD1lW29uXSgpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlP09iamVjdC5hc3NpZ24oaSx0aGlzLmZpbGxbb25dKCkpOmkuZmlsbD0idHJhbnNwYXJlbnQiO2kuc3Ryb2tlV2lkdGg9bWVhc3VyZVRvU3RyaW5nKCJ2aXNpYmxlIj09PWUucHJlc2VuY2U/ZS50aGlja25lc3M6MCk7aS5zdHJva2U9dC5jb2xvcjtsZXQgYTtjb25zdCBzPXt4bWxuczpLbixzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6InZpc2libGUifX07aWYoMzYwPT09dGhpcy5zd2VlcEFuZ2xlKWE9e25hbWU6ImVsbGlwc2UiLGF0dHJpYnV0ZXM6e3htbG5zOktuLGN4OiI1MCUiLGN5OiI1MCUiLHJ4OiI1MCUiLHJ5OiI1MCUiLHN0eWxlOml9fTtlbHNle2NvbnN0IGU9dGhpcy5zdGFydEFuZ2xlKk1hdGguUEkvMTgwLHQ9dGhpcy5zd2VlcEFuZ2xlKk1hdGguUEkvMTgwLHI9dGhpcy5zd2VlcEFuZ2xlPjE4MD8xOjAsW24sZyxvLGNdPVs1MCooMStNYXRoLmNvcyhlKSksNTAqKDEtTWF0aC5zaW4oZSkpLDUwKigxK01hdGguY29zKGUrdCkpLDUwKigxLU1hdGguc2luKGUrdCkpXTthPXtuYW1lOiJwYXRoIixhdHRyaWJ1dGVzOnt4bWxuczpLbixkOmBNICR7bn0gJHtnfSBBIDUwIDUwIDAgJHtyfSAwICR7b30gJHtjfWAsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOml9fTtPYmplY3QuYXNzaWduKHMse3ZpZXdCb3g6IjAgMCAxMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0pfWNvbnN0IHI9e25hbWU6InN2ZyIsY2hpbGRyZW46W2FdLGF0dHJpYnV0ZXM6c307aWYoaGFzTWFyZ2luKHRoaXNbd3JdKClbd3JdKCkpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6e2Rpc3BsYXk6ImlubGluZSIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9fSxjaGlsZHJlbjpbcl19KTtyLmF0dHJpYnV0ZXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIpfX1jbGFzcyBBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJhcmVhIiwhMCk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leE9iamVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX0qW3ByXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtKcl0oKXtyZXR1cm4hMH1bR3JdKCl7cmV0dXJuITB9W1ZzXShlLHQpe2NvbnN0W2ksYSxzLHJdPXQ7dGhpc1tucl0ud2lkdGg9TWF0aC5tYXgodGhpc1tucl0ud2lkdGgsaStzKTt0aGlzW25yXS5oZWlnaHQ9TWF0aC5tYXgodGhpc1tucl0uaGVpZ2h0LGErcik7dGhpc1tucl0uY2hpbGRyZW4ucHVzaChlKX1bQ3JdKCl7cmV0dXJuIHRoaXNbbnJdLmF2YWlsYWJsZVNwYWNlfVtubl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsInBvc2l0aW9uIiksaT17c3R5bGU6dCxpZDp0aGlzW0luXSxjbGFzczpbInhmYUFyZWEiXX07aXNQcmludE9ubHkodGhpcykmJmkuY2xhc3MucHVzaCgieGZhUHJpbnRPbmx5Iik7dGhpcy5uYW1lJiYoaS54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgYT1bXTt0aGlzW25yXT17Y2hpbGRyZW46YSx3aWR0aDowLGhlaWdodDowLGF2YWlsYWJsZVNwYWNlOmV9O2NvbnN0IHM9dGhpc1tfc10oe2ZpbHRlcjpuZXcgU2V0KFsiYXJlYSIsImRyYXciLCJmaWVsZCIsImV4Y2xHcm91cCIsInN1YmZvcm0iLCJzdWJmb3JtU2V0Il0pLGluY2x1ZGU6ITB9KTtpZighcy5zdWNjZXNzKXtpZihzLmlzQnJlYWsoKSlyZXR1cm4gcztkZWxldGUgdGhpc1tucl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX10LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzW25yXS53aWR0aCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXNbbnJdLmhlaWdodCk7Y29uc3Qgcj17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmksY2hpbGRyZW46YX0sbj1bdGhpcy54LHRoaXMueSx0aGlzW25yXS53aWR0aCx0aGlzW25yXS5oZWlnaHRdO2RlbGV0ZSB0aGlzW25yXTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIsbil9fWNsYXNzIEFzc2lzdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiYXNzaXN0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJvbGU9ZS5yb2xlfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5zcGVhaz1udWxsO3RoaXMudG9vbFRpcD1udWxsfVtubl0oKXtyZXR1cm4gdGhpcy50b29sVGlwPy5bYXJdfHxudWxsfX1jbGFzcyBCYXJjb2RlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJiYXJjb2RlIiwhMCk7dGhpcy5jaGFyRW5jb2Rpbmc9Z2V0S2V5d29yZCh7ZGF0YTplLmNoYXJFbmNvZGluZz9lLmNoYXJFbmNvZGluZy50b0xvd2VyQ2FzZSgpOiIiLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT5bInV0Zi04IiwiYmlnLWZpdmUiLCJmb250c3BlY2lmaWMiLCJnYmsiLCJnYi0xODAzMCIsImdiLTIzMTIiLCJrc2MtNTYwMSIsIm5vbmUiLCJzaGlmdC1qaXMiLCJ1Y3MtMiIsInV0Zi0xNiJdLmluY2x1ZGVzKGUpfHxlLm1hdGNoKC9pc28tODg1OS1cZHsyfS8pfSk7dGhpcy5jaGVja3N1bT1nZXRTdHJpbmdPcHRpb24oZS5jaGVja3N1bSxbIm5vbmUiLCIxbW9kMTAiLCIxbW9kMTBfMW1vZDExIiwiMm1vZDEwIiwiYXV0byJdKTt0aGlzLmRhdGFDb2x1bW5Db3VudD1nZXRJbnRlZ2VyKHtkYXRhOmUuZGF0YUNvbHVtbkNvdW50LGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhTGVuZ3RoPWdldEludGVnZXIoe2RhdGE6ZS5kYXRhTGVuZ3RoLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhUHJlcD1nZXRTdHJpbmdPcHRpb24oZS5kYXRhUHJlcCxbIm5vbmUiLCJmbGF0ZUNvbXByZXNzIl0pO3RoaXMuZGF0YVJvd0NvdW50PWdldEludGVnZXIoe2RhdGE6ZS5kYXRhUm93Q291bnQsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmVuZENoYXI9ZS5lbmRDaGFyfHwiIjt0aGlzLmVycm9yQ29ycmVjdGlvbkxldmVsPWdldEludGVnZXIoe2RhdGE6ZS5lcnJvckNvcnJlY3Rpb25MZXZlbCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9OH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tb2R1bGVIZWlnaHQ9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVIZWlnaHQsIjVtbSIpO3RoaXMubW9kdWxlV2lkdGg9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVXaWR0aCwiMC4yNW1tIik7dGhpcy5wcmludENoZWNrRGlnaXQ9Z2V0SW50ZWdlcih7ZGF0YTplLnByaW50Q2hlY2tEaWdpdCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucm93Q29sdW1uUmF0aW89Z2V0UmF0aW8oZS5yb3dDb2x1bW5SYXRpbyk7dGhpcy5zdGFydENoYXI9ZS5zdGFydENoYXJ8fCIiO3RoaXMudGV4dExvY2F0aW9uPWdldFN0cmluZ09wdGlvbihlLnRleHRMb2NhdGlvbixbImJlbG93IiwiYWJvdmUiLCJhYm92ZUVtYmVkZGVkIiwiYmVsb3dFbWJlZGRlZCIsIm5vbmUiXSk7dGhpcy50cnVuY2F0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUudHJ1bmNhdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZT9lLnR5cGUudG9Mb3dlckNhc2UoKToiIixbImF6dGVjIiwiY29kYWJhciIsImNvZGUyb2Y1aW5kdXN0cmlhbCIsImNvZGUyb2Y1aW50ZXJsZWF2ZWQiLCJjb2RlMm9mNW1hdHJpeCIsImNvZGUyb2Y1c3RhbmRhcmQiLCJjb2RlM29mOSIsImNvZGUzb2Y5ZXh0ZW5kZWQiLCJjb2RlMTEiLCJjb2RlNDkiLCJjb2RlOTMiLCJjb2RlMTI4IiwiY29kZTEyOGEiLCJjb2RlMTI4YiIsImNvZGUxMjhjIiwiY29kZTEyOHNzY2MiLCJkYXRhbWF0cml4IiwiZWFuOCIsImVhbjhhZGQyIiwiZWFuOGFkZDUiLCJlYW4xMyIsImVhbjEzYWRkMiIsImVhbjEzYWRkNSIsImVhbjEzcHdjZCIsImZpbSIsImxvZ21hcnMiLCJtYXhpY29kZSIsIm1zaSIsInBkZjQxNyIsInBkZjQxN21hY3JvIiwicGxlc3NleSIsInBvc3RhdXNjdXN0MiIsInBvc3RhdXNjdXN0MyIsInBvc3RhdXNyZXBseXBhaWQiLCJwb3N0YXVzc3RhbmRhcmQiLCJwb3N0dWtybTRzY2MiLCJwb3N0dXNkcGJjIiwicG9zdHVzaW1iIiwicG9zdHVzc3RhbmRhcmQiLCJwb3N0dXM1emlwIiwicXJjb2RlIiwicmZpZCIsInJzczE0IiwicnNzMTRleHBhbmRlZCIsInJzczE0bGltaXRlZCIsInJzczE0c3RhY2tlZCIsInJzczE0c3RhY2tlZG9tbmkiLCJyc3MxNHRydW5jYXRlZCIsInRlbGVwZW4iLCJ1Y2MxMjgiLCJ1Y2MxMjhyYW5kb20iLCJ1Y2MxMjhzc2NjIiwidXBjYSIsInVwY2FhZGQyIiwidXBjYWFkZDUiLCJ1cGNhcHdjZCIsInVwY2UiLCJ1cGNlYWRkMiIsInVwY2VhZGQ1IiwidXBjZWFuMiIsInVwY2VhbjUiLCJ1cHNtYXhpY29kZSJdKTt0aGlzLnVwc01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUudXBzTW9kZSxbInVzQ2FycmllciIsImludGVybmF0aW9uYWxDYXJyaWVyIiwic2VjdXJlU3ltYm9sIiwic3RhbmRhcmRTeW1ib2wiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMud2lkZU5hcnJvd1JhdGlvPWdldFJhdGlvKGUud2lkZU5hcnJvd1JhdGlvKTt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBCaW5kIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJiaW5kIiwhMCk7dGhpcy5tYXRjaD1nZXRTdHJpbmdPcHRpb24oZS5tYXRjaCxbIm9uY2UiLCJkYXRhUmVmIiwiZ2xvYmFsIiwibm9uZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIEJpbmRJdGVtcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiYmluZEl0ZW1zIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5sYWJlbFJlZj1lLmxhYmVsUmVmfHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy52YWx1ZVJlZj1lLnZhbHVlUmVmfHwiIn19Y2xhc3MgQm9va2VuZCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiYm9va2VuZCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQm9vbGVhbkVsZW1lbnQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiYm9vbGVhbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtubl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKDE9PT10aGlzW2FyXT8iMSI6IjAiKX19Y2xhc3MgQm9yZGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJib3JkZXIiLCEwKTt0aGlzLmJyZWFrPWdldFN0cmluZ09wdGlvbihlLmJyZWFrLFsiY2xvc2UiLCJvcGVuIl0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb3JuZXI9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZWRnZT1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZpbGw9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVt1cl0oKXtpZighdGhpc1tucl0pe2NvbnN0IGU9dGhpcy5lZGdlLmNoaWxkcmVuLnNsaWNlKCk7aWYoZS5sZW5ndGg8NCl7Y29uc3QgdD1lLmF0KC0xKXx8bmV3IEVkZ2Uoe30pO2ZvcihsZXQgaT1lLmxlbmd0aDtpPDQ7aSsrKWUucHVzaCh0KX1jb25zdCB0PWUubWFwKChlPT5lLnRoaWNrbmVzcykpLGk9WzAsMCwwLDBdO2lmKHRoaXMubWFyZ2luKXtpWzBdPXRoaXMubWFyZ2luLnRvcEluc2V0O2lbMV09dGhpcy5tYXJnaW4ucmlnaHRJbnNldDtpWzJdPXRoaXMubWFyZ2luLmJvdHRvbUluc2V0O2lbM109dGhpcy5tYXJnaW4ubGVmdEluc2V0fXRoaXNbbnJdPXt3aWR0aHM6dCxpbnNldHM6aSxlZGdlczplfX1yZXR1cm4gdGhpc1tucl19W29uXSgpe2NvbnN0e2VkZ2VzOmV9PXRoaXNbdXJdKCksdD1lLm1hcCgoZT0+e2NvbnN0IHQ9ZVtvbl0oKTt0LmNvbG9yfHw9IiMwMDAwMDAiO3JldHVybiB0fSkpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLm1hcmdpbiYmT2JqZWN0LmFzc2lnbihpLHRoaXMubWFyZ2luW29uXSgpKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlJiZPYmplY3QuYXNzaWduKGksdGhpcy5maWxsW29uXSgpKTtpZih0aGlzLmNvcm5lci5jaGlsZHJlbi5zb21lKChlPT4wIT09ZS5yYWRpdXMpKSl7Y29uc3QgZT10aGlzLmNvcm5lci5jaGlsZHJlbi5tYXAoKGU9PmVbb25dKCkpKTtpZigyPT09ZS5sZW5ndGh8fDM9PT1lLmxlbmd0aCl7Y29uc3QgdD1lLmF0KC0xKTtmb3IobGV0IGk9ZS5sZW5ndGg7aTw0O2krKyllLnB1c2godCl9aS5ib3JkZXJSYWRpdXM9ZS5tYXAoKGU9PmUucmFkaXVzKSkuam9pbigiICIpfXN3aXRjaCh0aGlzLnByZXNlbmNlKXtjYXNlImludmlzaWJsZSI6Y2FzZSJoaWRkZW4iOmkuYm9yZGVyU3R5bGU9IiI7YnJlYWs7Y2FzZSJpbmFjdGl2ZSI6aS5ib3JkZXJTdHlsZT0ibm9uZSI7YnJlYWs7ZGVmYXVsdDppLmJvcmRlclN0eWxlPXQubWFwKChlPT5lLnN0eWxlKSkuam9pbigiICIpfWkuYm9yZGVyV2lkdGg9dC5tYXAoKGU9PmUud2lkdGgpKS5qb2luKCIgIik7aS5ib3JkZXJDb2xvcj10Lm1hcCgoZT0+ZS5jb2xvcikpLmpvaW4oIiAiKTtyZXR1cm4gaX19Y2xhc3MgQnJlYWsgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImJyZWFrIiwhMCk7dGhpcy5hZnRlcj1nZXRTdHJpbmdPcHRpb24oZS5hZnRlcixbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIiwicGFnZUV2ZW4iLCJwYWdlT2RkIl0pO3RoaXMuYWZ0ZXJUYXJnZXQ9ZS5hZnRlclRhcmdldHx8IiI7dGhpcy5iZWZvcmU9Z2V0U3RyaW5nT3B0aW9uKGUuYmVmb3JlLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiLCJwYWdlRXZlbiIsInBhZ2VPZGQiXSk7dGhpcy5iZWZvcmVUYXJnZXQ9ZS5iZWZvcmVUYXJnZXR8fCIiO3RoaXMuYm9va2VuZExlYWRlcj1lLmJvb2tlbmRMZWFkZXJ8fCIiO3RoaXMuYm9va2VuZFRyYWlsZXI9ZS5ib29rZW5kVHJhaWxlcnx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJmbG93TGVhZGVyPWUub3ZlcmZsb3dMZWFkZXJ8fCIiO3RoaXMub3ZlcmZsb3dUYXJnZXQ9ZS5vdmVyZmxvd1RhcmdldHx8IiI7dGhpcy5vdmVyZmxvd1RyYWlsZXI9ZS5vdmVyZmxvd1RyYWlsZXJ8fCIiO3RoaXMuc3RhcnROZXc9Z2V0SW50ZWdlcih7ZGF0YTplLnN0YXJ0TmV3LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEJyZWFrQWZ0ZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImJyZWFrQWZ0ZXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfX1jbGFzcyBCcmVha0JlZm9yZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiYnJlYWtCZWZvcmUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfVtubl0oZSl7dGhpc1tucl09e307cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX19Y2xhc3MgQnV0dG9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJidXR0b24iLCEwKTt0aGlzLmhpZ2hsaWdodD1nZXRTdHJpbmdPcHRpb24oZS5oaWdobGlnaHQsWyJpbnZlcnRlZCIsIm5vbmUiLCJvdXRsaW5lIiwicHVzaCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVtubl0oZSl7Y29uc3QgdD10aGlzW3dyXSgpW3dyXSgpLGk9e25hbWU6ImJ1dHRvbiIsYXR0cmlidXRlczp7aWQ6dGhpc1tJbl0sY2xhc3M6WyJ4ZmFCdXR0b24iXSxzdHlsZTp7fX0sY2hpbGRyZW46W119O2Zvcihjb25zdCBlIG9mIHQuZXZlbnQuY2hpbGRyZW4pe2lmKCJjbGljayIhPT1lLmFjdGl2aXR5fHwhZS5zY3JpcHQpY29udGludWU7Y29uc3QgdD1yZWNvdmVySnNVUkwoZS5zY3JpcHRbYXJdKTtpZighdCljb250aW51ZTtjb25zdCBhPWZpeFVSTCh0LnVybCk7YSYmaS5jaGlsZHJlbi5wdXNoKHtuYW1lOiJhIixhdHRyaWJ1dGVzOntpZDoibGluayIrdGhpc1tJbl0saHJlZjphLG5ld1dpbmRvdzp0Lm5ld1dpbmRvdyxjbGFzczpbInhmYUxpbmsiXSxzdHlsZTp7fX0sY2hpbGRyZW46W119KX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGkpfX1jbGFzcyBDYWxjdWxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImNhbGN1bGF0ZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vdmVycmlkZT1nZXRTdHJpbmdPcHRpb24oZS5vdmVycmlkZSxbImRpc2FibGVkIiwiZXJyb3IiLCJpZ25vcmUiLCJ3YXJuaW5nIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVzc2FnZT1udWxsO3RoaXMuc2NyaXB0PW51bGx9fWNsYXNzIENhcHRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImNhcHRpb24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGxhY2VtZW50PWdldFN0cmluZ09wdGlvbihlLnBsYWNlbWVudCxbImxlZnQiLCJib3R0b20iLCJpbmxpbmUiLCJyaWdodCIsInRvcCJdKTt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVzZXJ2ZT1NYXRoLmNlaWwoZ2V0TWVhc3VyZW1lbnQoZS5yZXNlcnZlKSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5mb250PW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnZhbHVlPW51bGx9W3RuXShlKXtfc2V0VmFsdWUodGhpcyxlKX1bdXJdKGUpe2lmKCF0aGlzW25yXSl7bGV0e3dpZHRoOnQsaGVpZ2h0Oml9PWU7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0PXRoaXMucmVzZXJ2ZTw9MD90OnRoaXMucmVzZXJ2ZTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmk9dGhpcy5yZXNlcnZlPD0wP2k6dGhpcy5yZXNlcnZlfXRoaXNbbnJdPWxheW91dE5vZGUodGhpcyx7d2lkdGg6dCxoZWlnaHQ6aX0pfXJldHVybiB0aGlzW25yXX1bbm5dKGUpe2lmKCF0aGlzLnZhbHVlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO3RoaXNbWnJdKCk7Y29uc3QgdD10aGlzLnZhbHVlW25uXShlKS5odG1sO2lmKCF0KXt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IGk9dGhpcy5yZXNlcnZlO2lmKHRoaXMucmVzZXJ2ZTw9MCl7Y29uc3R7dzp0LGg6aX09dGhpc1t1cl0oZSk7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0aGlzLnJlc2VydmU9dDticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOnRoaXMucmVzZXJ2ZT1pfX1jb25zdCBhPVtdOyJzdHJpbmciPT10eXBlb2YgdD9hLnB1c2goe25hbWU6IiN0ZXh0Iix2YWx1ZTp0fSk6YS5wdXNoKHQpO2NvbnN0IHM9dG9TdHlsZSh0aGlzLCJmb250IiwibWFyZ2luIiwidmlzaWJpbGl0eSIpO3N3aXRjaCh0aGlzLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0Ijp0aGlzLnJlc2VydmU+MCYmKHMud2lkdGg9bWVhc3VyZVRvU3RyaW5nKHRoaXMucmVzZXJ2ZSkpO2JyZWFrO2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6dGhpcy5yZXNlcnZlPjAmJihzLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5yZXNlcnZlKSl9c2V0UGFyYSh0aGlzLG51bGwsdCk7dGhpc1tYcl0oKTt0aGlzLnJlc2VydmU9aTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOnMsY2xhc3M6WyJ4ZmFDYXB0aW9uIl19LGNoaWxkcmVuOmF9KX19Y2xhc3MgQ2VydGlmaWNhdGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImNlcnRpZmljYXRlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIENlcnRpZmljYXRlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiY2VydGlmaWNhdGVzIiwhMCk7dGhpcy5jcmVkZW50aWFsU2VydmVyUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmNyZWRlbnRpYWxTZXJ2ZXJQb2xpY3ksWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51cmw9ZS51cmx8fCIiO3RoaXMudXJsUG9saWN5PWUudXJsUG9saWN5fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5pc3N1ZXJzPW51bGw7dGhpcy5rZXlVc2FnZT1udWxsO3RoaXMub2lkcz1udWxsO3RoaXMuc2lnbmluZz1udWxsO3RoaXMuc3ViamVjdEROcz1udWxsfX1jbGFzcyBDaGVja0J1dHRvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiY2hlY2tCdXR0b24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubWFyaz1nZXRTdHJpbmdPcHRpb24oZS5tYXJrLFsiZGVmYXVsdCIsImNoZWNrIiwiY2lyY2xlIiwiY3Jvc3MiLCJkaWFtb25kIiwic3F1YXJlIiwic3RhciJdKTt0aGlzLnNoYXBlPWdldFN0cmluZ09wdGlvbihlLnNoYXBlLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bbm5dKGUpe2NvbnN0IHQ9dG9TdHlsZSgibWFyZ2luIiksaT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zaXplKTt0LndpZHRoPXQuaGVpZ2h0PWk7bGV0IGEscyxyO2NvbnN0IG49dGhpc1t3cl0oKVt3cl0oKSxnPW4uaXRlbXMuY2hpbGRyZW4ubGVuZ3RoJiZuLml0ZW1zLmNoaWxkcmVuWzBdW25uXSgpLmh0bWx8fFtdLG89e29uOih2b2lkIDAhPT1nWzBdP2dbMF06Im9uIikudG9TdHJpbmcoKSxvZmY6KHZvaWQgMCE9PWdbMV0/Z1sxXToib2ZmIikudG9TdHJpbmcoKX0sYz0obi52YWx1ZT8uW3NuXSgpfHwib2ZmIik9PT1vLm9ufHx2b2lkIDAsQz1uW3lyXSgpLGg9bltJbl07bGV0IGw7aWYoQyBpbnN0YW5jZW9mIEV4Y2xHcm91cCl7cj1DW0luXTthPSJyYWRpbyI7cz0ieGZhUmFkaW8iO2w9Q1tzcl0/LltJbl18fENbSW5dfWVsc2V7YT0iY2hlY2tib3giO3M9InhmYUNoZWNrYm94IjtsPW5bc3JdPy5bSW5dfHxuW0luXX1jb25zdCBRPXtuYW1lOiJpbnB1dCIsYXR0cmlidXRlczp7Y2xhc3M6W3NdLHN0eWxlOnQsZmllbGRJZDpoLGRhdGFJZDpsLHR5cGU6YSxjaGVja2VkOmMseGZhT246by5vbix4ZmFPZmY6by5vZmYsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChuKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtyJiYoUS5hdHRyaWJ1dGVzLm5hbWU9cik7aWYoaXNSZXF1aXJlZChuKSl7US5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7US5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOltRXX0pfX1jbGFzcyBDaG9pY2VMaXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJjaG9pY2VMaXN0IiwhMCk7dGhpcy5jb21taXRPbj1nZXRTdHJpbmdPcHRpb24oZS5jb21taXRPbixbInNlbGVjdCIsImV4aXQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZW49Z2V0U3RyaW5nT3B0aW9uKGUub3BlbixbInVzZXJDb250cm9sIiwiYWx3YXlzIiwibXVsdGlTZWxlY3QiLCJvbkVudHJ5Il0pO3RoaXMudGV4dEVudHJ5PWdldEludGVnZXIoe2RhdGE6ZS50ZXh0RW50cnksZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W25uXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywiYm9yZGVyIiwibWFyZ2luIiksaT10aGlzW3dyXSgpW3dyXSgpLGE9e2ZvbnRTaXplOmBjYWxjKCR7aS5mb250Py5zaXplfHwxMH1weCAqIHZhcigtLXNjYWxlLWZhY3RvcikpYH0scz1bXTtpZihpLml0ZW1zLmNoaWxkcmVuLmxlbmd0aD4wKXtjb25zdCBlPWkuaXRlbXM7bGV0IHQ9MCxyPTA7aWYoMj09PWUuY2hpbGRyZW4ubGVuZ3RoKXt0PWUuY2hpbGRyZW5bMF0uc2F2ZTtyPTEtdH1jb25zdCBuPWUuY2hpbGRyZW5bdF1bbm5dKCkuaHRtbCxnPWUuY2hpbGRyZW5bcl1bbm5dKCkuaHRtbDtsZXQgbz0hMTtjb25zdCBjPWkudmFsdWU/Lltzbl0oKXx8IiI7Zm9yKGxldCBlPTAsdD1uLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PXtuYW1lOiJvcHRpb24iLGF0dHJpYnV0ZXM6e3ZhbHVlOmdbZV18fG5bZV0sc3R5bGU6YX0sdmFsdWU6bltlXX07Z1tlXT09PWMmJih0LmF0dHJpYnV0ZXMuc2VsZWN0ZWQ9bz0hMCk7cy5wdXNoKHQpfW98fHMuc3BsaWNlKDAsMCx7bmFtZToib3B0aW9uIixhdHRyaWJ1dGVzOntoaWRkZW46ITAsc2VsZWN0ZWQ6ITB9LHZhbHVlOiIgIn0pfWNvbnN0IHI9e2NsYXNzOlsieGZhU2VsZWN0Il0sZmllbGRJZDppW0luXSxkYXRhSWQ6aVtzcl0/LltJbl18fGlbSW5dLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChpKSwiYXJpYS1yZXF1aXJlZCI6ITF9O2lmKGlzUmVxdWlyZWQoaSkpe3JbImFyaWEtcmVxdWlyZWQiXT0hMDtyLnJlcXVpcmVkPSEwfSJtdWx0aVNlbGVjdCI9PT10aGlzLm9wZW4mJihyLm11bHRpcGxlPSEwKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbe25hbWU6InNlbGVjdCIsY2hpbGRyZW46cyxhdHRyaWJ1dGVzOnJ9XX0pfX1jbGFzcyBDb2xvciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiY29sb3IiLCEwKTt0aGlzLmNTcGFjZT1nZXRTdHJpbmdPcHRpb24oZS5jU3BhY2UsWyJTUkdCIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudmFsdWU9ZS52YWx1ZT9mdW5jdGlvbiBnZXRDb2xvcihlLHQ9WzAsMCwwXSl7bGV0W2ksYSxzXT10O2lmKCFlKXJldHVybntyOmksZzphLGI6c307Y29uc3Qgcj1lLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8pLm1hcCgoZT0+TWF0aC5taW4oTWF0aC5tYXgoMCxwYXJzZUludChlLnRyaW0oKSwxMCkpLDI1NSkpKS5tYXAoKGU9PmlzTmFOKGUpPzA6ZSkpO2lmKHIubGVuZ3RoPDMpcmV0dXJue3I6aSxnOmEsYjpzfTtbaSxhLHNdPXI7cmV0dXJue3I6aSxnOmEsYjpzfX0oZS52YWx1ZSk6IiI7dGhpcy5leHRyYXM9bnVsbH1bRnJdKCl7cmV0dXJuITF9W29uXSgpe3JldHVybiB0aGlzLnZhbHVlP1V0aWwubWFrZUhleENvbG9yKHRoaXMudmFsdWUucix0aGlzLnZhbHVlLmcsdGhpcy52YWx1ZS5iKTpudWxsfX1jbGFzcyBDb21iIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJjb21iIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm51bWJlck9mQ2VsbHM9Z2V0SW50ZWdlcih7ZGF0YTplLm51bWJlck9mQ2VsbHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQ29ubmVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiY29ubmVjdCIsITApO3RoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Rpb258fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNhZ2U9Z2V0U3RyaW5nT3B0aW9uKGUudXNhZ2UsWyJleHBvcnRBbmRJbXBvcnQiLCJleHBvcnRPbmx5IiwiaW1wb3J0T25seSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIENvbnRlbnRBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJjb250ZW50QXJlYSIsITApO3RoaXMuaD1nZXRNZWFzdXJlbWVudChlLmgpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWdldE1lYXN1cmVtZW50KGUudyk7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bbm5dKGUpe2NvbnN0IHQ9e2xlZnQ6bWVhc3VyZVRvU3RyaW5nKHRoaXMueCksdG9wOm1lYXN1cmVUb1N0cmluZyh0aGlzLnkpLHdpZHRoOm1lYXN1cmVUb1N0cmluZyh0aGlzLncpLGhlaWdodDptZWFzdXJlVG9TdHJpbmcodGhpcy5oKX0saT1bInhmYUNvbnRlbnRhcmVhIl07aXNQcmludE9ubHkodGhpcykmJmkucHVzaCgieGZhUHJpbnRPbmx5Iik7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOntzdHlsZTp0LGNsYXNzOmksaWQ6dGhpc1tJbl19fSl9fWNsYXNzIENvcm5lciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiY29ybmVyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmludmVydGVkPWdldEludGVnZXIoe2RhdGE6ZS5pbnZlcnRlZCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuam9pbj1nZXRTdHJpbmdPcHRpb24oZS5qb2luLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJhZGl1cz1nZXRNZWFzdXJlbWVudChlLnJhZGl1cyk7dGhpcy5zdHJva2U9Z2V0U3RyaW5nT3B0aW9uKGUuc3Ryb2tlLFsic29saWQiLCJkYXNoRG90IiwiZGFzaERvdERvdCIsImRhc2hlZCIsImRvdHRlZCIsImVtYm9zc2VkIiwiZXRjaGVkIiwibG93ZXJlZCIsInJhaXNlZCJdKTt0aGlzLnRoaWNrbmVzcz1nZXRNZWFzdXJlbWVudChlLnRoaWNrbmVzcywiMC41cHQiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W29uXSgpe2NvbnN0IGU9dG9TdHlsZSh0aGlzLCJ2aXNpYmlsaXR5Iik7ZS5yYWRpdXM9bWVhc3VyZVRvU3RyaW5nKCJzcXVhcmUiPT09dGhpcy5qb2luPzA6dGhpcy5yYWRpdXMpO3JldHVybiBlfX1jbGFzcyBEYXRlRWxlbWVudCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImRhdGUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bZ3JdKCl7Y29uc3QgZT10aGlzW2FyXS50cmltKCk7dGhpc1thcl09ZT9uZXcgRGF0ZShlKTpudWxsfVtubl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKHRoaXNbYXJdP3RoaXNbYXJdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBEYXRlVGltZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImRhdGVUaW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2dyXSgpe2NvbnN0IGU9dGhpc1thcl0udHJpbSgpO3RoaXNbYXJdPWU/bmV3IERhdGUoZSk6bnVsbH1bbm5dKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW2FyXT90aGlzW2FyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGF0ZVRpbWVFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJkYXRlVGltZUVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGlja2VyPWdldFN0cmluZ09wdGlvbihlLnBpY2tlcixbImhvc3QiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bbm5dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIiksaT10aGlzW3dyXSgpW3dyXSgpLGE9e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixmaWVsZElkOmlbSW5dLGRhdGFJZDppW3NyXT8uW0luXXx8aVtJbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoaSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChpKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBEZWNpbWFsIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZGVjaW1hbCIpO3RoaXMuZnJhY0RpZ2l0cz1nZXRJbnRlZ2VyKHtkYXRhOmUuZnJhY0RpZ2l0cyxkZWZhdWx0VmFsdWU6Mix2YWxpZGF0ZTplPT4hMH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkRGlnaXRzPWdldEludGVnZXIoe2RhdGE6ZS5sZWFkRGlnaXRzLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bZ3JdKCl7Y29uc3QgZT1wYXJzZUZsb2F0KHRoaXNbYXJdLnRyaW0oKSk7dGhpc1thcl09aXNOYU4oZSk/bnVsbDplfVtubl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKG51bGwhPT10aGlzW2FyXT90aGlzW2FyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGVmYXVsdFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJkZWZhdWx0VWkiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBEZXNjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJkZXNjIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBEaWdlc3RNZXRob2QgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImRpZ2VzdE1ldGhvZCIsWyIiLCJTSEExIiwiU0hBMjU2IiwiU0hBNTEyIiwiUklQRU1EMTYwIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBEaWdlc3RNZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJkaWdlc3RNZXRob2RzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRHJhdyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZHJhdyIsITApO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYXB0aW9uPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmtlZXA9bnVsbDt0aGlzLm1hcmdpbj1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy51aT1udWxsO3RoaXMudmFsdWU9bnVsbDt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1bdG5dKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVtubl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtmaXhEaW1lbnNpb25zKHRoaXMpO3RoaXNbWnJdKCk7Y29uc3QgdD10aGlzLncsaT10aGlzLmgse3c6YSxoOnMsaXNCcm9rZW46cn09bGF5b3V0Tm9kZSh0aGlzLGUpO2lmKGEmJiIiPT09dGhpcy53KXtpZihyJiZ0aGlzW3lyXSgpW0hyXSgpKXt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dGhpcy53PWF9cyYmIiI9PT10aGlzLmgmJih0aGlzLmg9cyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBuPXRvU3R5bGUodGhpcywiZm9udCIsImhBbGlnbiIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInByZXNlbmNlIiwicm90YXRlIiwiYW5jaG9yVHlwZSIsImJvcmRlciIsIm1hcmdpbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxuKTtpZihuLm1hcmdpbil7bi5wYWRkaW5nPW4ubWFyZ2luO2RlbGV0ZSBuLm1hcmdpbn1jb25zdCBnPVsieGZhRHJhdyJdO3RoaXMuZm9udCYmZy5wdXNoKCJ4ZmFGb250Iik7aXNQcmludE9ubHkodGhpcykmJmcucHVzaCgieGZhUHJpbnRPbmx5Iik7Y29uc3Qgbz17c3R5bGU6bixpZDp0aGlzW0luXSxjbGFzczpnfTt0aGlzLm5hbWUmJihvLnhmYU5hbWU9dGhpcy5uYW1lKTtjb25zdCBjPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6byxjaGlsZHJlbjpbXX07YXBwbHlBc3Npc3QodGhpcyxvKTtjb25zdCBDPWNvbXB1dGVCYm94KHRoaXMsYyxlKSxoPXRoaXMudmFsdWU/dGhpcy52YWx1ZVtubl0oZSkuaHRtbDpudWxsO2lmKG51bGw9PT1oKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfWMuY2hpbGRyZW4ucHVzaChoKTtzZXRQYXJhKHRoaXMsbixoKTt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfX1jbGFzcyBFZGdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJlZGdlIiwhMCk7dGhpcy5jYXA9Z2V0U3RyaW5nT3B0aW9uKGUuY2FwLFsic3F1YXJlIiwiYnV0dCIsInJvdW5kIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnN0cm9rZT1nZXRTdHJpbmdPcHRpb24oZS5zdHJva2UsWyJzb2xpZCIsImRhc2hEb3QiLCJkYXNoRG90RG90IiwiZGFzaGVkIiwiZG90dGVkIiwiZW1ib3NzZWQiLCJldGNoZWQiLCJsb3dlcmVkIiwicmFpc2VkIl0pO3RoaXMudGhpY2tuZXNzPWdldE1lYXN1cmVtZW50KGUudGhpY2tuZXNzLCIwLjVwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bb25dKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsInZpc2liaWxpdHkiKTtPYmplY3QuYXNzaWduKGUse2xpbmVjYXA6dGhpcy5jYXAsd2lkdGg6bWVhc3VyZVRvU3RyaW5nKHRoaXMudGhpY2tuZXNzKSxjb2xvcjp0aGlzLmNvbG9yP3RoaXMuY29sb3Jbb25dKCk6IiMwMDAwMDAiLHN0eWxlOiIifSk7aWYoInZpc2libGUiIT09dGhpcy5wcmVzZW5jZSllLnN0eWxlPSJub25lIjtlbHNlIHN3aXRjaCh0aGlzLnN0cm9rZSl7Y2FzZSJzb2xpZCI6ZS5zdHlsZT0ic29saWQiO2JyZWFrO2Nhc2UiZGFzaERvdCI6Y2FzZSJkYXNoRG90RG90IjpjYXNlImRhc2hlZCI6ZS5zdHlsZT0iZGFzaGVkIjticmVhaztjYXNlImRvdHRlZCI6ZS5zdHlsZT0iZG90dGVkIjticmVhaztjYXNlImVtYm9zc2VkIjplLnN0eWxlPSJyaWRnZSI7YnJlYWs7Y2FzZSJldGNoZWQiOmUuc3R5bGU9Imdyb292ZSI7YnJlYWs7Y2FzZSJsb3dlcmVkIjplLnN0eWxlPSJpbnNldCI7YnJlYWs7Y2FzZSJyYWlzZWQiOmUuc3R5bGU9Im91dHNldCJ9cmV0dXJuIGV9fWNsYXNzIEVuY29kaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJlbmNvZGluZyIsWyJhZGJlLng1MDkucnNhX3NoYTEiLCJhZGJlLnBrY3M3LmRldGFjaGVkIiwiYWRiZS5wa2NzNy5zaGExIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBFbmNvZGluZ3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImVuY29kaW5ncyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRW5jcnlwdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZW5jcnlwdCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bnVsbH19Y2xhc3MgRW5jcnlwdERhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImVuY3J5cHREYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJlbmNyeXB0IiwiZGVjcnlwdCJdKTt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsfX1jbGFzcyBFbmNyeXB0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJlbmNyeXB0aW9uIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFbmNyeXB0aW9uTWV0aG9kIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJlbmNyeXB0aW9uTWV0aG9kIixbIiIsIkFFUzI1Ni1DQkMiLCJUUklQTEVERVMtQ0JDIiwiQUVTMTI4LUNCQyIsIkFFUzE5Mi1DQkMiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVuY3J5cHRpb25NZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJlbmNyeXB0aW9uTWV0aG9kcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY3J5cHRpb25NZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFdmVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZXZlbnQiLCEwKTt0aGlzLmFjdGl2aXR5PWdldFN0cmluZ09wdGlvbihlLmFjdGl2aXR5LFsiY2xpY2siLCJjaGFuZ2UiLCJkb2NDbG9zZSIsImRvY1JlYWR5IiwiZW50ZXIiLCJleGl0IiwiZnVsbCIsImluZGV4Q2hhbmdlIiwiaW5pdGlhbGl6ZSIsIm1vdXNlRG93biIsIm1vdXNlRW50ZXIiLCJtb3VzZUV4aXQiLCJtb3VzZVVwIiwicG9zdEV4ZWN1dGUiLCJwb3N0T3BlbiIsInBvc3RQcmludCIsInBvc3RTYXZlIiwicG9zdFNpZ24iLCJwb3N0U3VibWl0IiwicHJlRXhlY3V0ZSIsInByZU9wZW4iLCJwcmVQcmludCIsInByZVNhdmUiLCJwcmVTaWduIiwicHJlU3VibWl0IiwicmVhZHkiLCJ2YWxpZGF0aW9uU3RhdGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxpc3Rlbj1nZXRTdHJpbmdPcHRpb24oZS5saXN0ZW4sWyJyZWZPbmx5IiwicmVmQW5kRGVzY2VuZGVudHMiXSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZW5jcnlwdERhdGE9bnVsbDt0aGlzLmV4ZWN1dGU9bnVsbDt0aGlzLnNjcmlwdD1udWxsO3RoaXMuc2lnbkRhdGE9bnVsbDt0aGlzLnN1Ym1pdD1udWxsfX1jbGFzcyBFeERhdGEgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJleERhdGEiKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tYXhMZW5ndGg9Z2V0SW50ZWdlcih7ZGF0YTplLm1heExlbmd0aCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49LTF9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJub25lIiwiYmFzZTY0IiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W05yXSgpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZX1bT3JdKGUpe2lmKCJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmZVtLcl09PT1Dbi54aHRtbC5pZCl7dGhpc1thcl09ZTtyZXR1cm4hMH1pZigidGV4dC94bWwiPT09dGhpcy5jb250ZW50VHlwZSl7dGhpc1thcl09ZTtyZXR1cm4hMH1yZXR1cm4hMX1bbm5dKGUpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmdGhpc1thcl0/dGhpc1thcl1bbm5dKGUpOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIEV4T2JqZWN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJleE9iamVjdCIsITApO3RoaXMuYXJjaGl2ZT1lLmFyY2hpdmV8fCIiO3RoaXMuY2xhc3NJZD1lLmNsYXNzSWR8fCIiO3RoaXMuY29kZUJhc2U9ZS5jb2RlQmFzZXx8IiI7dGhpcy5jb2RlVHlwZT1lLmNvZGVUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRXhjbEdyb3VwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJleGNsR3JvdXAiLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFjY2Vzc0tleT1lLmFjY2Vzc0tleXx8IiI7dGhpcy5hbmNob3JUeXBlPWdldFN0cmluZ09wdGlvbihlLmFuY2hvclR5cGUsWyJ0b3BMZWZ0IiwiYm90dG9tQ2VudGVyIiwiYm90dG9tTGVmdCIsImJvdHRvbVJpZ2h0IiwibWlkZGxlQ2VudGVyIiwibWlkZGxlTGVmdCIsIm1pZGRsZVJpZ2h0IiwidG9wQ2VudGVyIiwidG9wUmlnaHQiXSk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaD1lLmg/Z2V0TWVhc3VyZW1lbnQoZS5oKToiIjt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sYXlvdXQ9Z2V0U3RyaW5nT3B0aW9uKGUubGF5b3V0LFsicG9zaXRpb24iLCJsci10YiIsInJsLXJvdyIsInJsLXRiIiwicm93IiwidGFibGUiLCJ0YiJdKTt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1bR3JdKCl7cmV0dXJuITB9W0ZyXSgpe3JldHVybiEwfVt0bl0oZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5maWVsZC5jaGlsZHJlbil7aWYoIXQudmFsdWUpe2NvbnN0IGU9bmV3IFZhbHVlKHt9KTt0W3pzXShlKTt0LnZhbHVlPWV9dC52YWx1ZVt0bl0oZSl9fVtIcl0oKXtyZXR1cm4gdGhpcy5sYXlvdXQuZW5kc1dpdGgoIi10YiIpJiYwPT09dGhpc1tucl0uYXR0ZW1wdCYmdGhpc1tucl0ubnVtYmVySW5MaW5lPjB8fHRoaXNbd3JdKClbSHJdKCl9W0xyXSgpe2NvbnN0IGU9dGhpc1t5cl0oKTtpZighZVtMcl0oKSlyZXR1cm4hMTtpZih2b2lkIDAhPT10aGlzW25yXS5faXNTcGxpdHRhYmxlKXJldHVybiB0aGlzW25yXS5faXNTcGxpdHRhYmxlO2lmKCJwb3NpdGlvbiI9PT10aGlzLmxheW91dHx8dGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXt0aGlzW25yXS5faXNTcGxpdHRhYmxlPSExO3JldHVybiExfWlmKGUubGF5b3V0Py5lbmRzV2l0aCgiLXRiIikmJjAhPT1lW25yXS5udW1iZXJJbkxpbmUpcmV0dXJuITE7dGhpc1tucl0uX2lzU3BsaXR0YWJsZT0hMDtyZXR1cm4hMH1bb3JdKCl7cmV0dXJuIGZsdXNoSFRNTCh0aGlzKX1bVnNdKGUsdCl7YWRkSFRNTCh0aGlzLGUsdCl9W0NyXSgpe3JldHVybiBnZXRBdmFpbGFibGVTcGFjZSh0aGlzKX1bbm5dKGUpe3NldFRhYkluZGV4KHRoaXMpO2lmKCJoaWRkZW4iPT09dGhpcy5wcmVzZW5jZXx8ImluYWN0aXZlIj09PXRoaXMucHJlc2VuY2V8fDA9PT10aGlzLmh8fDA9PT10aGlzLncpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Zml4RGltZW5zaW9ucyh0aGlzKTtjb25zdCB0PVtdLGk9e2lkOnRoaXNbSW5dLGNsYXNzOltdfTtzZXRBY2Nlc3ModGhpcyxpLmNsYXNzKTt0aGlzW25yXXx8KHRoaXNbbnJdPU9iamVjdC5jcmVhdGUobnVsbCkpO09iamVjdC5hc3NpZ24odGhpc1tucl0se2NoaWxkcmVuOnQsYXR0cmlidXRlczppLGF0dGVtcHQ6MCxsaW5lOm51bGwsbnVtYmVySW5MaW5lOjAsYXZhaWxhYmxlU3BhY2U6e3dpZHRoOk1hdGgubWluKHRoaXMud3x8MS8wLGUud2lkdGgpLGhlaWdodDpNYXRoLm1pbih0aGlzLmh8fDEvMCxlLmhlaWdodCl9LHdpZHRoOjAsaGVpZ2h0OjAscHJldkhlaWdodDowLGN1cnJlbnRXaWR0aDowfSk7Y29uc3QgYT10aGlzW0xyXSgpO2F8fHNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKCFjaGVja0RpbWVuc2lvbnModGhpcyxlKSlyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFO2NvbnN0IHM9bmV3IFNldChbImZpZWxkIl0pO2lmKHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7Y29uc3QgZT10aGlzW3lyXSgpLmNvbHVtbldpZHRocztpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wKXt0aGlzW25yXS5jb2x1bW5XaWR0aHM9ZTt0aGlzW25yXS5jdXJyZW50Q29sdW1uPTB9fWNvbnN0IHI9dG9TdHlsZSh0aGlzLCJhbmNob3JUeXBlIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJib3JkZXIiLCJtYXJnaW4iLCJoQWxpZ24iKSxuPVsieGZhRXhjbGdyb3VwIl0sZz1sYXlvdXRDbGFzcyh0aGlzKTtnJiZuLnB1c2goZyk7aXNQcmludE9ubHkodGhpcykmJm4ucHVzaCgieGZhUHJpbnRPbmx5Iik7aS5zdHlsZT1yO2kuY2xhc3M9bjt0aGlzLm5hbWUmJihpLnhmYU5hbWU9dGhpcy5uYW1lKTt0aGlzW1pyXSgpO2NvbnN0IG89ImxyLXRiIj09PXRoaXMubGF5b3V0fHwicmwtdGIiPT09dGhpcy5sYXlvdXQsYz1vPzI6MTtmb3IoO3RoaXNbbnJdLmF0dGVtcHQ8Yzt0aGlzW25yXS5hdHRlbXB0Kyspe28mJjE9PT10aGlzW25yXS5hdHRlbXB0JiYodGhpc1tucl0ubnVtYmVySW5MaW5lPTApO2NvbnN0IGU9dGhpc1tfc10oe2ZpbHRlcjpzLGluY2x1ZGU6ITB9KTtpZihlLnN1Y2Nlc3MpYnJlYWs7aWYoZS5pc0JyZWFrKCkpe3RoaXNbWHJdKCk7cmV0dXJuIGV9aWYobyYmMD09PXRoaXNbbnJdLmF0dGVtcHQmJjA9PT10aGlzW25yXS5udW1iZXJJbkxpbmUmJiF0aGlzW0RyXSgpW25yXS5ub0xheW91dEZhaWx1cmUpe3RoaXNbbnJdLmF0dGVtcHQ9YzticmVha319dGhpc1tYcl0oKTthfHx1bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKHRoaXNbbnJdLmF0dGVtcHQ9PT1jKXthfHxkZWxldGUgdGhpc1tucl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX1sZXQgQz0wLGg9MDtpZih0aGlzLm1hcmdpbil7Qz10aGlzLm1hcmdpbi5sZWZ0SW5zZXQrdGhpcy5tYXJnaW4ucmlnaHRJbnNldDtoPXRoaXMubWFyZ2luLnRvcEluc2V0K3RoaXMubWFyZ2luLmJvdHRvbUluc2V0fWNvbnN0IGw9TWF0aC5tYXgodGhpc1tucl0ud2lkdGgrQyx0aGlzLnd8fDApLFE9TWF0aC5tYXgodGhpc1tucl0uaGVpZ2h0K2gsdGhpcy5ofHwwKSxFPVt0aGlzLngsdGhpcy55LGwsUV07IiI9PT10aGlzLncmJihyLndpZHRoPW1lYXN1cmVUb1N0cmluZyhsKSk7IiI9PT10aGlzLmgmJihyLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcoUSkpO2NvbnN0IHU9e25hbWU6ImRpdiIsYXR0cmlidXRlczppLGNoaWxkcmVuOnR9O2FwcGx5QXNzaXN0KHRoaXMsaSk7ZGVsZXRlIHRoaXNbbnJdO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLHUpLEUpfX1jbGFzcyBFeGVjdXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJleGVjdXRlIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5leGVjdXRlVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5leGVjdXRlVHlwZSxbImltcG9ydCIsInJlbWVyZ2UiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJ1bkF0PWdldFN0cmluZ09wdGlvbihlLnJ1bkF0LFsiY2xpZW50IiwiYm90aCIsInNlcnZlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEV4dHJhcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZXh0cmFzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRmllbGQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImZpZWxkIiwhMCk7dGhpcy5hY2Nlc3M9Z2V0U3RyaW5nT3B0aW9uKGUuYWNjZXNzLFsib3BlbiIsIm5vbkludGVyYWN0aXZlIiwicHJvdGVjdGVkIiwicmVhZE9ubHkiXSk7dGhpcy5hY2Nlc3NLZXk9ZS5hY2Nlc3NLZXl8fCIiO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMuZm9ybWF0PW51bGw7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXkoMik7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnRyYXZlcnNhbD1udWxsO3RoaXMudWk9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy52YWx1ZT1udWxsO3RoaXMuYmluZEl0ZW1zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5fVtHcl0oKXtyZXR1cm4hMH1bdG5dKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVtubl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoIXRoaXMudWkpe3RoaXMudWk9bmV3IFVpKHt9KTt0aGlzLnVpW2JyXT10aGlzW2JyXTt0aGlzW3pzXSh0aGlzLnVpKTtsZXQgZTtzd2l0Y2godGhpcy5pdGVtcy5jaGlsZHJlbi5sZW5ndGgpe2Nhc2UgMDplPW5ldyBUZXh0RWRpdCh7fSk7dGhpcy51aS50ZXh0RWRpdD1lO2JyZWFrO2Nhc2UgMTplPW5ldyBDaGVja0J1dHRvbih7fSk7dGhpcy51aS5jaGVja0J1dHRvbj1lO2JyZWFrO2Nhc2UgMjplPW5ldyBDaG9pY2VMaXN0KHt9KTt0aGlzLnVpLmNob2ljZUxpc3Q9ZX10aGlzLnVpW3pzXShlKX1pZighdGhpcy51aXx8ImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZXx8MD09PXRoaXMuaHx8MD09PXRoaXMudylyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTt0aGlzLmNhcHRpb24mJmRlbGV0ZSB0aGlzLmNhcHRpb25bbnJdO3RoaXNbWnJdKCk7Y29uc3QgdD10aGlzLmNhcHRpb24/dGhpcy5jYXB0aW9uW25uXShlKS5odG1sOm51bGwsaT10aGlzLncsYT10aGlzLmg7bGV0IHM9MCxyPTA7aWYodGhpcy5tYXJnaW4pe3M9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7cj10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1sZXQgbj1udWxsO2lmKCIiPT09dGhpcy53fHwiIj09PXRoaXMuaCl7bGV0IHQ9bnVsbCxpPW51bGwsYT0wLGc9MDtpZih0aGlzLnVpLmNoZWNrQnV0dG9uKWE9Zz10aGlzLnVpLmNoZWNrQnV0dG9uLnNpemU7ZWxzZXtjb25zdHt3OnQsaDppfT1sYXlvdXROb2RlKHRoaXMsZSk7aWYobnVsbCE9PXQpe2E9dDtnPWl9ZWxzZSBnPWZ1bmN0aW9uIGZvbnRzX2dldE1ldHJpY3MoZSx0PSExKXtsZXQgaT1udWxsO2lmKGUpe2NvbnN0IHQ9c3RyaXBRdW90ZXMoZS50eXBlZmFjZSksYT1lW2JyXS5mb250RmluZGVyLmZpbmQodCk7aT1zZWxlY3RGb250KGUsYSl9aWYoIWkpcmV0dXJue2xpbmVIZWlnaHQ6MTIsbGluZUdhcDoyLGxpbmVOb0dhcDoxMH07Y29uc3QgYT1lLnNpemV8fDEwLHM9aS5saW5lSGVpZ2h0P01hdGgubWF4KHQ/MDoxLjIsaS5saW5lSGVpZ2h0KToxLjIscj12b2lkIDA9PT1pLmxpbmVHYXA/LjI6aS5saW5lR2FwO3JldHVybntsaW5lSGVpZ2h0OnMqYSxsaW5lR2FwOnIqYSxsaW5lTm9HYXA6TWF0aC5tYXgoMSxzLXIpKmF9fSh0aGlzLmZvbnQsITApLmxpbmVOb0dhcH1uPWdldEJvcmRlckRpbXModGhpcy51aVt1cl0oKSk7YSs9bi53O2crPW4uaDtpZih0aGlzLmNhcHRpb24pe2NvbnN0e3c6cyxoOnIsaXNCcm9rZW46bn09dGhpcy5jYXB0aW9uW3VyXShlKTtpZihuJiZ0aGlzW3lyXSgpW0hyXSgpKXt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dD1zO2k9cjtzd2l0Y2godGhpcy5jYXB0aW9uLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0IjpjYXNlImlubGluZSI6dCs9YTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmkrPWd9fWVsc2V7dD1hO2k9Z31pZih0JiYiIj09PXRoaXMudyl7dCs9czt0aGlzLnc9TWF0aC5taW4odGhpcy5tYXhXPD0wPzEvMDp0aGlzLm1heFcsdGhpcy5taW5XKzE8dD90OnRoaXMubWluVyl9aWYoaSYmIiI9PT10aGlzLmgpe2krPXI7dGhpcy5oPU1hdGgubWluKHRoaXMubWF4SDw9MD8xLzA6dGhpcy5tYXhILHRoaXMubWluSCsxPGk/aTp0aGlzLm1pbkgpfX10aGlzW1hyXSgpO2ZpeERpbWVuc2lvbnModGhpcyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9aTt0aGlzLmg9YTt0aGlzW1hyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBnPXRvU3R5bGUodGhpcywiZm9udCIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInJvdGF0ZSIsImFuY2hvclR5cGUiLCJwcmVzZW5jZSIsIm1hcmdpbiIsImhBbGlnbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxnKTtjb25zdCBvPVsieGZhRmllbGQiXTt0aGlzLmZvbnQmJm8ucHVzaCgieGZhRm9udCIpO2lzUHJpbnRPbmx5KHRoaXMpJiZvLnB1c2goInhmYVByaW50T25seSIpO2NvbnN0IGM9e3N0eWxlOmcsaWQ6dGhpc1tJbl0sY2xhc3M6b307aWYoZy5tYXJnaW4pe2cucGFkZGluZz1nLm1hcmdpbjtkZWxldGUgZy5tYXJnaW59c2V0QWNjZXNzKHRoaXMsbyk7dGhpcy5uYW1lJiYoYy54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgQz1bXSxoPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6YyxjaGlsZHJlbjpDfTthcHBseUFzc2lzdCh0aGlzLGMpO2NvbnN0IGw9dGhpcy5ib3JkZXI/dGhpcy5ib3JkZXJbb25dKCk6bnVsbCxRPWNvbXB1dGVCYm94KHRoaXMsaCxlKSxFPXRoaXMudWlbbm5dKCkuaHRtbDtpZighRSl7T2JqZWN0LmFzc2lnbihnLGwpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfXRoaXNbYW5dJiYoRS5jaGlsZHJlbj8uWzBdP0UuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy50YWJpbmRleD10aGlzW2FuXTpFLmF0dHJpYnV0ZXMudGFiaW5kZXg9dGhpc1thbl0pO0UuYXR0cmlidXRlcy5zdHlsZXx8KEUuYXR0cmlidXRlcy5zdHlsZT1PYmplY3QuY3JlYXRlKG51bGwpKTtsZXQgdT1udWxsO2lmKHRoaXMudWkuYnV0dG9uKXsxPT09RS5jaGlsZHJlbi5sZW5ndGgmJihbdV09RS5jaGlsZHJlbi5zcGxpY2UoMCwxKSk7T2JqZWN0LmFzc2lnbihFLmF0dHJpYnV0ZXMuc3R5bGUsbCl9ZWxzZSBPYmplY3QuYXNzaWduKGcsbCk7Qy5wdXNoKEUpO2lmKHRoaXMudmFsdWUpaWYodGhpcy51aS5pbWFnZUVkaXQpRS5jaGlsZHJlbi5wdXNoKHRoaXMudmFsdWVbbm5dKCkuaHRtbCk7ZWxzZSBpZighdGhpcy51aS5idXR0b24pe2xldCBlPSIiO2lmKHRoaXMudmFsdWUuZXhEYXRhKWU9dGhpcy52YWx1ZS5leERhdGFbc25dKCk7ZWxzZSBpZih0aGlzLnZhbHVlLnRleHQpZT10aGlzLnZhbHVlLnRleHRbdXJdKCk7ZWxzZXtjb25zdCB0PXRoaXMudmFsdWVbbm5dKCkuaHRtbDtudWxsIT09dCYmKGU9dC5jaGlsZHJlblswXS52YWx1ZSl9dGhpcy51aS50ZXh0RWRpdCYmdGhpcy52YWx1ZS50ZXh0Py5tYXhDaGFycyYmKEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5tYXhMZW5ndGg9dGhpcy52YWx1ZS50ZXh0Lm1heENoYXJzKTtpZihlKXtpZih0aGlzLnVpLm51bWVyaWNFZGl0KXtlPXBhcnNlRmxvYXQoZSk7ZT1pc05hTihlKT8iIjplLnRvU3RyaW5nKCl9InRleHRhcmVhIj09PUUuY2hpbGRyZW5bMF0ubmFtZT9FLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudGV4dENvbnRlbnQ9ZTpFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudmFsdWU9ZX19aWYoIXRoaXMudWkuaW1hZ2VFZGl0JiZFLmNoaWxkcmVuPy5bMF0mJnRoaXMuaCl7bj1ufHxnZXRCb3JkZXJEaW1zKHRoaXMudWlbdXJdKCkpO2xldCB0PTA7aWYodGhpcy5jYXB0aW9uJiZbInRvcCIsImJvdHRvbSJdLmluY2x1ZGVzKHRoaXMuY2FwdGlvbi5wbGFjZW1lbnQpKXt0PXRoaXMuY2FwdGlvbi5yZXNlcnZlO3Q8PTAmJih0PXRoaXMuY2FwdGlvblt1cl0oZSkuaCk7Y29uc3QgaT10aGlzLmgtdC1yLW4uaDtFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyhpKX1lbHNlIEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9IjEwMCUifXUmJkUuY2hpbGRyZW4ucHVzaCh1KTtpZighdCl7RS5hdHRyaWJ1dGVzLmNsYXNzJiZFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO3RoaXMudz1pO3RoaXMuaD1hO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfWlmKHRoaXMudWkuYnV0dG9uKXtnLnBhZGRpbmcmJmRlbGV0ZSBnLnBhZGRpbmc7ImRpdiI9PT10Lm5hbWUmJih0Lm5hbWU9InNwYW4iKTtFLmNoaWxkcmVuLnB1c2godCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhoLFEpfXRoaXMudWkuY2hlY2tCdXR0b24mJih0LmF0dHJpYnV0ZXMuY2xhc3NbMF09InhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbiIpO0UuYXR0cmlidXRlcy5jbGFzc3x8KEUuYXR0cmlidXRlcy5jbGFzcz1bXSk7RS5jaGlsZHJlbi5zcGxpY2UoMCwwLHQpO3N3aXRjaCh0aGlzLmNhcHRpb24ucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UiaW5saW5lIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO2JyZWFrO2Nhc2UicmlnaHQiOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFSaWdodCIpO2JyZWFrO2Nhc2UidG9wIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhVG9wIik7YnJlYWs7Y2FzZSJib3R0b20iOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFCb3R0b20iKX10aGlzLnc9aTt0aGlzLmg9YTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyxoKSxRKX19Y2xhc3MgRmlsbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZmlsbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5saW5lYXI9bnVsbDt0aGlzLnBhdHRlcm49bnVsbDt0aGlzLnJhZGlhbD1udWxsO3RoaXMuc29saWQ9bnVsbDt0aGlzLnN0aXBwbGU9bnVsbH1bb25dKCl7Y29uc3QgZT10aGlzW3dyXSgpLHQ9ZVt3cl0oKVt3cl0oKSxpPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGE9ImNvbG9yIixzPWE7aWYoZSBpbnN0YW5jZW9mIEJvcmRlcil7YT0iYmFja2dyb3VuZC1jb2xvciI7cz0iYmFja2dyb3VuZCI7dCBpbnN0YW5jZW9mIFVpJiYoaS5iYWNrZ3JvdW5kQ29sb3I9IndoaXRlIil9aWYoZSBpbnN0YW5jZW9mIFJlY3RhbmdsZXx8ZSBpbnN0YW5jZW9mIEFyYyl7YT1zPSJmaWxsIjtpLmZpbGw9IndoaXRlIn1mb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwiY29sb3IiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYoISh0IGluc3RhbmNlb2YgWEZBT2JqZWN0KSljb250aW51ZTtjb25zdCByPXRbb25dKHRoaXMuY29sb3IpO3ImJihpW3Iuc3RhcnRzV2l0aCgiIyIpP2E6c109cik7cmV0dXJuIGl9aWYodGhpcy5jb2xvcj8udmFsdWUpe2NvbnN0IGU9dGhpcy5jb2xvcltvbl0oKTtpW2Uuc3RhcnRzV2l0aCgiIyIpP2E6c109ZX1yZXR1cm4gaX19Y2xhc3MgRmlsdGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJmaWx0ZXIiLCEwKTt0aGlzLmFkZFJldm9jYXRpb25JbmZvPWdldFN0cmluZ09wdGlvbihlLmFkZFJldm9jYXRpb25JbmZvLFsiIiwicmVxdWlyZWQiLCJvcHRpb25hbCIsIm5vbmUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52ZXJzaW9uPWdldEludGVnZXIoe2RhdGE6dGhpcy52ZXJzaW9uLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTEmJmU8PTV9KTt0aGlzLmFwcGVhcmFuY2VGaWx0ZXI9bnVsbDt0aGlzLmNlcnRpZmljYXRlcz1udWxsO3RoaXMuZGlnZXN0TWV0aG9kcz1udWxsO3RoaXMuZW5jb2RpbmdzPW51bGw7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1udWxsO3RoaXMuaGFuZGxlcj1udWxsO3RoaXMubG9ja0RvY3VtZW50PW51bGw7dGhpcy5tZHA9bnVsbDt0aGlzLnJlYXNvbnM9bnVsbDt0aGlzLnRpbWVTdGFtcD1udWxsfX1jbGFzcyBGbG9hdCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImZsb2F0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2dyXSgpe2NvbnN0IGU9cGFyc2VGbG9hdCh0aGlzW2FyXS50cmltKCkpO3RoaXNbYXJdPWlzTmFOKGUpP251bGw6ZX1bbm5dKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1thcl0/dGhpc1thcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIHRlbXBsYXRlX0ZvbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImZvbnQiLCEwKTt0aGlzLmJhc2VsaW5lU2hpZnQ9Z2V0TWVhc3VyZW1lbnQoZS5iYXNlbGluZVNoaWZ0KTt0aGlzLmZvbnRIb3Jpem9udGFsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250SG9yaXpvbnRhbFNjYWxlLGRlZmF1bHRWYWx1ZToxMDAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuZm9udFZlcnRpY2FsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250VmVydGljYWxTY2FsZSxkZWZhdWx0VmFsdWU6MTAwLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2VybmluZ01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUua2VybmluZ01vZGUsWyJub25lIiwicGFpciJdKTt0aGlzLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQoZS5sZXR0ZXJTcGFjaW5nLCIwIik7dGhpcy5saW5lVGhyb3VnaD1nZXRJbnRlZ2VyKHtkYXRhOmUubGluZVRocm91Z2gsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5saW5lVGhyb3VnaFBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5saW5lVGhyb3VnaFBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5vdmVybGluZT1nZXRJbnRlZ2VyKHtkYXRhOmUub3ZlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5vdmVybGluZVBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5vdmVybGluZVBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5wb3N0dXJlPWdldFN0cmluZ09wdGlvbihlLnBvc3R1cmUsWyJub3JtYWwiLCJpdGFsaWMiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudHlwZWZhY2U9ZS50eXBlZmFjZXx8IkNvdXJpZXIiO3RoaXMudW5kZXJsaW5lPWdldEludGVnZXIoe2RhdGE6ZS51bmRlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy51bmRlcmxpbmVQZXJpb2Q9Z2V0U3RyaW5nT3B0aW9uKGUudW5kZXJsaW5lUGVyaW9kLFsiYWxsIiwid29yZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53ZWlnaHQ9Z2V0U3RyaW5nT3B0aW9uKGUud2VpZ2h0LFsibm9ybWFsIiwiYm9sZCJdKTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsbD1udWxsfVskc10oZSl7c3VwZXJbJHNdKGUpO3RoaXNbYnJdLnVzZWRUeXBlZmFjZXMuYWRkKHRoaXMudHlwZWZhY2UpfVtvbl0oKXtjb25zdCBlPXRvU3R5bGUodGhpcywiZmlsbCIpLHQ9ZS5jb2xvcjtpZih0KWlmKCIjMDAwMDAwIj09PXQpZGVsZXRlIGUuY29sb3I7ZWxzZSBpZighdC5zdGFydHNXaXRoKCIjIikpe2UuYmFja2dyb3VuZD10O2UuYmFja2dyb3VuZENsaXA9InRleHQiO2UuY29sb3I9InRyYW5zcGFyZW50In10aGlzLmJhc2VsaW5lU2hpZnQmJihlLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKHRoaXMuYmFzZWxpbmVTaGlmdCkpO2UuZm9udEtlcm5pbmc9Im5vbmUiPT09dGhpcy5rZXJuaW5nTW9kZT8ibm9uZSI6Im5vcm1hbCI7ZS5sZXR0ZXJTcGFjaW5nPW1lYXN1cmVUb1N0cmluZyh0aGlzLmxldHRlclNwYWNpbmcpO2lmKDAhPT10aGlzLmxpbmVUaHJvdWdoKXtlLnRleHREZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giOzI9PT10aGlzLmxpbmVUaHJvdWdoJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1pZigwIT09dGhpcy5vdmVybGluZSl7ZS50ZXh0RGVjb3JhdGlvbj0ib3ZlcmxpbmUiOzI9PT10aGlzLm92ZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRTdHlsZT10aGlzLnBvc3R1cmU7ZS5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoLjk5KnRoaXMuc2l6ZSk7c2V0Rm9udEZhbWlseSh0aGlzLHRoaXMsdGhpc1ticl0uZm9udEZpbmRlcixlKTtpZigwIT09dGhpcy51bmRlcmxpbmUpe2UudGV4dERlY29yYXRpb249InVuZGVybGluZSI7Mj09PXRoaXMudW5kZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRXZWlnaHQ9dGhpcy53ZWlnaHQ7cmV0dXJuIGV9fWNsYXNzIEZvcm1hdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiZm9ybWF0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgSGFuZGxlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiaGFuZGxlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgSHlwaGVuYXRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImh5cGhlbmF0aW9uIik7dGhpcy5leGNsdWRlQWxsQ2Fwcz1nZXRJbnRlZ2VyKHtkYXRhOmUuZXhjbHVkZUFsbENhcHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmV4Y2x1ZGVJbml0aWFsQ2FwPWdldEludGVnZXIoe2RhdGE6ZS5leGNsdWRlSW5pdGlhbENhcCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaHlwaGVuYXRlPWdldEludGVnZXIoe2RhdGE6ZS5oeXBoZW5hdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHVzaENoYXJhY3RlckNvdW50PWdldEludGVnZXIoe2RhdGE6ZS5wdXNoQ2hhcmFjdGVyQ291bnQsZGVmYXVsdFZhbHVlOjMsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMucmVtYWluQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLnJlbWFpbkNoYXJhY3RlckNvdW50LGRlZmF1bHRWYWx1ZTozLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53b3JkQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLndvcmRDaGFyYWN0ZXJDb3VudCxkZWZhdWx0VmFsdWU6Nyx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIEltYWdlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJpbWFnZSIpO3RoaXMuYXNwZWN0PWdldFN0cmluZ09wdGlvbihlLmFzcGVjdCxbImZpdCIsImFjdHVhbCIsImhlaWdodCIsIm5vbmUiLCJ3aWR0aCJdKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJiYXNlNjQiLCJub25lIiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W25uXSgpe2lmKHRoaXMuY29udGVudFR5cGUmJiFxbi5oYXModGhpcy5jb250ZW50VHlwZS50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgZT10aGlzW2JyXS5pbWFnZXMmJnRoaXNbYnJdLmltYWdlcy5nZXQodGhpcy5ocmVmKTtpZighZSYmKHRoaXMuaHJlZnx8IXRoaXNbYXJdKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtlfHwiYmFzZTY0IiE9PXRoaXMudHJhbnNmZXJFbmNvZGluZ3x8KGU9ZnVuY3Rpb24gZnJvbUJhc2U2NFV0aWwoZSl7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbUJhc2U2ND9VaW50OEFycmF5LmZyb21CYXNlNjQoZSk6c3RyaW5nVG9CeXRlcyhhdG9iKGUpKX0odGhpc1thcl0pKTtpZighZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtpZighdGhpcy5jb250ZW50VHlwZSl7Zm9yKGNvbnN0W3QsaV1vZiBPbilpZihlLmxlbmd0aD50Lmxlbmd0aCYmdC5ldmVyeSgoKHQsaSk9PnQ9PT1lW2ldKSkpe3RoaXMuY29udGVudFR5cGU9aTticmVha31pZighdGhpcy5jb250ZW50VHlwZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1jb25zdCB0PW5ldyBCbG9iKFtlXSx7dHlwZTp0aGlzLmNvbnRlbnRUeXBlfSk7bGV0IGk7c3dpdGNoKHRoaXMuYXNwZWN0KXtjYXNlImZpdCI6Y2FzZSJhY3R1YWwiOmJyZWFrO2Nhc2UiaGVpZ2h0IjppPXtoZWlnaHQ6IjEwMCUiLG9iamVjdEZpdDoiZmlsbCJ9O2JyZWFrO2Nhc2Uibm9uZSI6aT17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn07YnJlYWs7Y2FzZSJ3aWR0aCI6aT17d2lkdGg6IjEwMCUiLG9iamVjdEZpdDoiZmlsbCJ9fWNvbnN0IGE9dGhpc1t3cl0oKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJpbWciLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhSW1hZ2UiXSxzdHlsZTppLHNyYzpVUkwuY3JlYXRlT2JqZWN0VVJMKHQpLGFsdDphP2FyaWFMYWJlbChhW3dyXSgpKTpudWxsfX0pfX1jbGFzcyBJbWFnZUVkaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sImltYWdlRWRpdCIsITApO3RoaXMuZGF0YT1nZXRTdHJpbmdPcHRpb24oZS5kYXRhLFsibGluayIsImVtYmVkIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtubl0oZSl7cmV0dXJuImVtYmVkIj09PXRoaXMuZGF0YT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsY2hpbGRyZW46W10sYXR0cmlidXRlczp7fX0pOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIEludGVnZXIgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJpbnRlZ2VyIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2dyXSgpe2NvbnN0IGU9cGFyc2VJbnQodGhpc1thcl0udHJpbSgpLDEwKTt0aGlzW2FyXT1pc05hTihlKT9udWxsOmV9W25uXShlKXtyZXR1cm4gdmFsdWVUb0h0bWwobnVsbCE9PXRoaXNbYXJdP3RoaXNbYXJdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBJc3N1ZXJzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJpc3N1ZXJzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBJdGVtcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwiaXRlbXMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMuc2F2ZT1nZXRJbnRlZ2VyKHtkYXRhOmUuc2F2ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZT1uZXcgWEZBT2JqZWN0QXJyYXl9W25uXSgpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpc1tmcl0oKSllLnB1c2godFtzbl0oKSk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhlKX19Y2xhc3MgS2VlcCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwia2VlcCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7Y29uc3QgdD1bIm5vbmUiLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl07dGhpcy5pbnRhY3Q9Z2V0U3RyaW5nT3B0aW9uKGUuaW50YWN0LHQpO3RoaXMubmV4dD1nZXRTdHJpbmdPcHRpb24oZS5uZXh0LHQpO3RoaXMucHJldmlvdXM9Z2V0U3RyaW5nT3B0aW9uKGUucHJldmlvdXMsdCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEtleVVzYWdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJrZXlVc2FnZSIpO2NvbnN0IHQ9WyIiLCJ5ZXMiLCJubyJdO3RoaXMuY3JsU2lnbj1nZXRTdHJpbmdPcHRpb24oZS5jcmxTaWduLHQpO3RoaXMuZGF0YUVuY2lwaGVybWVudD1nZXRTdHJpbmdPcHRpb24oZS5kYXRhRW5jaXBoZXJtZW50LHQpO3RoaXMuZGVjaXBoZXJPbmx5PWdldFN0cmluZ09wdGlvbihlLmRlY2lwaGVyT25seSx0KTt0aGlzLmRpZ2l0YWxTaWduYXR1cmU9Z2V0U3RyaW5nT3B0aW9uKGUuZGlnaXRhbFNpZ25hdHVyZSx0KTt0aGlzLmVuY2lwaGVyT25seT1nZXRTdHJpbmdPcHRpb24oZS5lbmNpcGhlck9ubHksdCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmtleUFncmVlbWVudD1nZXRTdHJpbmdPcHRpb24oZS5rZXlBZ3JlZW1lbnQsdCk7dGhpcy5rZXlDZXJ0U2lnbj1nZXRTdHJpbmdPcHRpb24oZS5rZXlDZXJ0U2lnbix0KTt0aGlzLmtleUVuY2lwaGVybWVudD1nZXRTdHJpbmdPcHRpb24oZS5rZXlFbmNpcGhlcm1lbnQsdCk7dGhpcy5ub25SZXB1ZGlhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5ub25SZXB1ZGlhdGlvbix0KTt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBMaW5lIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJsaW5lIiwhMCk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5zbG9wZT1nZXRTdHJpbmdPcHRpb24oZS5zbG9wZSxbIlxcIiwiLyJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lZGdlPW51bGx9W25uXSgpe2NvbnN0IGU9dGhpc1t3cl0oKVt3cl0oKSx0PXRoaXMuZWRnZXx8bmV3IEVkZ2Uoe30pLGk9dFtvbl0oKSxhPU9iamVjdC5jcmVhdGUobnVsbCkscz0idmlzaWJsZSI9PT10LnByZXNlbmNlP3QudGhpY2tuZXNzOjA7YS5zdHJva2VXaWR0aD1tZWFzdXJlVG9TdHJpbmcocyk7YS5zdHJva2U9aS5jb2xvcjtsZXQgcixuLGcsbyxjPSIxMDAlIixDPSIxMDAlIjtpZihlLnc8PXMpe1tyLG4sZyxvXT1bIjUwJSIsMCwiNTAlIiwiMTAwJSJdO2M9YS5zdHJva2VXaWR0aH1lbHNlIGlmKGUuaDw9cyl7W3IsbixnLG9dPVswLCI1MCUiLCIxMDAlIiwiNTAlIl07Qz1hLnN0cm9rZVdpZHRofWVsc2UiXFwiPT09dGhpcy5zbG9wZT9bcixuLGcsb109WzAsMCwiMTAwJSIsIjEwMCUiXTpbcixuLGcsb109WzAsIjEwMCUiLCIxMDAlIiwwXTtjb25zdCBoPXtuYW1lOiJzdmciLGNoaWxkcmVuOlt7bmFtZToibGluZSIsYXR0cmlidXRlczp7eG1sbnM6S24seDE6cix5MTpuLHgyOmcseTI6byxzdHlsZTphfX1dLGF0dHJpYnV0ZXM6e3htbG5zOktuLHdpZHRoOmMsaGVpZ2h0OkMsc3R5bGU6e292ZXJmbG93OiJ2aXNpYmxlIn19fTtpZihoYXNNYXJnaW4oZSkpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntzdHlsZTp7ZGlzcGxheToiaW5saW5lIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19LGNoaWxkcmVuOltoXX0pO2guYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoaCl9fWNsYXNzIExpbmVhciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwibGluZWFyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbInRvUmlnaHQiLCJ0b0JvdHRvbSIsInRvTGVmdCIsInRvVG9wIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bb25dKGUpe2U9ZT9lW29uXSgpOiIjRkZGRkZGIjtyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7dGhpcy50eXBlLnJlcGxhY2UoLyhbUkJMVF0pLywiICQxIikudG9Mb3dlckNhc2UoKX0sICR7ZX0sICR7dGhpcy5jb2xvcj90aGlzLmNvbG9yW29uXSgpOiIjMDAwMDAwIn0pYH19Y2xhc3MgTG9ja0RvY3VtZW50IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwibG9ja0RvY3VtZW50Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtncl0oKXt0aGlzW2FyXT1nZXRTdHJpbmdPcHRpb24odGhpc1thcl0sWyJhdXRvIiwiMCIsIjEiXSl9fWNsYXNzIE1hbmlmZXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJtYW5pZmVzdCIsITApO3RoaXMuYWN0aW9uPWdldFN0cmluZ09wdGlvbihlLmFjdGlvbixbImluY2x1ZGUiLCJhbGwiLCJleGNsdWRlIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5yZWY9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBNYXJnaW4gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sIm1hcmdpbiIsITApO3RoaXMuYm90dG9tSW5zZXQ9Z2V0TWVhc3VyZW1lbnQoZS5ib3R0b21JbnNldCwiMCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWZ0SW5zZXQ9Z2V0TWVhc3VyZW1lbnQoZS5sZWZ0SW5zZXQsIjAiKTt0aGlzLnJpZ2h0SW5zZXQ9Z2V0TWVhc3VyZW1lbnQoZS5yaWdodEluc2V0LCIwIik7dGhpcy50b3BJbnNldD1nZXRNZWFzdXJlbWVudChlLnRvcEluc2V0LCIwIik7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W29uXSgpe3JldHVybnttYXJnaW46bWVhc3VyZVRvU3RyaW5nKHRoaXMudG9wSW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5yaWdodEluc2V0KSsiICIrbWVhc3VyZVRvU3RyaW5nKHRoaXMuYm90dG9tSW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5sZWZ0SW5zZXQpfX19Y2xhc3MgTWRwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJtZHAiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGVybWlzc2lvbnM9Z2V0SW50ZWdlcih7ZGF0YTplLnBlcm1pc3Npb25zLGRlZmF1bHRWYWx1ZToyLHZhbGlkYXRlOmU9PjE9PT1lfHwzPT09ZX0pO3RoaXMuc2lnbmF0dXJlVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5zaWduYXR1cmVUeXBlLFsiZmlsbGVyIiwiYXV0aG9yIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgTWVkaXVtIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJtZWRpdW0iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW1hZ2luZ0JCb3g9ZnVuY3Rpb24gZ2V0QkJveChlKXtjb25zdCB0PS0xO2lmKCFlKXJldHVybnt4OnQseTp0LHdpZHRoOnQsaGVpZ2h0OnR9O2NvbnN0IGk9ZS50cmltKCkuc3BsaXQoL1xzKixccyovKS5tYXAoKGU9PmdldE1lYXN1cmVtZW50KGUsIi0xIikpKTtpZihpLmxlbmd0aDw0fHxpWzJdPDB8fGlbM108MClyZXR1cm57eDp0LHk6dCx3aWR0aDp0LGhlaWdodDp0fTtjb25zdFthLHMscixuXT1pO3JldHVybnt4OmEseTpzLHdpZHRoOnIsaGVpZ2h0Om59fShlLmltYWdpbmdCQm94KTt0aGlzLmxvbmc9Z2V0TWVhc3VyZW1lbnQoZS5sb25nKTt0aGlzLm9yaWVudGF0aW9uPWdldFN0cmluZ09wdGlvbihlLm9yaWVudGF0aW9uLFsicG9ydHJhaXQiLCJsYW5kc2NhcGUiXSk7dGhpcy5zaG9ydD1nZXRNZWFzdXJlbWVudChlLnNob3J0KTt0aGlzLnN0b2NrPWUuc3RvY2t8fCIiO3RoaXMudHJheUluPWdldFN0cmluZ09wdGlvbihlLnRyYXlJbixbImF1dG8iLCJkZWxlZ2F0ZSIsInBhZ2VGcm9udCJdKTt0aGlzLnRyYXlPdXQ9Z2V0U3RyaW5nT3B0aW9uKGUudHJheU91dCxbImF1dG8iLCJkZWxlZ2F0ZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIE1lc3NhZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sIm1lc3NhZ2UiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBOdW1lcmljRWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwibnVtZXJpY0VkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bbm5dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIiksaT10aGlzW3dyXSgpW3dyXSgpLGE9e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixmaWVsZElkOmlbSW5dLGRhdGFJZDppW3NyXT8uW0luXXx8aVtJbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoaSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChpKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBPY2N1ciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwib2NjdXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW5pdGlhbD0iIiE9PWUuaW5pdGlhbD9nZXRJbnRlZ2VyKHtkYXRhOmUuaW5pdGlhbCxkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+ITB9KToiIjt0aGlzLm1heD0iIiE9PWUubWF4P2dldEludGVnZXIoe2RhdGE6ZS5tYXgsZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KToiIjt0aGlzLm1pbj0iIiE9PWUubWluP2dldEludGVnZXIoe2RhdGE6ZS5taW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KToiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH1bJHNdKCl7Y29uc3QgZT10aGlzW3dyXSgpLHQ9dGhpcy5taW47IiI9PT10aGlzLm1pbiYmKHRoaXMubWluPWUgaW5zdGFuY2VvZiBQYWdlQXJlYXx8ZSBpbnN0YW5jZW9mIFBhZ2VTZXQ/MDoxKTsiIj09PXRoaXMubWF4JiYodGhpcy5tYXg9IiI9PT10P2UgaW5zdGFuY2VvZiBQYWdlQXJlYXx8ZSBpbnN0YW5jZW9mIFBhZ2VTZXQ/LTE6MTp0aGlzLm1pbik7LTEhPT10aGlzLm1heCYmdGhpcy5tYXg8dGhpcy5taW4mJih0aGlzLm1heD10aGlzLm1pbik7IiI9PT10aGlzLmluaXRpYWwmJih0aGlzLmluaXRpYWw9ZSBpbnN0YW5jZW9mIFRlbXBsYXRlPzE6dGhpcy5taW4pfX1jbGFzcyBPaWQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sIm9pZCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBPaWRzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJvaWRzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMub2lkPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgT3ZlcmZsb3cgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sIm92ZXJmbG93Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlYWRlcj1lLmxlYWRlcnx8IiI7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bdXJdKCl7aWYoIXRoaXNbbnJdKXtjb25zdCBlPXRoaXNbd3JdKCksdD10aGlzW0RyXSgpLGk9dFskcl0odGhpcy50YXJnZXQsZSksYT10WyRyXSh0aGlzLmxlYWRlcixlKSxzPXRbJHJdKHRoaXMudHJhaWxlcixlKTt0aGlzW25yXT17dGFyZ2V0Omk/LlswXXx8bnVsbCxsZWFkZXI6YT8uWzBdfHxudWxsLHRyYWlsZXI6cz8uWzBdfHxudWxsLGFkZExlYWRlcjohMSxhZGRUcmFpbGVyOiExfX1yZXR1cm4gdGhpc1tucl19fWNsYXNzIFBhZ2VBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJwYWdlQXJlYSIsITApO3RoaXMuYmxhbmtPck5vdEJsYW5rPWdldFN0cmluZ09wdGlvbihlLmJsYW5rT3JOb3RCbGFuayxbImFueSIsImJsYW5rIiwibm90QmxhbmsiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmluaXRpYWxOdW1iZXI9Z2V0SW50ZWdlcih7ZGF0YTplLmluaXRpYWxOdW1iZXIsZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLm51bWJlcmVkPWdldEludGVnZXIoe2RhdGE6ZS5udW1iZXJlZCxkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMub2RkT3JFdmVuPWdldFN0cmluZ09wdGlvbihlLm9kZE9yRXZlbixbImFueSIsImV2ZW4iLCJvZGQiXSk7dGhpcy5wYWdlUG9zaXRpb249Z2V0U3RyaW5nT3B0aW9uKGUucGFnZVBvc2l0aW9uLFsiYW55IiwiZmlyc3QiLCJsYXN0Iiwib25seSIsInJlc3QiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1lZGl1bT1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29udGVudEFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXl9W1lyXSgpe2lmKCF0aGlzW25yXSl7dGhpc1tucl09e251bWJlck9mVXNlOjB9O3JldHVybiEwfXJldHVybiF0aGlzLm9jY3VyfHwtMT09PXRoaXMub2NjdXIubWF4fHx0aGlzW25yXS5udW1iZXJPZlVzZTx0aGlzLm9jY3VyLm1heH1bQXJdKCl7ZGVsZXRlIHRoaXNbbnJdfVttcl0oKXt0aGlzW25yXXx8KHRoaXNbbnJdPXtudW1iZXJPZlVzZTowfSk7Y29uc3QgZT10aGlzW3dyXSgpO2lmKCJvcmRlcmVkT2NjdXJyZW5jZSI9PT1lLnJlbGF0aW9uJiZ0aGlzW1lyXSgpKXt0aGlzW25yXS5udW1iZXJPZlVzZSs9MTtyZXR1cm4gdGhpc31yZXR1cm4gZVttcl0oKX1bQ3JdKCl7cmV0dXJuIHRoaXNbbnJdLnNwYWNlfHx7d2lkdGg6MCxoZWlnaHQ6MH19W25uXSgpe3RoaXNbbnJdfHwodGhpc1tucl09e251bWJlck9mVXNlOjF9KTtjb25zdCBlPVtdO3RoaXNbbnJdLmNoaWxkcmVuPWU7Y29uc3QgdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKHRoaXMubWVkaXVtJiZ0aGlzLm1lZGl1bS5zaG9ydCYmdGhpcy5tZWRpdW0ubG9uZyl7dC53aWR0aD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tZWRpdW0uc2hvcnQpO3QuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLm1lZGl1bS5sb25nKTt0aGlzW25yXS5zcGFjZT17d2lkdGg6dGhpcy5tZWRpdW0uc2hvcnQsaGVpZ2h0OnRoaXMubWVkaXVtLmxvbmd9O2lmKCJsYW5kc2NhcGUiPT09dGhpcy5tZWRpdW0ub3JpZW50YXRpb24pe2NvbnN0IGU9dC53aWR0aDt0LndpZHRoPXQuaGVpZ2h0O3QuaGVpZ2h0PWU7dGhpc1tucl0uc3BhY2U9e3dpZHRoOnRoaXMubWVkaXVtLmxvbmcsaGVpZ2h0OnRoaXMubWVkaXVtLnNob3J0fX19ZWxzZSB3YXJuKCJYRkEgLSBObyBtZWRpdW0gc3BlY2lmaWVkIGluIHBhZ2VBcmVhOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTt0aGlzW19zXSh7ZmlsdGVyOm5ldyBTZXQoWyJhcmVhIiwiZHJhdyIsImZpZWxkIiwic3ViZm9ybSJdKSxpbmNsdWRlOiEwfSk7dGhpc1tfc10oe2ZpbHRlcjpuZXcgU2V0KFsiY29udGVudEFyZWEiXSksaW5jbHVkZTohMH0pO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsY2hpbGRyZW46ZSxhdHRyaWJ1dGVzOntjbGFzczpbInhmYVBhZ2UiXSxpZDp0aGlzW0luXSxzdHlsZTp0LHhmYU5hbWU6dGhpcy5uYW1lfX0pfX1jbGFzcyBQYWdlU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJwYWdlU2V0IiwhMCk7dGhpcy5kdXBsZXhJbXBvc2l0aW9uPWdldFN0cmluZ09wdGlvbihlLmR1cGxleEltcG9zaXRpb24sWyJsb25nRWRnZSIsInNob3J0RWRnZSJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucmVsYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUucmVsYXRpb24sWyJvcmRlcmVkT2NjdXJyZW5jZSIsImR1cGxleFBhZ2luYXRlZCIsInNpbXBsZXhQYWdpbmF0ZWQiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5wYWdlQXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYWdlU2V0PW5ldyBYRkFPYmplY3RBcnJheX1bQXJdKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5wYWdlQXJlYS5jaGlsZHJlbillW0FyXSgpO2Zvcihjb25zdCBlIG9mIHRoaXMucGFnZVNldC5jaGlsZHJlbillW0FyXSgpfVtZcl0oKXtyZXR1cm4hdGhpcy5vY2N1cnx8LTE9PT10aGlzLm9jY3VyLm1heHx8dGhpc1tucl0ubnVtYmVyT2ZVc2U8dGhpcy5vY2N1ci5tYXh9W21yXSgpe3RoaXNbbnJdfHwodGhpc1tucl09e251bWJlck9mVXNlOjEscGFnZUluZGV4Oi0xLHBhZ2VTZXRJbmRleDotMX0pO2lmKCJvcmRlcmVkT2NjdXJyZW5jZSI9PT10aGlzLnJlbGF0aW9uKXtpZih0aGlzW25yXS5wYWdlSW5kZXgrMTx0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuLmxlbmd0aCl7dGhpc1tucl0ucGFnZUluZGV4Kz0xO3JldHVybiB0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuW3RoaXNbbnJdLnBhZ2VJbmRleF1bbXJdKCl9aWYodGhpc1tucl0ucGFnZVNldEluZGV4KzE8dGhpcy5wYWdlU2V0LmNoaWxkcmVuLmxlbmd0aCl7dGhpc1tucl0ucGFnZVNldEluZGV4Kz0xO3JldHVybiB0aGlzLnBhZ2VTZXQuY2hpbGRyZW5bdGhpc1tucl0ucGFnZVNldEluZGV4XVttcl0oKX1pZih0aGlzW1lyXSgpKXt0aGlzW25yXS5udW1iZXJPZlVzZSs9MTt0aGlzW25yXS5wYWdlSW5kZXg9LTE7dGhpc1tucl0ucGFnZVNldEluZGV4PS0xO3JldHVybiB0aGlzW21yXSgpfWNvbnN0IGU9dGhpc1t3cl0oKTtpZihlIGluc3RhbmNlb2YgUGFnZVNldClyZXR1cm4gZVttcl0oKTt0aGlzW0FyXSgpO3JldHVybiB0aGlzW21yXSgpfWNvbnN0IGU9dGhpc1tEcl0oKVtucl0ucGFnZU51bWJlcix0PWUlMj09MD8iZXZlbiI6Im9kZCIsaT0wPT09ZT8iZmlyc3QiOiJyZXN0IjtsZXQgYT10aGlzLnBhZ2VBcmVhLmNoaWxkcmVuLmZpbmQoKGU9PmUub2RkT3JFdmVuPT09dCYmZS5wYWdlUG9zaXRpb249PT1pKSk7aWYoYSlyZXR1cm4gYTthPXRoaXMucGFnZUFyZWEuY2hpbGRyZW4uZmluZCgoZT0+ImFueSI9PT1lLm9kZE9yRXZlbiYmZS5wYWdlUG9zaXRpb249PT1pKSk7aWYoYSlyZXR1cm4gYTthPXRoaXMucGFnZUFyZWEuY2hpbGRyZW4uZmluZCgoZT0+ImFueSI9PT1lLm9kZE9yRXZlbiYmImFueSI9PT1lLnBhZ2VQb3NpdGlvbikpO3JldHVybiBhfHx0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuWzBdfX1jbGFzcyBQYXJhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJwYXJhIiwhMCk7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGluZUhlaWdodD1lLmxpbmVIZWlnaHQ/Z2V0TWVhc3VyZW1lbnQoZS5saW5lSGVpZ2h0LCIwcHQiKToiIjt0aGlzLm1hcmdpbkxlZnQ9ZS5tYXJnaW5MZWZ0P2dldE1lYXN1cmVtZW50KGUubWFyZ2luTGVmdCwiMHB0Iik6IiI7dGhpcy5tYXJnaW5SaWdodD1lLm1hcmdpblJpZ2h0P2dldE1lYXN1cmVtZW50KGUubWFyZ2luUmlnaHQsIjBwdCIpOiIiO3RoaXMub3JwaGFucz1nZXRJbnRlZ2VyKHtkYXRhOmUub3JwaGFucyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5wcmVzZXJ2ZT1lLnByZXNlcnZlfHwiIjt0aGlzLnJhZGl4T2Zmc2V0PWUucmFkaXhPZmZzZXQ/Z2V0TWVhc3VyZW1lbnQoZS5yYWRpeE9mZnNldCwiMHB0Iik6IiI7dGhpcy5zcGFjZUFib3ZlPWUuc3BhY2VBYm92ZT9nZXRNZWFzdXJlbWVudChlLnNwYWNlQWJvdmUsIjBwdCIpOiIiO3RoaXMuc3BhY2VCZWxvdz1lLnNwYWNlQmVsb3c/Z2V0TWVhc3VyZW1lbnQoZS5zcGFjZUJlbG93LCIwcHQiKToiIjt0aGlzLnRhYkRlZmF1bHQ9ZS50YWJEZWZhdWx0P2dldE1lYXN1cmVtZW50KHRoaXMudGFiRGVmYXVsdCk6IiI7dGhpcy50YWJTdG9wcz0oZS50YWJTdG9wc3x8IiIpLnRyaW0oKS5zcGxpdCgvXHMrLykubWFwKCgoZSx0KT0+dCUyPT0xP2dldE1lYXN1cmVtZW50KGUpOmUpKTt0aGlzLnRleHRJbmRlbnQ9ZS50ZXh0SW5kZW50P2dldE1lYXN1cmVtZW50KGUudGV4dEluZGVudCwiMHB0Iik6IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudkFsaWduPWdldFN0cmluZ09wdGlvbihlLnZBbGlnbixbInRvcCIsImJvdHRvbSIsIm1pZGRsZSJdKTt0aGlzLndpZG93cz1nZXRJbnRlZ2VyKHtkYXRhOmUud2lkb3dzLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmh5cGhlbmF0aW9uPW51bGx9W29uXSgpe2NvbnN0IGU9dG9TdHlsZSh0aGlzLCJoQWxpZ24iKTsiIiE9PXRoaXMubWFyZ2luTGVmdCYmKGUucGFkZGluZ0xlZnQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubWFyZ2luTGVmdCkpOyIiIT09dGhpcy5tYXJnaW5SaWdodCYmKGUucGFkZGluZ2lnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubWFyZ2luUmlnaHQpKTsiIiE9PXRoaXMuc3BhY2VBYm92ZSYmKGUucGFkZGluZ1RvcD1tZWFzdXJlVG9TdHJpbmcodGhpcy5zcGFjZUFib3ZlKSk7IiIhPT10aGlzLnNwYWNlQmVsb3cmJihlLnBhZGRpbmdCb3R0b209bWVhc3VyZVRvU3RyaW5nKHRoaXMuc3BhY2VCZWxvdykpO2lmKCIiIT09dGhpcy50ZXh0SW5kZW50KXtlLnRleHRJbmRlbnQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMudGV4dEluZGVudCk7Zml4VGV4dEluZGVudChlKX10aGlzLmxpbmVIZWlnaHQ+MCYmKGUubGluZUhlaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5saW5lSGVpZ2h0KSk7IiIhPT10aGlzLnRhYkRlZmF1bHQmJihlLnRhYlNpemU9bWVhc3VyZVRvU3RyaW5nKHRoaXMudGFiRGVmYXVsdCkpO3RoaXMudGFiU3RvcHMubGVuZ3RoO3RoaXMuaHlwaGVuYXRhdGlvbiYmT2JqZWN0LmFzc2lnbihlLHRoaXMuaHlwaGVuYXRhdGlvbltvbl0oKSk7cmV0dXJuIGV9fWNsYXNzIFBhc3N3b3JkRWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwicGFzc3dvcmRFZGl0IiwhMCk7dGhpcy5oU2Nyb2xsUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmhTY3JvbGxQb2xpY3ksWyJhdXRvIiwib2ZmIiwib24iXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnBhc3N3b3JkQ2hhcj1lLnBhc3N3b3JkQ2hhcnx8IioiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH19Y2xhc3MgdGVtcGxhdGVfUGF0dGVybiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwicGF0dGVybiIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJjcm9zc0hhdGNoIiwiY3Jvc3NEaWFnb25hbCIsImRpYWdvbmFsTGVmdCIsImRpYWdvbmFsUmlnaHQiLCJob3Jpem9udGFsIiwidmVydGljYWwiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtvbl0oZSl7ZT1lP2Vbb25dKCk6IiNGRkZGRkYiO2NvbnN0IHQ9dGhpcy5jb2xvcj90aGlzLmNvbG9yW29uXSgpOiIjMDAwMDAwIixpPSJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50IixhPWAke2V9LCR7ZX0gNXB4LCR7dH0gNXB4LCR7dH0gMTBweGA7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZSJjcm9zc0hhdGNoIjpyZXR1cm5gJHtpfSh0byB0b3AsJHthfSkgJHtpfSh0byByaWdodCwke2F9KWA7Y2FzZSJjcm9zc0RpYWdvbmFsIjpyZXR1cm5gJHtpfSg0NWRlZywke2F9KSAke2l9KC00NWRlZywke2F9KWA7Y2FzZSJkaWFnb25hbExlZnQiOnJldHVybmAke2l9KDQ1ZGVnLCR7YX0pYDtjYXNlImRpYWdvbmFsUmlnaHQiOnJldHVybmAke2l9KC00NWRlZywke2F9KWA7Y2FzZSJob3Jpem9udGFsIjpyZXR1cm5gJHtpfSh0byB0b3AsJHthfSlgO2Nhc2UidmVydGljYWwiOnJldHVybmAke2l9KHRvIHJpZ2h0LCR7YX0pYH1yZXR1cm4iIn19Y2xhc3MgUGljdHVyZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwicGljdHVyZSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBQcm90byBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwicHJvdG8iLCEwKTt0aGlzLmFwcGVhcmFuY2VGaWx0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYXJjPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYXNzaXN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJhcmNvZGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYmluZEl0ZW1zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJvb2tlbmQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ib3JkZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWs9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtBZnRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0JlZm9yZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5idXR0b249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2FsY3VsYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNhcHRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2VydGlmaWNhdGVzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNoZWNrQnV0dG9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNob2ljZUxpc3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29sb3I9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29tYj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbnRlbnRBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvcm5lcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lRWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlZmF1bHRVaT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZXNjPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRpZ2VzdE1ldGhvZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kaWdlc3RNZXRob2RzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRyYXc9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZWRnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNvZGluZz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNvZGluZ3M9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0aW9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHRpb25NZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdGlvbk1ldGhvZHM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGVjdXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4dHJhcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWxsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpbHRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mb250PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZvcm1hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5oYW5kbGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmh5cGhlbmF0aW9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlRWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmlzc3VlcnM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaXRlbXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMua2VlcD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5rZXlVc2FnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5saW5lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxpbmVhcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5sb2NrRG9jdW1lbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWFuaWZlc3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWFyZ2luPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1kcD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tZWRpdW09bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWVzc2FnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5udW1lcmljRWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5vY2N1cj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5vaWQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMub2lkcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5vdmVyZmxvdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYWdlQXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYWdlU2V0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhcmE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGFzc3dvcmRFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhdHRlcm49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGljdHVyZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yYWRpYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVhc29uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJlYXNvbnM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVjdGFuZ2xlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJlZj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zY3JpcHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbkRhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbmF0dXJlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNpZ25pbmc9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc29saWQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3BlYWs9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3RpcHBsZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViamVjdEROPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmplY3RETnM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3VibWl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dEVkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lU3RhbXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudG9vbFRpcD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50cmF2ZXJzYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudHJhdmVyc2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudWk9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudmFsaWRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudmFsdWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudmFyaWFibGVzPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgUmFkaWFsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJyYWRpYWwiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsidG9FZGdlIiwidG9DZW50ZXIiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtvbl0oZSl7ZT1lP2Vbb25dKCk6IiNGRkZGRkYiO2NvbnN0IHQ9dGhpcy5jb2xvcj90aGlzLmNvbG9yW29uXSgpOiIjMDAwMDAwIjtyZXR1cm5gcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBjZW50ZXIsICR7InRvRWRnZSI9PT10aGlzLnR5cGU/YCR7ZX0sJHt0fWA6YCR7dH0sJHtlfWB9KWB9fWNsYXNzIFJlYXNvbiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwicmVhc29uIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFJlYXNvbnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInJlYXNvbnMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5yZWFzb249bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBSZWN0YW5nbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInJlY3RhbmdsZSIsITApO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvcm5lcj1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5lZGdlPW5ldyBYRkFPYmplY3RBcnJheSg0KTt0aGlzLmZpbGw9bnVsbH1bbm5dKCl7Y29uc3QgZT10aGlzLmVkZ2UuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuZWRnZS5jaGlsZHJlblswXTpuZXcgRWRnZSh7fSksdD1lW29uXSgpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlP09iamVjdC5hc3NpZ24oaSx0aGlzLmZpbGxbb25dKCkpOmkuZmlsbD0idHJhbnNwYXJlbnQiO2kuc3Ryb2tlV2lkdGg9bWVhc3VyZVRvU3RyaW5nKCJ2aXNpYmxlIj09PWUucHJlc2VuY2U/ZS50aGlja25lc3M6MCk7aS5zdHJva2U9dC5jb2xvcjtjb25zdCBhPSh0aGlzLmNvcm5lci5jaGlsZHJlbi5sZW5ndGg/dGhpcy5jb3JuZXIuY2hpbGRyZW5bMF06bmV3IENvcm5lcih7fSkpW29uXSgpLHM9e25hbWU6InN2ZyIsY2hpbGRyZW46W3tuYW1lOiJyZWN0IixhdHRyaWJ1dGVzOnt4bWxuczpLbix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix4OjAseTowLHJ4OmEucmFkaXVzLHJ5OmEucmFkaXVzLHN0eWxlOml9fV0sYXR0cmlidXRlczp7eG1sbnM6S24sc3R5bGU6e292ZXJmbG93OiJ2aXNpYmxlIn0sd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9fTtpZihoYXNNYXJnaW4odGhpc1t3cl0oKVt3cl0oKSkpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntzdHlsZTp7ZGlzcGxheToiaW5saW5lIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19LGNoaWxkcmVuOltzXX0pO3MuYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Mocyl9fWNsYXNzIFJlZkVsZW1lbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInJlZiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBTY3JpcHQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInNjcmlwdCIpO3RoaXMuYmluZGluZz1lLmJpbmRpbmd8fCIiO3RoaXMuY29udGVudFR5cGU9ZS5jb250ZW50VHlwZXx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJ1bkF0PWdldFN0cmluZ09wdGlvbihlLnJ1bkF0LFsiY2xpZW50IiwiYm90aCIsInNlcnZlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNldFByb3BlcnR5IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzZXRQcm9wZXJ0eSIpO3RoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Rpb258fCIiO3RoaXMucmVmPWUucmVmfHwiIjt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiJ9fWNsYXNzIFNpZ25EYXRhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzaWduRGF0YSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vcGVyYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUub3BlcmF0aW9uLFsic2lnbiIsImNsZWFyIiwidmVyaWZ5Il0pO3RoaXMucmVmPWUucmVmfHwiIjt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsfX1jbGFzcyBTaWduYXR1cmUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInNpZ25hdHVyZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJQREYxLjMiLCJQREYxLjYiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZpbHRlcj1udWxsO3RoaXMubWFuaWZlc3Q9bnVsbDt0aGlzLm1hcmdpbj1udWxsfX1jbGFzcyBTaWduaW5nIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzaWduaW5nIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBTb2xpZCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwic29saWQiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVtvbl0oZSl7cmV0dXJuIGU/ZVtvbl0oKToiI0ZGRkZGRiJ9fWNsYXNzIFNwZWFrIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzcGVhayIpO3RoaXMuZGlzYWJsZT1nZXRJbnRlZ2VyKHtkYXRhOmUuZGlzYWJsZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmlvcml0eT1nZXRTdHJpbmdPcHRpb24oZS5wcmlvcml0eSxbImN1c3RvbSIsImNhcHRpb24iLCJuYW1lIiwidG9vbFRpcCJdKTt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBTdGlwcGxlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzdGlwcGxlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJhdGUsZGVmYXVsdFZhbHVlOjUwLHZhbGlkYXRlOmU9PmU+PTAmJmU8PTEwMH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bb25dKGUpe2NvbnN0IHQ9dGhpcy5yYXRlLzEwMDtyZXR1cm4gVXRpbC5tYWtlSGV4Q29sb3IoTWF0aC5yb3VuZChlLnZhbHVlLnIqKDEtdCkrdGhpcy52YWx1ZS5yKnQpLE1hdGgucm91bmQoZS52YWx1ZS5nKigxLXQpK3RoaXMudmFsdWUuZyp0KSxNYXRoLnJvdW5kKGUudmFsdWUuYiooMS10KSt0aGlzLnZhbHVlLmIqdCkpfX1jbGFzcyBTdWJmb3JtIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzdWJmb3JtIiwhMCk7dGhpcy5hY2Nlc3M9Z2V0U3RyaW5nT3B0aW9uKGUuYWNjZXNzLFsib3BlbiIsIm5vbkludGVyYWN0aXZlIiwicHJvdGVjdGVkIiwicmVhZE9ubHkiXSk7dGhpcy5hbGxvd01hY3JvPWdldEludGVnZXIoe2RhdGE6ZS5hbGxvd01hY3JvLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5hbmNob3JUeXBlPWdldFN0cmluZ09wdGlvbihlLmFuY2hvclR5cGUsWyJ0b3BMZWZ0IiwiYm90dG9tQ2VudGVyIiwiYm90dG9tTGVmdCIsImJvdHRvbVJpZ2h0IiwibWlkZGxlQ2VudGVyIiwibWlkZGxlTGVmdCIsIm1pZGRsZVJpZ2h0IiwidG9wQ2VudGVyIiwidG9wUmlnaHQiXSk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuY29sdW1uV2lkdGhzPShlLmNvbHVtbldpZHRoc3x8IiIpLnRyaW0oKS5zcGxpdCgvXHMrLykubWFwKChlPT4iLTEiPT09ZT8tMTpnZXRNZWFzdXJlbWVudChlKSkpO3RoaXMuaD1lLmg/Z2V0TWVhc3VyZW1lbnQoZS5oKToiIjt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sYXlvdXQ9Z2V0U3RyaW5nT3B0aW9uKGUubGF5b3V0LFsicG9zaXRpb24iLCJsci10YiIsInJsLXJvdyIsInJsLXRiIiwicm93IiwidGFibGUiLCJ0YiJdKTt0aGlzLmxvY2FsZT1lLmxvY2FsZXx8IiI7dGhpcy5tYXhIPWdldE1lYXN1cmVtZW50KGUubWF4SCwiMHB0Iik7dGhpcy5tYXhXPWdldE1lYXN1cmVtZW50KGUubWF4VywiMHB0Iik7dGhpcy5tZXJnZU1vZGU9Z2V0U3RyaW5nT3B0aW9uKGUubWVyZ2VNb2RlLFsiY29uc3VtZURhdGEiLCJtYXRjaFRlbXBsYXRlIl0pO3RoaXMubWluSD1nZXRNZWFzdXJlbWVudChlLm1pbkgsIjBwdCIpO3RoaXMubWluVz1nZXRNZWFzdXJlbWVudChlLm1pblcsIjBwdCIpO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnJlc3RvcmVTdGF0ZT1nZXRTdHJpbmdPcHRpb24oZS5yZXN0b3JlU3RhdGUsWyJtYW51YWwiLCJhdXRvIl0pO3RoaXMuc2NvcGU9Z2V0U3RyaW5nT3B0aW9uKGUuc2NvcGUsWyJuYW1lIiwibm9uZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWUudz9nZXRNZWFzdXJlbWVudChlLncpOiIiO3RoaXMueD1nZXRNZWFzdXJlbWVudChlLngsIjBwdCIpO3RoaXMueT1nZXRNZWFzdXJlbWVudChlLnksIjBwdCIpO3RoaXMuYXNzaXN0PW51bGw7dGhpcy5iaW5kPW51bGw7dGhpcy5ib29rZW5kPW51bGw7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmJyZWFrPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMua2VlcD1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5vY2N1cj1udWxsO3RoaXMub3ZlcmZsb3c9bnVsbDt0aGlzLnBhZ2VTZXQ9bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnRyYXZlcnNhbD1udWxsO3RoaXMudmFsaWRhdGU9bnVsbDt0aGlzLnZhcmlhYmxlcz1udWxsO3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0FmdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQmVmb3JlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ldmVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leE9iamVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucHJvdG89bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX1beXJdKCl7Y29uc3QgZT10aGlzW3dyXSgpO3JldHVybiBlIGluc3RhbmNlb2YgU3ViZm9ybVNldD9lW3lyXSgpOmV9W0dyXSgpe3JldHVybiEwfVtIcl0oKXtyZXR1cm4gdGhpcy5sYXlvdXQuZW5kc1dpdGgoIi10YiIpJiYwPT09dGhpc1tucl0uYXR0ZW1wdCYmdGhpc1tucl0ubnVtYmVySW5MaW5lPjB8fHRoaXNbd3JdKClbSHJdKCl9Kltwcl0oKXt5aWVsZCpnZXRDb250YWluZWRDaGlsZHJlbih0aGlzKX1bb3JdKCl7cmV0dXJuIGZsdXNoSFRNTCh0aGlzKX1bVnNdKGUsdCl7YWRkSFRNTCh0aGlzLGUsdCl9W0NyXSgpe3JldHVybiBnZXRBdmFpbGFibGVTcGFjZSh0aGlzKX1bTHJdKCl7Y29uc3QgZT10aGlzW3lyXSgpO2lmKCFlW0xyXSgpKXJldHVybiExO2lmKHZvaWQgMCE9PXRoaXNbbnJdLl9pc1NwbGl0dGFibGUpcmV0dXJuIHRoaXNbbnJdLl9pc1NwbGl0dGFibGU7aWYoInBvc2l0aW9uIj09PXRoaXMubGF5b3V0fHx0aGlzLmxheW91dC5pbmNsdWRlcygicm93Iikpe3RoaXNbbnJdLl9pc1NwbGl0dGFibGU9ITE7cmV0dXJuITF9aWYodGhpcy5rZWVwJiYibm9uZSIhPT10aGlzLmtlZXAuaW50YWN0KXt0aGlzW25yXS5faXNTcGxpdHRhYmxlPSExO3JldHVybiExfWlmKGUubGF5b3V0Py5lbmRzV2l0aCgiLXRiIikmJjAhPT1lW25yXS5udW1iZXJJbkxpbmUpcmV0dXJuITE7dGhpc1tucl0uX2lzU3BsaXR0YWJsZT0hMDtyZXR1cm4hMH1bbm5dKGUpe3NldFRhYkluZGV4KHRoaXMpO2lmKHRoaXMuYnJlYWspe2lmKCJhdXRvIiE9PXRoaXMuYnJlYWsuYWZ0ZXJ8fCIiIT09dGhpcy5icmVhay5hZnRlclRhcmdldCl7Y29uc3QgZT1uZXcgQnJlYWtBZnRlcih7dGFyZ2V0VHlwZTp0aGlzLmJyZWFrLmFmdGVyLHRhcmdldDp0aGlzLmJyZWFrLmFmdGVyVGFyZ2V0LHN0YXJ0TmV3OnRoaXMuYnJlYWsuc3RhcnROZXcudG9TdHJpbmcoKX0pO2VbYnJdPXRoaXNbYnJdO3RoaXNbenNdKGUpO3RoaXMuYnJlYWtBZnRlci5wdXNoKGUpfWlmKCJhdXRvIiE9PXRoaXMuYnJlYWsuYmVmb3JlfHwiIiE9PXRoaXMuYnJlYWsuYmVmb3JlVGFyZ2V0KXtjb25zdCBlPW5ldyBCcmVha0JlZm9yZSh7dGFyZ2V0VHlwZTp0aGlzLmJyZWFrLmJlZm9yZSx0YXJnZXQ6dGhpcy5icmVhay5iZWZvcmVUYXJnZXQsc3RhcnROZXc6dGhpcy5icmVhay5zdGFydE5ldy50b1N0cmluZygpfSk7ZVticl09dGhpc1ticl07dGhpc1t6c10oZSk7dGhpcy5icmVha0JlZm9yZS5wdXNoKGUpfWlmKCIiIT09dGhpcy5icmVhay5vdmVyZmxvd1RhcmdldCl7Y29uc3QgZT1uZXcgT3ZlcmZsb3coe3RhcmdldDp0aGlzLmJyZWFrLm92ZXJmbG93VGFyZ2V0LGxlYWRlcjp0aGlzLmJyZWFrLm92ZXJmbG93TGVhZGVyLHRyYWlsZXI6dGhpcy5icmVhay5vdmVyZmxvd1RyYWlsZXJ9KTtlW2JyXT10aGlzW2JyXTt0aGlzW3pzXShlKTt0aGlzLm92ZXJmbG93LnB1c2goZSl9dGhpc1tWcl0odGhpcy5icmVhayk7dGhpcy5icmVhaz1udWxsfWlmKCJoaWRkZW4iPT09dGhpcy5wcmVzZW5jZXx8ImluYWN0aXZlIj09PXRoaXMucHJlc2VuY2UpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7KHRoaXMuYnJlYWtCZWZvcmUuY2hpbGRyZW4ubGVuZ3RoPjF8fHRoaXMuYnJlYWtBZnRlci5jaGlsZHJlbi5sZW5ndGg+MSkmJndhcm4oIlhGQSAtIFNldmVyYWwgYnJlYWtCZWZvcmUgb3IgYnJlYWtBZnRlciBpbiBzdWJmb3JtczogcGxlYXNlIGZpbGUgYSBidWcuIik7aWYodGhpcy5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+PTEpe2NvbnN0IGU9dGhpcy5icmVha0JlZm9yZS5jaGlsZHJlblswXTtpZihoYW5kbGVCcmVhayhlKSlyZXR1cm4gSFRNTFJlc3VsdC5icmVha05vZGUoZSl9aWYodGhpc1tucl0/LmFmdGVyQnJlYWtBZnRlcilyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtmaXhEaW1lbnNpb25zKHRoaXMpO2NvbnN0IHQ9W10saT17aWQ6dGhpc1tJbl0sY2xhc3M6W119O3NldEFjY2Vzcyh0aGlzLGkuY2xhc3MpO3RoaXNbbnJdfHwodGhpc1tucl09T2JqZWN0LmNyZWF0ZShudWxsKSk7T2JqZWN0LmFzc2lnbih0aGlzW25yXSx7Y2hpbGRyZW46dCxsaW5lOm51bGwsYXR0cmlidXRlczppLGF0dGVtcHQ6MCxudW1iZXJJbkxpbmU6MCxhdmFpbGFibGVTcGFjZTp7d2lkdGg6TWF0aC5taW4odGhpcy53fHwxLzAsZS53aWR0aCksaGVpZ2h0Ok1hdGgubWluKHRoaXMuaHx8MS8wLGUuaGVpZ2h0KX0sd2lkdGg6MCxoZWlnaHQ6MCxwcmV2SGVpZ2h0OjAsY3VycmVudFdpZHRoOjB9KTtjb25zdCBhPXRoaXNbRHJdKCkscz1hW25yXS5ub0xheW91dEZhaWx1cmUscj10aGlzW0xyXSgpO3J8fHNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKCFjaGVja0RpbWVuc2lvbnModGhpcyxlKSlyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFO2NvbnN0IG49bmV3IFNldChbImFyZWEiLCJkcmF3IiwiZXhjbEdyb3VwIiwiZmllbGQiLCJzdWJmb3JtIiwic3ViZm9ybVNldCJdKTtpZih0aGlzLmxheW91dC5pbmNsdWRlcygicm93Iikpe2NvbnN0IGU9dGhpc1t5cl0oKS5jb2x1bW5XaWR0aHM7aWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg+MCl7dGhpc1tucl0uY29sdW1uV2lkdGhzPWU7dGhpc1tucl0uY3VycmVudENvbHVtbj0wfX1jb25zdCBnPXRvU3R5bGUodGhpcywiYW5jaG9yVHlwZSIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInByZXNlbmNlIiwiYm9yZGVyIiwibWFyZ2luIiwiaEFsaWduIiksbz1bInhmYVN1YmZvcm0iXSxjPWxheW91dENsYXNzKHRoaXMpO2MmJm8ucHVzaChjKTtpLnN0eWxlPWc7aS5jbGFzcz1vO3RoaXMubmFtZSYmKGkueGZhTmFtZT10aGlzLm5hbWUpO2lmKHRoaXMub3ZlcmZsb3cpe2NvbnN0IHQ9dGhpcy5vdmVyZmxvd1t1cl0oKTtpZih0LmFkZExlYWRlcil7dC5hZGRMZWFkZXI9ITE7aGFuZGxlT3ZlcmZsb3codGhpcyx0LmxlYWRlcixlKX19dGhpc1tacl0oKTtjb25zdCBDPSJsci10YiI9PT10aGlzLmxheW91dHx8InJsLXRiIj09PXRoaXMubGF5b3V0LGg9Qz8yOjE7Zm9yKDt0aGlzW25yXS5hdHRlbXB0PGg7dGhpc1tucl0uYXR0ZW1wdCsrKXtDJiYxPT09dGhpc1tucl0uYXR0ZW1wdCYmKHRoaXNbbnJdLm51bWJlckluTGluZT0wKTtjb25zdCBlPXRoaXNbX3NdKHtmaWx0ZXI6bixpbmNsdWRlOiEwfSk7aWYoZS5zdWNjZXNzKWJyZWFrO2lmKGUuaXNCcmVhaygpKXt0aGlzW1hyXSgpO3JldHVybiBlfWlmKEMmJjA9PT10aGlzW25yXS5hdHRlbXB0JiYwPT09dGhpc1tucl0ubnVtYmVySW5MaW5lJiYhYVtucl0ubm9MYXlvdXRGYWlsdXJlKXt0aGlzW25yXS5hdHRlbXB0PWg7YnJlYWt9fXRoaXNbWHJdKCk7cnx8dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTthW25yXS5ub0xheW91dEZhaWx1cmU9cztpZih0aGlzW25yXS5hdHRlbXB0PT09aCl7dGhpcy5vdmVyZmxvdyYmKHRoaXNbRHJdKClbbnJdLm92ZXJmbG93Tm9kZT10aGlzLm92ZXJmbG93KTtyfHxkZWxldGUgdGhpc1tucl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX1pZih0aGlzLm92ZXJmbG93KXtjb25zdCB0PXRoaXMub3ZlcmZsb3dbdXJdKCk7aWYodC5hZGRUcmFpbGVyKXt0LmFkZFRyYWlsZXI9ITE7aGFuZGxlT3ZlcmZsb3codGhpcyx0LnRyYWlsZXIsZSl9fWxldCBsPTAsUT0wO2lmKHRoaXMubWFyZ2luKXtsPXRoaXMubWFyZ2luLmxlZnRJbnNldCt0aGlzLm1hcmdpbi5yaWdodEluc2V0O1E9dGhpcy5tYXJnaW4udG9wSW5zZXQrdGhpcy5tYXJnaW4uYm90dG9tSW5zZXR9Y29uc3QgRT1NYXRoLm1heCh0aGlzW25yXS53aWR0aCtsLHRoaXMud3x8MCksdT1NYXRoLm1heCh0aGlzW25yXS5oZWlnaHQrUSx0aGlzLmh8fDApLGQ9W3RoaXMueCx0aGlzLnksRSx1XTsiIj09PXRoaXMudyYmKGcud2lkdGg9bWVhc3VyZVRvU3RyaW5nKEUpKTsiIj09PXRoaXMuaCYmKGcuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh1KSk7aWYoKCIwcHgiPT09Zy53aWR0aHx8IjBweCI9PT1nLmhlaWdodCkmJjA9PT10Lmxlbmd0aClyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtjb25zdCBmPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6aSxjaGlsZHJlbjp0fTthcHBseUFzc2lzdCh0aGlzLGkpO2NvbnN0IHA9SFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyxmKSxkKTtpZih0aGlzLmJyZWFrQWZ0ZXIuY2hpbGRyZW4ubGVuZ3RoPj0xKXtjb25zdCBlPXRoaXMuYnJlYWtBZnRlci5jaGlsZHJlblswXTtpZihoYW5kbGVCcmVhayhlKSl7dGhpc1tucl0uYWZ0ZXJCcmVha0FmdGVyPXA7cmV0dXJuIEhUTUxSZXN1bHQuYnJlYWtOb2RlKGUpfX1kZWxldGUgdGhpc1tucl07cmV0dXJuIHB9fWNsYXNzIFN1YmZvcm1TZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInN1YmZvcm1TZXQiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucmVsYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUucmVsYXRpb24sWyJvcmRlcmVkIiwiY2hvaWNlIiwidW5vcmRlcmVkIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9va2VuZD1udWxsO3RoaXMuYnJlYWs9bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLm92ZXJmbG93PW51bGw7dGhpcy5icmVha0FmdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQmVmb3JlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybVNldD1uZXcgWEZBT2JqZWN0QXJyYXl9Kltwcl0oKXt5aWVsZCpnZXRDb250YWluZWRDaGlsZHJlbih0aGlzKX1beXJdKCl7bGV0IGU9dGhpc1t3cl0oKTtmb3IoOyEoZSBpbnN0YW5jZW9mIFN1YmZvcm0pOyllPWVbd3JdKCk7cmV0dXJuIGV9W0dyXSgpe3JldHVybiEwfX1jbGFzcyBTdWJqZWN0RE4gZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzdWJqZWN0RE4iKTt0aGlzLmRlbGltaXRlcj1lLmRlbGltaXRlcnx8IiwiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtncl0oKXt0aGlzW2FyXT1uZXcgTWFwKHRoaXNbYXJdLnNwbGl0KHRoaXMuZGVsaW1pdGVyKS5tYXAoKGU9PnsoZT1lLnNwbGl0KCI9IiwyKSlbMF09ZVswXS50cmltKCk7cmV0dXJuIGV9KSkpfX1jbGFzcyBTdWJqZWN0RE5zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzdWJqZWN0RE5zIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuc3ViamVjdEROPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgU3VibWl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJzdWJtaXQiLCEwKTt0aGlzLmVtYmVkUERGPWdldEludGVnZXIoe2RhdGE6ZS5lbWJlZFBERixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuZm9ybWF0PWdldFN0cmluZ09wdGlvbihlLmZvcm1hdCxbInhkcCIsImZvcm1kYXRhIiwicGRmIiwidXJsZW5jb2RlZCIsInhmZCIsInhtbCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRleHRFbmNvZGluZz1nZXRLZXl3b3JkKHtkYXRhOmUudGV4dEVuY29kaW5nP2UudGV4dEVuY29kaW5nLnRvTG93ZXJDYXNlKCk6IiIsZGVmYXVsdFZhbHVlOiIiLHZhbGlkYXRlOmU9PlsidXRmLTgiLCJiaWctZml2ZSIsImZvbnRzcGVjaWZpYyIsImdiayIsImdiLTE4MDMwIiwiZ2ItMjMxMiIsImtzYy01NjAxIiwibm9uZSIsInNoaWZ0LWppcyIsInVjcy0yIiwidXRmLTE2Il0uaW5jbHVkZXMoZSl8fGUubWF0Y2goL2lzby04ODU5LVxkezJ9Lyl9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy54ZHBDb250ZW50PWUueGRwQ29udGVudHx8IiI7dGhpcy5lbmNyeXB0PW51bGw7dGhpcy5lbmNyeXB0RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduRGF0YT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFRlbXBsYXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJ0ZW1wbGF0ZSIsITApO3RoaXMuYmFzZVByb2ZpbGU9Z2V0U3RyaW5nT3B0aW9uKGUuYmFzZVByb2ZpbGUsWyJmdWxsIiwiaW50ZXJhY3RpdmVGb3JtcyJdKTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXl9W2dyXSgpezA9PT10aGlzLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoJiZ3YXJuKCJYRkEgLSBObyBzdWJmb3JtcyBpbiB0ZW1wbGF0ZSBub2RlLiIpO3RoaXMuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGg+PTImJndhcm4oIlhGQSAtIFNldmVyYWwgc3ViZm9ybXMgaW4gdGVtcGxhdGUgbm9kZTogcGxlYXNlIGZpbGUgYSBidWcuIik7dGhpc1thbl09NWUzfVtMcl0oKXtyZXR1cm4hMH1bJHJdKGUsdCl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiIyIpP1t0aGlzW1NyXS5nZXQoZS5zbGljZSgxKSldOnNlYXJjaE5vZGUodGhpcyx0LGUsITAsITApfSpbcm5dKCl7aWYoIXRoaXMuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGgpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXX0pO3RoaXNbbnJdPXtvdmVyZmxvd05vZGU6bnVsbCxmaXJzdFVuc3BsaXR0YWJsZTpudWxsLGN1cnJlbnRDb250ZW50QXJlYTpudWxsLGN1cnJlbnRQYWdlQXJlYTpudWxsLG5vTGF5b3V0RmFpbHVyZTohMSxwYWdlTnVtYmVyOjEscGFnZVBvc2l0aW9uOiJmaXJzdCIsb2RkT3JFdmVuOiJvZGQiLGJsYW5rT3JOb3RCbGFuazoibm9uQmxhbmsiLHBhcmFTdGFjazpbXX07Y29uc3QgZT10aGlzLnN1YmZvcm0uY2hpbGRyZW5bMF07ZS5wYWdlU2V0W0FyXSgpO2NvbnN0IHQ9ZS5wYWdlU2V0LnBhZ2VBcmVhLmNoaWxkcmVuLGk9e25hbWU6ImRpdiIsY2hpbGRyZW46W119O2xldCBhPW51bGwscz1udWxsLHI9bnVsbDtpZihlLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD49MSl7cz1lLmJyZWFrQmVmb3JlLmNoaWxkcmVuWzBdO3I9cy50YXJnZXR9ZWxzZSBpZihlLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoPj0xJiZlLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWtCZWZvcmUuY2hpbGRyZW4ubGVuZ3RoPj0xKXtzPWUuc3ViZm9ybS5jaGlsZHJlblswXS5icmVha0JlZm9yZS5jaGlsZHJlblswXTtyPXMudGFyZ2V0fWVsc2UgaWYoZS5icmVhaz8uYmVmb3JlVGFyZ2V0KXtzPWUuYnJlYWs7cj1zLmJlZm9yZVRhcmdldH1lbHNlIGlmKGUuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGg+PTEmJmUuc3ViZm9ybS5jaGlsZHJlblswXS5icmVhaz8uYmVmb3JlVGFyZ2V0KXtzPWUuc3ViZm9ybS5jaGlsZHJlblswXS5icmVhaztyPXMuYmVmb3JlVGFyZ2V0fWlmKHMpe2NvbnN0IGU9dGhpc1skcl0ocixzW3dyXSgpKTtpZihlIGluc3RhbmNlb2YgUGFnZUFyZWEpe2E9ZTtzW25yXT17fX19YXx8KGE9dFswXSk7YVtucl09e251bWJlck9mVXNlOjF9O2NvbnN0IG49YVt3cl0oKTtuW25yXT17bnVtYmVyT2ZVc2U6MSxwYWdlSW5kZXg6bi5wYWdlQXJlYS5jaGlsZHJlbi5pbmRleE9mKGEpLHBhZ2VTZXRJbmRleDowfTtsZXQgZyxvPW51bGwsYz1udWxsLEM9ITAsaD0wLGw9MDtmb3IoOzspe2lmKEMpaD0wO2Vsc2V7aS5jaGlsZHJlbi5wb3AoKTtpZigzPT0rK2gpe3dhcm4oIlhGQSAtIFNvbWV0aGluZyBnb2VzIHdyb25nOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTtyZXR1cm4gaX19Zz1udWxsO3RoaXNbbnJdLmN1cnJlbnRQYWdlQXJlYT1hO2NvbnN0IHQ9YVtubl0oKS5odG1sO2kuY2hpbGRyZW4ucHVzaCh0KTtpZihvKXt0aGlzW25yXS5ub0xheW91dEZhaWx1cmU9ITA7dC5jaGlsZHJlbi5wdXNoKG9bbm5dKGFbbnJdLnNwYWNlKS5odG1sKTtvPW51bGx9aWYoYyl7dGhpc1tucl0ubm9MYXlvdXRGYWlsdXJlPSEwO3QuY2hpbGRyZW4ucHVzaChjW25uXShhW25yXS5zcGFjZSkuaHRtbCk7Yz1udWxsfWNvbnN0IHM9YS5jb250ZW50QXJlYS5jaGlsZHJlbixyPXQuY2hpbGRyZW4uZmlsdGVyKChlPT5lLmF0dHJpYnV0ZXMuY2xhc3MuaW5jbHVkZXMoInhmYUNvbnRlbnRhcmVhIikpKTtDPSExO3RoaXNbbnJdLmZpcnN0VW5zcGxpdHRhYmxlPW51bGw7dGhpc1tucl0ubm9MYXlvdXRGYWlsdXJlPSExO2NvbnN0IGZsdXNoPXQ9Pntjb25zdCBpPWVbb3JdKCk7aWYoaSl7Q3x8PWkuY2hpbGRyZW4/Lmxlbmd0aD4wO3JbdF0uY2hpbGRyZW4ucHVzaChpKX19O2ZvcihsZXQgdD1sLGE9cy5sZW5ndGg7dDxhO3QrKyl7Y29uc3QgYT10aGlzW25yXS5jdXJyZW50Q29udGVudEFyZWE9c1t0XSxuPXt3aWR0aDphLncsaGVpZ2h0OmEuaH07bD0wO2lmKG8pe3JbdF0uY2hpbGRyZW4ucHVzaChvW25uXShuKS5odG1sKTtvPW51bGx9aWYoYyl7clt0XS5jaGlsZHJlbi5wdXNoKGNbbm5dKG4pLmh0bWwpO2M9bnVsbH1jb25zdCBoPWVbbm5dKG4pO2lmKGguc3VjY2Vzcyl7aWYoaC5odG1sKXtDfHw9aC5odG1sLmNoaWxkcmVuPy5sZW5ndGg+MDtyW3RdLmNoaWxkcmVuLnB1c2goaC5odG1sKX1lbHNlIUMmJmkuY2hpbGRyZW4ubGVuZ3RoPjEmJmkuY2hpbGRyZW4ucG9wKCk7cmV0dXJuIGl9aWYoaC5pc0JyZWFrKCkpe2NvbnN0IGU9aC5icmVha05vZGU7Zmx1c2godCk7aWYoImF1dG8iPT09ZS50YXJnZXRUeXBlKWNvbnRpbnVlO2lmKGUubGVhZGVyKXtvPXRoaXNbJHJdKGUubGVhZGVyLGVbd3JdKCkpO289bz9vWzBdOm51bGx9aWYoZS50cmFpbGVyKXtjPXRoaXNbJHJdKGUudHJhaWxlcixlW3dyXSgpKTtjPWM/Y1swXTpudWxsfWlmKCJwYWdlQXJlYSI9PT1lLnRhcmdldFR5cGUpe2c9ZVtucl0udGFyZ2V0O3Q9MS8wfWVsc2UgaWYoZVtucl0udGFyZ2V0KXtnPWVbbnJdLnRhcmdldDtsPWVbbnJdLmluZGV4KzE7dD0xLzB9ZWxzZSB0PWVbbnJdLmluZGV4fWVsc2UgaWYodGhpc1tucl0ub3ZlcmZsb3dOb2RlKXtjb25zdCBlPXRoaXNbbnJdLm92ZXJmbG93Tm9kZTt0aGlzW25yXS5vdmVyZmxvd05vZGU9bnVsbDtjb25zdCBpPWVbdXJdKCksYT1pLnRhcmdldDtpLmFkZExlYWRlcj1udWxsIT09aS5sZWFkZXI7aS5hZGRUcmFpbGVyPW51bGwhPT1pLnRyYWlsZXI7Zmx1c2godCk7Y29uc3Qgcj10O3Q9MS8wO2lmKGEgaW5zdGFuY2VvZiBQYWdlQXJlYSlnPWE7ZWxzZSBpZihhIGluc3RhbmNlb2YgQ29udGVudEFyZWEpe2NvbnN0IGU9cy5pbmRleE9mKGEpO2lmKC0xIT09ZSllPnI/dD1lLTE6bD1lO2Vsc2V7Zz1hW3dyXSgpO2w9Zy5jb250ZW50QXJlYS5jaGlsZHJlbi5pbmRleE9mKGEpfX19ZWxzZSBmbHVzaCh0KX10aGlzW25yXS5wYWdlTnVtYmVyKz0xO2cmJihnW1lyXSgpP2dbbnJdLm51bWJlck9mVXNlKz0xOmc9bnVsbCk7YT1nfHxhW21yXSgpO3lpZWxkIG51bGx9fX1jbGFzcyBUZXh0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidGV4dCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tYXhDaGFycz1nZXRJbnRlZ2VyKHtkYXRhOmUubWF4Q2hhcnMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucmlkPWUucmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W1pzXSgpe3JldHVybiEwfVtPcl0oZSl7aWYoZVtLcl09PT1Dbi54aHRtbC5pZCl7dGhpc1thcl09ZTtyZXR1cm4hMH13YXJuKGBYRkEgLSBJbnZhbGlkIGNvbnRlbnQgaW4gVGV4dDogJHtlW1RyXX0uYCk7cmV0dXJuITF9W1dyXShlKXt0aGlzW2FyXWluc3RhbmNlb2YgWEZBT2JqZWN0fHxzdXBlcltXcl0oZSl9W2dyXSgpeyJzdHJpbmciPT10eXBlb2YgdGhpc1thcl0mJih0aGlzW2FyXT10aGlzW2FyXS5yZXBsYWNlQWxsKCJcclxuIiwiXG4iKSl9W3VyXSgpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdGhpc1thcl0/dGhpc1thcl0uc3BsaXQoL1tcdTIwMjlcdTIwMjhcbl0vKS5yZWR1Y2UoKChlLHQpPT57dCYmZS5wdXNoKHQpO3JldHVybiBlfSksW10pLmpvaW4oIlxuIik6dGhpc1thcl1bc25dKCl9W25uXShlKXtpZigic3RyaW5nIj09dHlwZW9mIHRoaXNbYXJdKXtjb25zdCBlPXZhbHVlVG9IdG1sKHRoaXNbYXJdKS5odG1sO2lmKHRoaXNbYXJdLmluY2x1ZGVzKCJcdTIwMjkiKSl7ZS5uYW1lPSJkaXYiO2UuY2hpbGRyZW49W107dGhpc1thcl0uc3BsaXQoIlx1MjAyOSIpLm1hcCgoZT0+ZS5zcGxpdCgvW1x1MjAyOFxuXS8pLnJlZHVjZSgoKGUsdCk9PntlLnB1c2goe25hbWU6InNwYW4iLHZhbHVlOnR9LHtuYW1lOiJiciJ9KTtyZXR1cm4gZX0pLFtdKSkpLmZvckVhY2goKHQ9PntlLmNoaWxkcmVuLnB1c2goe25hbWU6InAiLGNoaWxkcmVuOnR9KX0pKX1lbHNlIGlmKC9bXHUyMDI4XG5dLy50ZXN0KHRoaXNbYXJdKSl7ZS5uYW1lPSJkaXYiO2UuY2hpbGRyZW49W107dGhpc1thcl0uc3BsaXQoL1tcdTIwMjhcbl0vKS5mb3JFYWNoKCh0PT57ZS5jaGlsZHJlbi5wdXNoKHtuYW1lOiJzcGFuIix2YWx1ZTp0fSx7bmFtZToiYnIifSl9KSl9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhlKX1yZXR1cm4gdGhpc1thcl1bbm5dKGUpfX1jbGFzcyBUZXh0RWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidGV4dEVkaXQiLCEwKTt0aGlzLmFsbG93UmljaFRleHQ9Z2V0SW50ZWdlcih7ZGF0YTplLmFsbG93UmljaFRleHQsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubXVsdGlMaW5lPWdldEludGVnZXIoe2RhdGE6ZS5tdWx0aUxpbmUsZGVmYXVsdFZhbHVlOiIiLHZhbGlkYXRlOmU9PjA9PT1lfHwxPT09ZX0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnZTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUudlNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bbm5dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIik7bGV0IGk7Y29uc3QgYT10aGlzW3dyXSgpW3dyXSgpOyIiPT09dGhpcy5tdWx0aUxpbmUmJih0aGlzLm11bHRpTGluZT1hIGluc3RhbmNlb2YgRHJhdz8xOjApO2k9MT09PXRoaXMubXVsdGlMaW5lP3tuYW1lOiJ0ZXh0YXJlYSIsYXR0cmlidXRlczp7ZGF0YUlkOmFbc3JdPy5bSW5dfHxhW0luXSxmaWVsZElkOmFbSW5dLGNsYXNzOlsieGZhVGV4dGZpZWxkIl0sc3R5bGU6dCwiYXJpYS1sYWJlbCI6YXJpYUxhYmVsKGEpLCJhcmlhLXJlcXVpcmVkIjohMX19OntuYW1lOiJpbnB1dCIsYXR0cmlidXRlczp7dHlwZToidGV4dCIsZGF0YUlkOmFbc3JdPy5bSW5dfHxhW0luXSxmaWVsZElkOmFbSW5dLGNsYXNzOlsieGZhVGV4dGZpZWxkIl0sc3R5bGU6dCwiYXJpYS1sYWJlbCI6YXJpYUxhYmVsKGEpLCJhcmlhLXJlcXVpcmVkIjohMX19O2lmKGlzUmVxdWlyZWQoYSkpe2kuYXR0cmlidXRlc1siYXJpYS1yZXF1aXJlZCJdPSEwO2kuYXR0cmlidXRlcy5yZXF1aXJlZD0hMH1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbaV19KX19Y2xhc3MgVGltZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidGltZSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtncl0oKXtjb25zdCBlPXRoaXNbYXJdLnRyaW0oKTt0aGlzW2FyXT1lP25ldyBEYXRlKGUpOm51bGx9W25uXShlKXtyZXR1cm4gdmFsdWVUb0h0bWwodGhpc1thcl0/dGhpc1thcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIFRpbWVTdGFtcCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidGltZVN0YW1wIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnNlcnZlcj1lLnNlcnZlcnx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgVG9vbFRpcCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidG9vbFRpcCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5yaWQ9ZS5yaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgVHJhdmVyc2FsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJ0cmF2ZXJzYWwiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMudHJhdmVyc2U9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBUcmF2ZXJzZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidHJhdmVyc2UiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMub3BlcmF0aW9uPWdldFN0cmluZ09wdGlvbihlLm9wZXJhdGlvbixbIm5leHQiLCJiYWNrIiwiZG93biIsImZpcnN0IiwibGVmdCIsInJpZ2h0IiwidXAiXSk7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuc2NyaXB0PW51bGx9Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy5vcGVyYXRpb259W0pyXSgpe3JldHVybiExfX1jbGFzcyBVaSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidWkiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMucGljdHVyZT1udWxsO3RoaXMuYmFyY29kZT1udWxsO3RoaXMuYnV0dG9uPW51bGw7dGhpcy5jaGVja0J1dHRvbj1udWxsO3RoaXMuY2hvaWNlTGlzdD1udWxsO3RoaXMuZGF0ZVRpbWVFZGl0PW51bGw7dGhpcy5kZWZhdWx0VWk9bnVsbDt0aGlzLmltYWdlRWRpdD1udWxsO3RoaXMubnVtZXJpY0VkaXQ9bnVsbDt0aGlzLnBhc3N3b3JkRWRpdD1udWxsO3RoaXMuc2lnbmF0dXJlPW51bGw7dGhpcy50ZXh0RWRpdD1udWxsfVt1cl0oKXtpZih2b2lkIDA9PT10aGlzW25yXSl7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2lmKCJleHRyYXMiPT09ZXx8InBpY3R1cmUiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7dGhpc1tucl09dDtyZXR1cm4gdH19dGhpc1tucl09bnVsbH1yZXR1cm4gdGhpc1tucl19W25uXShlKXtjb25zdCB0PXRoaXNbdXJdKCk7cmV0dXJuIHQ/dFtubl0oZSk6SFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgVmFsaWRhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIodm4sInZhbGlkYXRlIiwhMCk7dGhpcy5mb3JtYXRUZXN0PWdldFN0cmluZ09wdGlvbihlLmZvcm1hdFRlc3QsWyJ3YXJuaW5nIiwiZGlzYWJsZWQiLCJlcnJvciJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubnVsbFRlc3Q9Z2V0U3RyaW5nT3B0aW9uKGUubnVsbFRlc3QsWyJkaXNhYmxlZCIsImVycm9yIiwid2FybmluZyJdKTt0aGlzLnNjcmlwdFRlc3Q9Z2V0U3RyaW5nT3B0aW9uKGUuc2NyaXB0VGVzdCxbImVycm9yIiwiZGlzYWJsZWQiLCJ3YXJuaW5nIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVzc2FnZT1udWxsO3RoaXMucGljdHVyZT1udWxsO3RoaXMuc2NyaXB0PW51bGx9fWNsYXNzIFZhbHVlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHZuLCJ2YWx1ZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vdmVycmlkZT1nZXRJbnRlZ2VyKHtkYXRhOmUub3ZlcnJpZGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmFyYz1udWxsO3RoaXMuYm9vbGVhbj1udWxsO3RoaXMuZGF0ZT1udWxsO3RoaXMuZGF0ZVRpbWU9bnVsbDt0aGlzLmRlY2ltYWw9bnVsbDt0aGlzLmV4RGF0YT1udWxsO3RoaXMuZmxvYXQ9bnVsbDt0aGlzLmltYWdlPW51bGw7dGhpcy5pbnRlZ2VyPW51bGw7dGhpcy5saW5lPW51bGw7dGhpcy5yZWN0YW5nbGU9bnVsbDt0aGlzLnRleHQ9bnVsbDt0aGlzLnRpbWU9bnVsbH1bdG5dKGUpe2NvbnN0IHQ9dGhpc1t3cl0oKTtpZih0IGluc3RhbmNlb2YgRmllbGQmJnQudWk/LmltYWdlRWRpdCl7aWYoIXRoaXMuaW1hZ2Upe3RoaXMuaW1hZ2U9bmV3IEltYWdlKHt9KTt0aGlzW3pzXSh0aGlzLmltYWdlKX10aGlzLmltYWdlW2FyXT1lW2FyXTtyZXR1cm59Y29uc3QgaT1lW1RyXTtpZihudWxsPT09dGhpc1tpXSl7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXt0aGlzW2VdPW51bGw7dGhpc1tWcl0odCl9fXRoaXNbZVtUcl1dPWU7dGhpc1t6c10oZSl9ZWxzZSB0aGlzW2ldW2FyXT1lW2FyXX1bc25dKCl7aWYodGhpcy5leERhdGEpcmV0dXJuInN0cmluZyI9PXR5cGVvZiB0aGlzLmV4RGF0YVthcl0/dGhpcy5leERhdGFbYXJdLnRyaW0oKTp0aGlzLmV4RGF0YVthcl1bc25dKCkudHJpbSgpO2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZigiaW1hZ2UiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdClyZXR1cm4odFthcl18fCIiKS50b1N0cmluZygpLnRyaW0oKX1yZXR1cm4gbnVsbH1bbm5dKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCBpPXRoaXNbdF07aWYoaSBpbnN0YW5jZW9mIFhGQU9iamVjdClyZXR1cm4gaVtubl0oZSl9cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIFZhcmlhYmxlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcih2biwidmFyaWFibGVzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYW5pZmVzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zY3JpcHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX1bSnJdKCl7cmV0dXJuITB9fWNsYXNzIFRlbXBsYXRlTmFtZXNwYWNle3N0YXRpY1tjbl0oZSx0KXtpZihUZW1wbGF0ZU5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSl7Y29uc3QgaT1UZW1wbGF0ZU5hbWVzcGFjZVtlXSh0KTtpW2VuXSh0KTtyZXR1cm4gaX19c3RhdGljIGFwcGVhcmFuY2VGaWx0ZXIoZSl7cmV0dXJuIG5ldyBBcHBlYXJhbmNlRmlsdGVyKGUpfXN0YXRpYyBhcmMoZSl7cmV0dXJuIG5ldyBBcmMoZSl9c3RhdGljIGFyZWEoZSl7cmV0dXJuIG5ldyBBcmVhKGUpfXN0YXRpYyBhc3Npc3QoZSl7cmV0dXJuIG5ldyBBc3Npc3QoZSl9c3RhdGljIGJhcmNvZGUoZSl7cmV0dXJuIG5ldyBCYXJjb2RlKGUpfXN0YXRpYyBiaW5kKGUpe3JldHVybiBuZXcgQmluZChlKX1zdGF0aWMgYmluZEl0ZW1zKGUpe3JldHVybiBuZXcgQmluZEl0ZW1zKGUpfXN0YXRpYyBib29rZW5kKGUpe3JldHVybiBuZXcgQm9va2VuZChlKX1zdGF0aWMgYm9vbGVhbihlKXtyZXR1cm4gbmV3IEJvb2xlYW5FbGVtZW50KGUpfXN0YXRpYyBib3JkZXIoZSl7cmV0dXJuIG5ldyBCb3JkZXIoZSl9c3RhdGljIGJyZWFrKGUpe3JldHVybiBuZXcgQnJlYWsoZSl9c3RhdGljIGJyZWFrQWZ0ZXIoZSl7cmV0dXJuIG5ldyBCcmVha0FmdGVyKGUpfXN0YXRpYyBicmVha0JlZm9yZShlKXtyZXR1cm4gbmV3IEJyZWFrQmVmb3JlKGUpfXN0YXRpYyBidXR0b24oZSl7cmV0dXJuIG5ldyBCdXR0b24oZSl9c3RhdGljIGNhbGN1bGF0ZShlKXtyZXR1cm4gbmV3IENhbGN1bGF0ZShlKX1zdGF0aWMgY2FwdGlvbihlKXtyZXR1cm4gbmV3IENhcHRpb24oZSl9c3RhdGljIGNlcnRpZmljYXRlKGUpe3JldHVybiBuZXcgQ2VydGlmaWNhdGUoZSl9c3RhdGljIGNlcnRpZmljYXRlcyhlKXtyZXR1cm4gbmV3IENlcnRpZmljYXRlcyhlKX1zdGF0aWMgY2hlY2tCdXR0b24oZSl7cmV0dXJuIG5ldyBDaGVja0J1dHRvbihlKX1zdGF0aWMgY2hvaWNlTGlzdChlKXtyZXR1cm4gbmV3IENob2ljZUxpc3QoZSl9c3RhdGljIGNvbG9yKGUpe3JldHVybiBuZXcgQ29sb3IoZSl9c3RhdGljIGNvbWIoZSl7cmV0dXJuIG5ldyBDb21iKGUpfXN0YXRpYyBjb25uZWN0KGUpe3JldHVybiBuZXcgQ29ubmVjdChlKX1zdGF0aWMgY29udGVudEFyZWEoZSl7cmV0dXJuIG5ldyBDb250ZW50QXJlYShlKX1zdGF0aWMgY29ybmVyKGUpe3JldHVybiBuZXcgQ29ybmVyKGUpfXN0YXRpYyBkYXRlKGUpe3JldHVybiBuZXcgRGF0ZUVsZW1lbnQoZSl9c3RhdGljIGRhdGVUaW1lKGUpe3JldHVybiBuZXcgRGF0ZVRpbWUoZSl9c3RhdGljIGRhdGVUaW1lRWRpdChlKXtyZXR1cm4gbmV3IERhdGVUaW1lRWRpdChlKX1zdGF0aWMgZGVjaW1hbChlKXtyZXR1cm4gbmV3IERlY2ltYWwoZSl9c3RhdGljIGRlZmF1bHRVaShlKXtyZXR1cm4gbmV3IERlZmF1bHRVaShlKX1zdGF0aWMgZGVzYyhlKXtyZXR1cm4gbmV3IERlc2MoZSl9c3RhdGljIGRpZ2VzdE1ldGhvZChlKXtyZXR1cm4gbmV3IERpZ2VzdE1ldGhvZChlKX1zdGF0aWMgZGlnZXN0TWV0aG9kcyhlKXtyZXR1cm4gbmV3IERpZ2VzdE1ldGhvZHMoZSl9c3RhdGljIGRyYXcoZSl7cmV0dXJuIG5ldyBEcmF3KGUpfXN0YXRpYyBlZGdlKGUpe3JldHVybiBuZXcgRWRnZShlKX1zdGF0aWMgZW5jb2RpbmcoZSl7cmV0dXJuIG5ldyBFbmNvZGluZyhlKX1zdGF0aWMgZW5jb2RpbmdzKGUpe3JldHVybiBuZXcgRW5jb2RpbmdzKGUpfXN0YXRpYyBlbmNyeXB0KGUpe3JldHVybiBuZXcgRW5jcnlwdChlKX1zdGF0aWMgZW5jcnlwdERhdGEoZSl7cmV0dXJuIG5ldyBFbmNyeXB0RGF0YShlKX1zdGF0aWMgZW5jcnlwdGlvbihlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb24oZSl9c3RhdGljIGVuY3J5cHRpb25NZXRob2QoZSl7cmV0dXJuIG5ldyBFbmNyeXB0aW9uTWV0aG9kKGUpfXN0YXRpYyBlbmNyeXB0aW9uTWV0aG9kcyhlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb25NZXRob2RzKGUpfXN0YXRpYyBldmVudChlKXtyZXR1cm4gbmV3IEV2ZW50KGUpfXN0YXRpYyBleERhdGEoZSl7cmV0dXJuIG5ldyBFeERhdGEoZSl9c3RhdGljIGV4T2JqZWN0KGUpe3JldHVybiBuZXcgRXhPYmplY3QoZSl9c3RhdGljIGV4Y2xHcm91cChlKXtyZXR1cm4gbmV3IEV4Y2xHcm91cChlKX1zdGF0aWMgZXhlY3V0ZShlKXtyZXR1cm4gbmV3IEV4ZWN1dGUoZSl9c3RhdGljIGV4dHJhcyhlKXtyZXR1cm4gbmV3IEV4dHJhcyhlKX1zdGF0aWMgZmllbGQoZSl7cmV0dXJuIG5ldyBGaWVsZChlKX1zdGF0aWMgZmlsbChlKXtyZXR1cm4gbmV3IEZpbGwoZSl9c3RhdGljIGZpbHRlcihlKXtyZXR1cm4gbmV3IEZpbHRlcihlKX1zdGF0aWMgZmxvYXQoZSl7cmV0dXJuIG5ldyBGbG9hdChlKX1zdGF0aWMgZm9udChlKXtyZXR1cm4gbmV3IHRlbXBsYXRlX0ZvbnQoZSl9c3RhdGljIGZvcm1hdChlKXtyZXR1cm4gbmV3IEZvcm1hdChlKX1zdGF0aWMgaGFuZGxlcihlKXtyZXR1cm4gbmV3IEhhbmRsZXIoZSl9c3RhdGljIGh5cGhlbmF0aW9uKGUpe3JldHVybiBuZXcgSHlwaGVuYXRpb24oZSl9c3RhdGljIGltYWdlKGUpe3JldHVybiBuZXcgSW1hZ2UoZSl9c3RhdGljIGltYWdlRWRpdChlKXtyZXR1cm4gbmV3IEltYWdlRWRpdChlKX1zdGF0aWMgaW50ZWdlcihlKXtyZXR1cm4gbmV3IEludGVnZXIoZSl9c3RhdGljIGlzc3VlcnMoZSl7cmV0dXJuIG5ldyBJc3N1ZXJzKGUpfXN0YXRpYyBpdGVtcyhlKXtyZXR1cm4gbmV3IEl0ZW1zKGUpfXN0YXRpYyBrZWVwKGUpe3JldHVybiBuZXcgS2VlcChlKX1zdGF0aWMga2V5VXNhZ2UoZSl7cmV0dXJuIG5ldyBLZXlVc2FnZShlKX1zdGF0aWMgbGluZShlKXtyZXR1cm4gbmV3IExpbmUoZSl9c3RhdGljIGxpbmVhcihlKXtyZXR1cm4gbmV3IExpbmVhcihlKX1zdGF0aWMgbG9ja0RvY3VtZW50KGUpe3JldHVybiBuZXcgTG9ja0RvY3VtZW50KGUpfXN0YXRpYyBtYW5pZmVzdChlKXtyZXR1cm4gbmV3IE1hbmlmZXN0KGUpfXN0YXRpYyBtYXJnaW4oZSl7cmV0dXJuIG5ldyBNYXJnaW4oZSl9c3RhdGljIG1kcChlKXtyZXR1cm4gbmV3IE1kcChlKX1zdGF0aWMgbWVkaXVtKGUpe3JldHVybiBuZXcgTWVkaXVtKGUpfXN0YXRpYyBtZXNzYWdlKGUpe3JldHVybiBuZXcgTWVzc2FnZShlKX1zdGF0aWMgbnVtZXJpY0VkaXQoZSl7cmV0dXJuIG5ldyBOdW1lcmljRWRpdChlKX1zdGF0aWMgb2NjdXIoZSl7cmV0dXJuIG5ldyBPY2N1cihlKX1zdGF0aWMgb2lkKGUpe3JldHVybiBuZXcgT2lkKGUpfXN0YXRpYyBvaWRzKGUpe3JldHVybiBuZXcgT2lkcyhlKX1zdGF0aWMgb3ZlcmZsb3coZSl7cmV0dXJuIG5ldyBPdmVyZmxvdyhlKX1zdGF0aWMgcGFnZUFyZWEoZSl7cmV0dXJuIG5ldyBQYWdlQXJlYShlKX1zdGF0aWMgcGFnZVNldChlKXtyZXR1cm4gbmV3IFBhZ2VTZXQoZSl9c3RhdGljIHBhcmEoZSl7cmV0dXJuIG5ldyBQYXJhKGUpfXN0YXRpYyBwYXNzd29yZEVkaXQoZSl7cmV0dXJuIG5ldyBQYXNzd29yZEVkaXQoZSl9c3RhdGljIHBhdHRlcm4oZSl7cmV0dXJuIG5ldyB0ZW1wbGF0ZV9QYXR0ZXJuKGUpfXN0YXRpYyBwaWN0dXJlKGUpe3JldHVybiBuZXcgUGljdHVyZShlKX1zdGF0aWMgcHJvdG8oZSl7cmV0dXJuIG5ldyBQcm90byhlKX1zdGF0aWMgcmFkaWFsKGUpe3JldHVybiBuZXcgUmFkaWFsKGUpfXN0YXRpYyByZWFzb24oZSl7cmV0dXJuIG5ldyBSZWFzb24oZSl9c3RhdGljIHJlYXNvbnMoZSl7cmV0dXJuIG5ldyBSZWFzb25zKGUpfXN0YXRpYyByZWN0YW5nbGUoZSl7cmV0dXJuIG5ldyBSZWN0YW5nbGUoZSl9c3RhdGljIHJlZihlKXtyZXR1cm4gbmV3IFJlZkVsZW1lbnQoZSl9c3RhdGljIHNjcmlwdChlKXtyZXR1cm4gbmV3IFNjcmlwdChlKX1zdGF0aWMgc2V0UHJvcGVydHkoZSl7cmV0dXJuIG5ldyBTZXRQcm9wZXJ0eShlKX1zdGF0aWMgc2lnbkRhdGEoZSl7cmV0dXJuIG5ldyBTaWduRGF0YShlKX1zdGF0aWMgc2lnbmF0dXJlKGUpe3JldHVybiBuZXcgU2lnbmF0dXJlKGUpfXN0YXRpYyBzaWduaW5nKGUpe3JldHVybiBuZXcgU2lnbmluZyhlKX1zdGF0aWMgc29saWQoZSl7cmV0dXJuIG5ldyBTb2xpZChlKX1zdGF0aWMgc3BlYWsoZSl7cmV0dXJuIG5ldyBTcGVhayhlKX1zdGF0aWMgc3RpcHBsZShlKXtyZXR1cm4gbmV3IFN0aXBwbGUoZSl9c3RhdGljIHN1YmZvcm0oZSl7cmV0dXJuIG5ldyBTdWJmb3JtKGUpfXN0YXRpYyBzdWJmb3JtU2V0KGUpe3JldHVybiBuZXcgU3ViZm9ybVNldChlKX1zdGF0aWMgc3ViamVjdEROKGUpe3JldHVybiBuZXcgU3ViamVjdEROKGUpfXN0YXRpYyBzdWJqZWN0RE5zKGUpe3JldHVybiBuZXcgU3ViamVjdEROcyhlKX1zdGF0aWMgc3VibWl0KGUpe3JldHVybiBuZXcgU3VibWl0KGUpfXN0YXRpYyB0ZW1wbGF0ZShlKXtyZXR1cm4gbmV3IFRlbXBsYXRlKGUpfXN0YXRpYyB0ZXh0KGUpe3JldHVybiBuZXcgVGV4dChlKX1zdGF0aWMgdGV4dEVkaXQoZSl7cmV0dXJuIG5ldyBUZXh0RWRpdChlKX1zdGF0aWMgdGltZShlKXtyZXR1cm4gbmV3IFRpbWUoZSl9c3RhdGljIHRpbWVTdGFtcChlKXtyZXR1cm4gbmV3IFRpbWVTdGFtcChlKX1zdGF0aWMgdG9vbFRpcChlKXtyZXR1cm4gbmV3IFRvb2xUaXAoZSl9c3RhdGljIHRyYXZlcnNhbChlKXtyZXR1cm4gbmV3IFRyYXZlcnNhbChlKX1zdGF0aWMgdHJhdmVyc2UoZSl7cmV0dXJuIG5ldyBUcmF2ZXJzZShlKX1zdGF0aWMgdWkoZSl7cmV0dXJuIG5ldyBVaShlKX1zdGF0aWMgdmFsaWRhdGUoZSl7cmV0dXJuIG5ldyBWYWxpZGF0ZShlKX1zdGF0aWMgdmFsdWUoZSl7cmV0dXJuIG5ldyBWYWx1ZShlKX1zdGF0aWMgdmFyaWFibGVzKGUpe3JldHVybiBuZXcgVmFyaWFibGVzKGUpfX1jb25zdCBQbj1Dbi5kYXRhc2V0cy5pZDtmdW5jdGlvbiBjcmVhdGVUZXh0KGUpe2NvbnN0IHQ9bmV3IFRleHQoe30pO3RbYXJdPWU7cmV0dXJuIHR9Y2xhc3MgQmluZGVye2NvbnN0cnVjdG9yKGUpe3RoaXMucm9vdD1lO3RoaXMuZGF0YXNldHM9ZS5kYXRhc2V0czt0aGlzLmRhdGE9ZS5kYXRhc2V0cz8uZGF0YXx8bmV3IFhtbE9iamVjdChDbi5kYXRhc2V0cy5pZCwiZGF0YSIpO3RoaXMuZW1wdHlNZXJnZT0wPT09dGhpcy5kYXRhW2ZyXSgpLmxlbmd0aDt0aGlzLnJvb3QuZm9ybT10aGlzLmZvcm09ZS50ZW1wbGF0ZVt0cl0oKX1faXNDb25zdW1lRGF0YSgpe3JldHVybiF0aGlzLmVtcHR5TWVyZ2UmJnRoaXMuX21lcmdlTW9kZX1faXNNYXRjaFRlbXBsYXRlKCl7cmV0dXJuIXRoaXMuX2lzQ29uc3VtZURhdGEoKX1iaW5kKCl7dGhpcy5fYmluZEVsZW1lbnQodGhpcy5mb3JtLHRoaXMuZGF0YSk7cmV0dXJuIHRoaXMuZm9ybX1nZXREYXRhKCl7cmV0dXJuIHRoaXMuZGF0YX1fYmluZFZhbHVlKGUsdCxpKXtlW3NyXT10O2lmKGVbRnJdKCkpaWYodFt4cl0oKSl7Y29uc3QgaT10W0VyXSgpO2VbdG5dKGNyZWF0ZVRleHQoaSkpfWVsc2UgaWYoZSBpbnN0YW5jZW9mIEZpZWxkJiYibXVsdGlTZWxlY3QiPT09ZS51aT8uY2hvaWNlTGlzdD8ub3Blbil7Y29uc3QgaT10W2ZyXSgpLm1hcCgoZT0+ZVthcl0udHJpbSgpKSkuam9pbigiXG4iKTtlW3RuXShjcmVhdGVUZXh0KGkpKX1lbHNlIHRoaXMuX2lzQ29uc3VtZURhdGEoKSYmd2FybigiWEZBIC0gTm9kZXMgaGF2ZW4ndCB0aGUgc2FtZSB0eXBlLiIpO2Vsc2UhdFt4cl0oKXx8dGhpcy5faXNNYXRjaFRlbXBsYXRlKCk/dGhpcy5fYmluZEVsZW1lbnQoZSx0KTp3YXJuKCJYRkEgLSBOb2RlcyBoYXZlbid0IHRoZSBzYW1lIHR5cGUuIil9X2ZpbmREYXRhQnlOYW1lVG9Db25zdW1lKGUsdCxpLGEpe2lmKCFlKXJldHVybiBudWxsO2xldCBzLHI7Zm9yKGxldCBhPTA7YTwzO2ErKyl7cz1pW2RyXShlLCExLCEwKTtmb3IoOzspe3I9cy5uZXh0KCkudmFsdWU7aWYoIXIpYnJlYWs7aWYodD09PXJbeHJdKCkpcmV0dXJuIHJ9aWYoaVtLcl09PT1Dbi5kYXRhc2V0cy5pZCYmImRhdGEiPT09aVtUcl0pYnJlYWs7aT1pW3dyXSgpfWlmKCFhKXJldHVybiBudWxsO3M9dGhpcy5kYXRhW2RyXShlLCEwLCExKTtyPXMubmV4dCgpLnZhbHVlO2lmKHIpcmV0dXJuIHI7cz10aGlzLmRhdGFbSXJdKGUsITApO3I9cy5uZXh0KCkudmFsdWU7cmV0dXJuIHI/Llt4cl0oKT9yOm51bGx9X3NldFByb3BlcnRpZXMoZSx0KXtpZihlLmhhc093blByb3BlcnR5KCJzZXRQcm9wZXJ0eSIpKWZvcihjb25zdHtyZWY6aSx0YXJnZXQ6YSxjb25uZWN0aW9uOnN9b2YgZS5zZXRQcm9wZXJ0eS5jaGlsZHJlbil7aWYocyljb250aW51ZTtpZighaSljb250aW51ZTtjb25zdCByPXNlYXJjaE5vZGUodGhpcy5yb290LHQsaSwhMSwhMSk7aWYoIXIpe3dhcm4oYFhGQSAtIEludmFsaWQgcmVmZXJlbmNlOiAke2l9LmApO2NvbnRpbnVlfWNvbnN0W25dPXI7aWYoIW5bVXJdKHRoaXMuZGF0YSkpe3dhcm4oIlhGQSAtIEludmFsaWQgbm9kZTogbXVzdCBiZSBhIGRhdGEgbm9kZS4iKTtjb250aW51ZX1jb25zdCBnPXNlYXJjaE5vZGUodGhpcy5yb290LGUsYSwhMSwhMSk7aWYoIWcpe3dhcm4oYFhGQSAtIEludmFsaWQgdGFyZ2V0OiAke2F9LmApO2NvbnRpbnVlfWNvbnN0W29dPWc7aWYoIW9bVXJdKGUpKXt3YXJuKCJYRkEgLSBJbnZhbGlkIHRhcmdldDogbXVzdCBiZSBhIHByb3BlcnR5IG9yIHN1YnByb3BlcnR5LiIpO2NvbnRpbnVlfWNvbnN0IGM9b1t3cl0oKTtpZihvIGluc3RhbmNlb2YgU2V0UHJvcGVydHl8fGMgaW5zdGFuY2VvZiBTZXRQcm9wZXJ0eSl7d2FybigiWEZBIC0gSW52YWxpZCB0YXJnZXQ6IGNhbm5vdCBiZSBhIHNldFByb3BlcnR5IG9yIG9uZSBvZiBpdHMgcHJvcGVydGllcy4iKTtjb250aW51ZX1pZihvIGluc3RhbmNlb2YgQmluZEl0ZW1zfHxjIGluc3RhbmNlb2YgQmluZEl0ZW1zKXt3YXJuKCJYRkEgLSBJbnZhbGlkIHRhcmdldDogY2Fubm90IGJlIGEgYmluZEl0ZW1zIG9yIG9uZSBvZiBpdHMgcHJvcGVydGllcy4iKTtjb250aW51ZX1jb25zdCBDPW5bc25dKCksaD1vW1RyXTtpZihvIGluc3RhbmNlb2YgWEZBQXR0cmlidXRlKXtjb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCk7ZVtoXT1DO2NvbnN0IHQ9UmVmbGVjdC5jb25zdHJ1Y3QoT2JqZWN0LmdldFByb3RvdHlwZU9mKGMpLmNvbnN0cnVjdG9yLFtlXSk7Y1toXT10W2hdfWVsc2UgaWYoby5oYXNPd25Qcm9wZXJ0eShhcikpe29bc3JdPW47b1thcl09QztvW2dyXSgpfWVsc2Ugd2FybigiWEZBIC0gSW52YWxpZCBub2RlIHRvIHVzZSBpbiBzZXRQcm9wZXJ0eSIpfX1fYmluZEl0ZW1zKGUsdCl7aWYoIWUuaGFzT3duUHJvcGVydHkoIml0ZW1zIil8fCFlLmhhc093blByb3BlcnR5KCJiaW5kSXRlbXMiKXx8ZS5iaW5kSXRlbXMuaXNFbXB0eSgpKXJldHVybjtmb3IoY29uc3QgdCBvZiBlLml0ZW1zLmNoaWxkcmVuKWVbVnJdKHQpO2UuaXRlbXMuY2xlYXIoKTtjb25zdCBpPW5ldyBJdGVtcyh7fSksYT1uZXcgSXRlbXMoe30pO2VbenNdKGkpO2UuaXRlbXMucHVzaChpKTtlW3pzXShhKTtlLml0ZW1zLnB1c2goYSk7Zm9yKGNvbnN0e3JlZjpzLGxhYmVsUmVmOnIsdmFsdWVSZWY6bixjb25uZWN0aW9uOmd9b2YgZS5iaW5kSXRlbXMuY2hpbGRyZW4pe2lmKGcpY29udGludWU7aWYoIXMpY29udGludWU7Y29uc3QgZT1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LHMsITEsITEpO2lmKGUpZm9yKGNvbnN0IHQgb2YgZSl7aWYoIXRbVXJdKHRoaXMuZGF0YXNldHMpKXt3YXJuKGBYRkEgLSBJbnZhbGlkIHJlZiAoJHtzfSk6IG11c3QgYmUgYSBkYXRhc2V0cyBjaGlsZC5gKTtjb250aW51ZX1jb25zdCBlPXNlYXJjaE5vZGUodGhpcy5yb290LHQsciwhMCwhMSk7aWYoIWUpe3dhcm4oYFhGQSAtIEludmFsaWQgbGFiZWw6ICR7cn0uYCk7Y29udGludWV9Y29uc3RbZ109ZTtpZighZ1tVcl0odGhpcy5kYXRhc2V0cykpe3dhcm4oIlhGQSAtIEludmFsaWQgbGFiZWw6IG11c3QgYmUgYSBkYXRhc2V0cyBjaGlsZC4iKTtjb250aW51ZX1jb25zdCBvPXNlYXJjaE5vZGUodGhpcy5yb290LHQsbiwhMCwhMSk7aWYoIW8pe3dhcm4oYFhGQSAtIEludmFsaWQgdmFsdWU6ICR7bn0uYCk7Y29udGludWV9Y29uc3RbY109bztpZighY1tVcl0odGhpcy5kYXRhc2V0cykpe3dhcm4oIlhGQSAtIEludmFsaWQgdmFsdWU6IG11c3QgYmUgYSBkYXRhc2V0cyBjaGlsZC4iKTtjb250aW51ZX1jb25zdCBDPWNyZWF0ZVRleHQoZ1tzbl0oKSksaD1jcmVhdGVUZXh0KGNbc25dKCkpO2lbenNdKEMpO2kudGV4dC5wdXNoKEMpO2FbenNdKGgpO2EudGV4dC5wdXNoKGgpfWVsc2Ugd2FybihgWEZBIC0gSW52YWxpZCByZWZlcmVuY2U6ICR7c30uYCl9fV9iaW5kT2NjdXJyZW5jZXMoZSx0LGkpe2xldCBhO2lmKHQubGVuZ3RoPjEpe2E9ZVt0cl0oKTthW1ZyXShhLm9jY3VyKTthLm9jY3VyPW51bGx9dGhpcy5fYmluZFZhbHVlKGUsdFswXSxpKTt0aGlzLl9zZXRQcm9wZXJ0aWVzKGUsdFswXSk7dGhpcy5fYmluZEl0ZW1zKGUsdFswXSk7aWYoMT09PXQubGVuZ3RoKXJldHVybjtjb25zdCBzPWVbd3JdKCkscj1lW1RyXSxuPXNba3JdKGUpO2ZvcihsZXQgZT0xLGc9dC5sZW5ndGg7ZTxnO2UrKyl7Y29uc3QgZz10W2VdLG89YVt0cl0oKTtzW3JdLnB1c2gobyk7c1tScl0obitlLG8pO3RoaXMuX2JpbmRWYWx1ZShvLGcsaSk7dGhpcy5fc2V0UHJvcGVydGllcyhvLGcpO3RoaXMuX2JpbmRJdGVtcyhvLGcpfX1fY3JlYXRlT2NjdXJyZW5jZXMoZSl7aWYoIXRoaXMuZW1wdHlNZXJnZSlyZXR1cm47Y29uc3R7b2NjdXI6dH09ZTtpZighdHx8dC5pbml0aWFsPD0xKXJldHVybjtjb25zdCBpPWVbd3JdKCksYT1lW1RyXTtpZighKGlbYV1pbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5KSlyZXR1cm47bGV0IHM7cz1lLm5hbWU/aVthXS5jaGlsZHJlbi5maWx0ZXIoKHQ9PnQubmFtZT09PWUubmFtZSkpLmxlbmd0aDppW2FdLmNoaWxkcmVuLmxlbmd0aDtjb25zdCByPWlba3JdKGUpKzEsbj10LmluaXRpYWwtcztpZihuKXtjb25zdCB0PWVbdHJdKCk7dFtWcl0odC5vY2N1cik7dC5vY2N1cj1udWxsO2lbYV0ucHVzaCh0KTtpW1JyXShyLHQpO2ZvcihsZXQgZT0xO2U8bjtlKyspe2NvbnN0IHM9dFt0cl0oKTtpW2FdLnB1c2gocyk7aVtScl0ocitlLHMpfX19X2dldE9jY3VySW5mbyhlKXtjb25zdHtuYW1lOnQsb2NjdXI6aX09ZTtpZighaXx8IXQpcmV0dXJuWzEsMV07Y29uc3QgYT0tMT09PWkubWF4PzEvMDppLm1heDtyZXR1cm5baS5taW4sYV19X3NldEFuZEJpbmQoZSx0KXt0aGlzLl9zZXRQcm9wZXJ0aWVzKGUsdCk7dGhpcy5fYmluZEl0ZW1zKGUsdCk7dGhpcy5fYmluZEVsZW1lbnQoZSx0KX1fYmluZEVsZW1lbnQoZSx0KXtjb25zdCBpPVtdO3RoaXMuX2NyZWF0ZU9jY3VycmVuY2VzKGUpO2Zvcihjb25zdCBhIG9mIGVbZnJdKCkpe2lmKGFbc3JdKWNvbnRpbnVlO2lmKHZvaWQgMD09PXRoaXMuX21lcmdlTW9kZSYmInN1YmZvcm0iPT09YVtUcl0pe3RoaXMuX21lcmdlTW9kZT0iY29uc3VtZURhdGEiPT09YS5tZXJnZU1vZGU7Y29uc3QgZT10W2ZyXSgpO2lmKGUubGVuZ3RoPjApdGhpcy5fYmluZE9jY3VycmVuY2VzKGEsW2VbMF1dLG51bGwpO2Vsc2UgaWYodGhpcy5lbXB0eU1lcmdlKXtjb25zdCBlPXRbS3JdPT09UG4/LTE6dFtLcl0saT1hW3NyXT1uZXcgWG1sT2JqZWN0KGUsYS5uYW1lfHwicm9vdCIpO3RbenNdKGkpO3RoaXMuX2JpbmRFbGVtZW50KGEsaSl9Y29udGludWV9aWYoIWFbR3JdKCkpY29udGludWU7bGV0IGU9ITEscz1udWxsLHI9bnVsbCxuPW51bGw7aWYoYS5iaW5kKXtzd2l0Y2goYS5iaW5kLm1hdGNoKXtjYXNlIm5vbmUiOnRoaXMuX3NldEFuZEJpbmQoYSx0KTtjb250aW51ZTtjYXNlImdsb2JhbCI6ZT0hMDticmVhaztjYXNlImRhdGFSZWYiOmlmKCFhLmJpbmQucmVmKXt3YXJuKGBYRkEgLSByZWYgaXMgZW1wdHkgaW4gbm9kZSAke2FbVHJdfS5gKTt0aGlzLl9zZXRBbmRCaW5kKGEsdCk7Y29udGludWV9cj1hLmJpbmQucmVmfWEuYmluZC5waWN0dXJlJiYocz1hLmJpbmQucGljdHVyZVthcl0pfWNvbnN0W2csb109dGhpcy5fZ2V0T2NjdXJJbmZvKGEpO2lmKHIpe249c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxyLCEwLCExKTtpZihudWxsPT09bil7bj1jcmVhdGVEYXRhTm9kZSh0aGlzLmRhdGEsdCxyKTtpZighbiljb250aW51ZTt0aGlzLl9pc0NvbnN1bWVEYXRhKCkmJihuW2lyXT0hMCk7dGhpcy5fc2V0QW5kQmluZChhLG4pO2NvbnRpbnVlfXRoaXMuX2lzQ29uc3VtZURhdGEoKSYmKG49bi5maWx0ZXIoKGU9PiFlW2lyXSkpKTtuLmxlbmd0aD5vP249bi5zbGljZSgwLG8pOjA9PT1uLmxlbmd0aCYmKG49bnVsbCk7biYmdGhpcy5faXNDb25zdW1lRGF0YSgpJiZuLmZvckVhY2goKGU9PntlW2lyXT0hMH0pKX1lbHNle2lmKCFhLm5hbWUpe3RoaXMuX3NldEFuZEJpbmQoYSx0KTtjb250aW51ZX1pZih0aGlzLl9pc0NvbnN1bWVEYXRhKCkpe2NvbnN0IGk9W107Zm9yKDtpLmxlbmd0aDxvOyl7Y29uc3Qgcz10aGlzLl9maW5kRGF0YUJ5TmFtZVRvQ29uc3VtZShhLm5hbWUsYVtGcl0oKSx0LGUpO2lmKCFzKWJyZWFrO3NbaXJdPSEwO2kucHVzaChzKX1uPWkubGVuZ3RoPjA/aTpudWxsfWVsc2V7bj10W2RyXShhLm5hbWUsITEsdGhpcy5lbXB0eU1lcmdlKS5uZXh0KCkudmFsdWU7aWYoIW4pe2lmKDA9PT1nKXtpLnB1c2goYSk7Y29udGludWV9Y29uc3QgZT10W0tyXT09PVBuPy0xOnRbS3JdO249YVtzcl09bmV3IFhtbE9iamVjdChlLGEubmFtZSk7dGhpcy5lbXB0eU1lcmdlJiYobltpcl09ITApO3RbenNdKG4pO3RoaXMuX3NldEFuZEJpbmQoYSxuKTtjb250aW51ZX10aGlzLmVtcHR5TWVyZ2UmJihuW2lyXT0hMCk7bj1bbl19fW4/dGhpcy5fYmluZE9jY3VycmVuY2VzKGEsbixzKTpnPjA/dGhpcy5fc2V0QW5kQmluZChhLHQpOmkucHVzaChhKX1pLmZvckVhY2goKGU9PmVbd3JdKClbVnJdKGUpKSl9fWNsYXNzIERhdGFIYW5kbGVye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5kYXRhPXQ7dGhpcy5kYXRhc2V0PWUuZGF0YXNldHN8fG51bGx9c2VyaWFsaXplKGUpe2NvbnN0IHQ9W1stMSx0aGlzLmRhdGFbZnJdKCldXTtmb3IoO3QubGVuZ3RoPjA7KXtjb25zdCBpPXQuYXQoLTEpLFthLHNdPWk7aWYoYSsxPT09cy5sZW5ndGgpe3QucG9wKCk7Y29udGludWV9Y29uc3Qgcj1zWysraVswXV0sbj1lLmdldChyW0luXSk7aWYobilyW3RuXShuKTtlbHNle2NvbnN0IHQ9cltjcl0oKTtmb3IoY29uc3QgaSBvZiB0LnZhbHVlcygpKXtjb25zdCB0PWUuZ2V0KGlbSW5dKTtpZih0KXtpW3RuXSh0KTticmVha319fWNvbnN0IGc9cltmcl0oKTtnLmxlbmd0aD4wJiZ0LnB1c2goWy0xLGddKX1jb25zdCBpPVsnPHhmYTpkYXRhc2V0cyB4bWxuczp4ZmE9Imh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGZhLWRhdGEvMS4wLyI+J107aWYodGhpcy5kYXRhc2V0KWZvcihjb25zdCBlIG9mIHRoaXMuZGF0YXNldFtmcl0oKSkiZGF0YSIhPT1lW1RyXSYmZVtnbl0oaSk7dGhpcy5kYXRhW2duXShpKTtpLnB1c2goIjwveGZhOmRhdGFzZXRzPiIpO3JldHVybiBpLmpvaW4oIiIpfX1jb25zdCBXbj1Dbi5jb25maWcuaWQ7Y2xhc3MgQWNyb2JhdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiYWNyb2JhdCIsITApO3RoaXMuYWNyb2JhdDc9bnVsbDt0aGlzLmF1dG9TYXZlPW51bGw7dGhpcy5jb21tb249bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy52YWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcz1udWxsO3RoaXMuc3VibWl0VXJsPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQWNyb2JhdDcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImFjcm9iYXQ3IiwhMCk7dGhpcy5keW5hbWljUmVuZGVyPW51bGx9fWNsYXNzIEFEQkVfSlNDb25zb2xlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJBREJFX0pTQ29uc29sZSIsWyJkZWxlZ2F0ZSIsIkVuYWJsZSIsIkRpc2FibGUiXSl9fWNsYXNzIEFEQkVfSlNEZWJ1Z2dlciBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiQURCRV9KU0RlYnVnZ2VyIixbImRlbGVnYXRlIiwiRW5hYmxlIiwiRGlzYWJsZSJdKX19Y2xhc3MgQWRkU2lsZW50UHJpbnQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiYWRkU2lsZW50UHJpbnQiKX19Y2xhc3MgQWRkVmlld2VyUHJlZmVyZW5jZXMgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiYWRkVmlld2VyUHJlZmVyZW5jZXMiKX19Y2xhc3MgQWRqdXN0RGF0YSBleHRlbmRzIE9wdGlvbjEwe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJhZGp1c3REYXRhIil9fWNsYXNzIEFkb2JlRXh0ZW5zaW9uTGV2ZWwgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJhZG9iZUV4dGVuc2lvbkxldmVsIiwwLChlPT5lPj0xJiZlPD04KSl9fWNsYXNzIEFnZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJhZ2VudCIsITApO3RoaXMubmFtZT1lLm5hbWU/ZS5uYW1lLnRyaW0oKToiIjt0aGlzLmNvbW1vbj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEFsd2F5c0VtYmVkIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiYWx3YXlzRW1iZWQiKX19Y2xhc3MgQW1kIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJhbWQiKX19Y2xhc3MgY29uZmlnX0FyZWEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImFyZWEiKTt0aGlzLmxldmVsPWdldEludGVnZXIoe2RhdGE6ZS5sZXZlbCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0xJiZlPD0zfSk7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyIiLCJiYXJjb2RlIiwiY29yZWluaXQiLCJkZXZpY2VEcml2ZXIiLCJmb250IiwiZ2VuZXJhbCIsImxheW91dCIsIm1lcmdlIiwic2NyaXB0Iiwic2lnbmF0dXJlIiwic291cmNlU2V0IiwidGVtcGxhdGVDYWNoZSJdKX19Y2xhc3MgQXR0cmlidXRlcyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiYXR0cmlidXRlcyIsWyJwcmVzZXJ2ZSIsImRlbGVnYXRlIiwiaWdub3JlIl0pfX1jbGFzcyBBdXRvU2F2ZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiYXV0b1NhdmUiLFsiZGlzYWJsZWQiLCJlbmFibGVkIl0pfX1jbGFzcyBCYXNlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJiYXNlIil9fWNsYXNzIEJhdGNoT3V0cHV0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJiYXRjaE91dHB1dCIpO3RoaXMuZm9ybWF0PWdldFN0cmluZ09wdGlvbihlLmZvcm1hdCxbIm5vbmUiLCJjb25jYXQiLCJ6aXAiLCJ6aXBDb21wcmVzcyJdKX19Y2xhc3MgQmVoYXZpb3JPdmVycmlkZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImJlaGF2aW9yT3ZlcnJpZGUiKX1bZ3JdKCl7dGhpc1thcl09bmV3IE1hcCh0aGlzW2FyXS50cmltKCkuc3BsaXQoL1xzKy8pLmZpbHRlcigoZT0+ZS5pbmNsdWRlcygiOiIpKSkubWFwKChlPT5lLnNwbGl0KCI6IiwyKSkpKX19Y2xhc3MgQ2FjaGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImNhY2hlIiwhMCk7dGhpcy50ZW1wbGF0ZUNhY2hlPW51bGx9fWNsYXNzIENoYW5nZSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjaGFuZ2UiKX19Y2xhc3MgQ29tbW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjb21tb24iLCEwKTt0aGlzLmRhdGE9bnVsbDt0aGlzLmxvY2FsZT1udWxsO3RoaXMubG9jYWxlU2V0PW51bGw7dGhpcy5tZXNzYWdpbmc9bnVsbDt0aGlzLnN1cHByZXNzQmFubmVyPW51bGw7dGhpcy50ZW1wbGF0ZT1udWxsO3RoaXMudmFsaWRhdGlvbk1lc3NhZ2luZz1udWxsO3RoaXMudmVyc2lvbkNvbnRyb2w9bnVsbDt0aGlzLmxvZz1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIENvbXByZXNzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjb21wcmVzcyIpO3RoaXMuc2NvcGU9Z2V0U3RyaW5nT3B0aW9uKGUuc2NvcGUsWyJpbWFnZU9ubHkiLCJkb2N1bWVudCJdKX19Y2xhc3MgQ29tcHJlc3NMb2dpY2FsU3RydWN0dXJlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImNvbXByZXNzTG9naWNhbFN0cnVjdHVyZSIpfX1jbGFzcyBDb21wcmVzc09iamVjdFN0cmVhbSBleHRlbmRzIE9wdGlvbjEwe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjb21wcmVzc09iamVjdFN0cmVhbSIpfX1jbGFzcyBDb21wcmVzc2lvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiY29tcHJlc3Npb24iLCEwKTt0aGlzLmNvbXByZXNzTG9naWNhbFN0cnVjdHVyZT1udWxsO3RoaXMuY29tcHJlc3NPYmplY3RTdHJlYW09bnVsbDt0aGlzLmxldmVsPW51bGw7dGhpcy50eXBlPW51bGx9fWNsYXNzIENvbmZpZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiY29uZmlnIiwhMCk7dGhpcy5hY3JvYmF0PW51bGw7dGhpcy5wcmVzZW50PW51bGw7dGhpcy50cmFjZT1udWxsO3RoaXMuYWdlbnQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBDb25mb3JtYW5jZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiY29uZm9ybWFuY2UiLFsiQSIsIkIiXSl9fWNsYXNzIENvbnRlbnRDb3B5IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImNvbnRlbnRDb3B5Iil9fWNsYXNzIENvcGllcyBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImNvcGllcyIsMSwoZT0+ZT49MSkpfX1jbGFzcyBDcmVhdG9yIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJjcmVhdG9yIil9fWNsYXNzIEN1cnJlbnRQYWdlIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiY3VycmVudFBhZ2UiLDAsKGU9PmU+PTApKX19Y2xhc3MgRGF0YSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiZGF0YSIsITApO3RoaXMuYWRqdXN0RGF0YT1udWxsO3RoaXMuYXR0cmlidXRlcz1udWxsO3RoaXMuaW5jcmVtZW50YWxMb2FkPW51bGw7dGhpcy5vdXRwdXRYU0w9bnVsbDt0aGlzLnJhbmdlPW51bGw7dGhpcy5yZWNvcmQ9bnVsbDt0aGlzLnN0YXJ0Tm9kZT1udWxsO3RoaXMudXJpPW51bGw7dGhpcy53aW5kb3c9bnVsbDt0aGlzLnhzbD1udWxsO3RoaXMuZXhjbHVkZU5TPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRyYW5zZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIERlYnVnIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJkZWJ1ZyIsITApO3RoaXMudXJpPW51bGx9fWNsYXNzIERlZmF1bHRUeXBlZmFjZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImRlZmF1bHRUeXBlZmFjZSIpO3RoaXMud3JpdGluZ1NjcmlwdD1nZXRTdHJpbmdPcHRpb24oZS53cml0aW5nU2NyaXB0LFsiKiIsIkFyYWJpYyIsIkN5cmlsbGljIiwiRWFzdEV1cm9wZWFuUm9tYW4iLCJHcmVlayIsIkhlYnJldyIsIkphcGFuZXNlIiwiS29yZWFuIiwiUm9tYW4iLCJTaW1wbGlmaWVkQ2hpbmVzZSIsIlRoYWkiLCJUcmFkaXRpb25hbENoaW5lc2UiLCJWaWV0bmFtZXNlIl0pfX1jbGFzcyBEZXN0aW5hdGlvbiBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiZGVzdGluYXRpb24iLFsicGRmIiwicGNsIiwicHMiLCJ3ZWJDbGllbnQiLCJ6cGwiXSl9fWNsYXNzIERvY3VtZW50QXNzZW1ibHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiZG9jdW1lbnRBc3NlbWJseSIpfX1jbGFzcyBEcml2ZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImRyaXZlciIsITApO3RoaXMubmFtZT1lLm5hbWU/ZS5uYW1lLnRyaW0oKToiIjt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgRHVwbGV4T3B0aW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJkdXBsZXhPcHRpb24iLFsic2ltcGxleCIsImR1cGxleEZsaXBMb25nRWRnZSIsImR1cGxleEZsaXBTaG9ydEVkZ2UiXSl9fWNsYXNzIER5bmFtaWNSZW5kZXIgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImR5bmFtaWNSZW5kZXIiLFsiZm9yYmlkZGVuIiwicmVxdWlyZWQiXSl9fWNsYXNzIEVtYmVkIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImVtYmVkIil9fWNsYXNzIGNvbmZpZ19FbmNyeXB0IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImVuY3J5cHQiKX19Y2xhc3MgY29uZmlnX0VuY3J5cHRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImVuY3J5cHRpb24iLCEwKTt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmVuY3J5cHRpb25MZXZlbD1udWxsO3RoaXMucGVybWlzc2lvbnM9bnVsbH19Y2xhc3MgRW5jcnlwdGlvbkxldmVsIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJlbmNyeXB0aW9uTGV2ZWwiLFsiNDBiaXQiLCIxMjhiaXQiXSl9fWNsYXNzIEVuZm9yY2UgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImVuZm9yY2UiKX19Y2xhc3MgRXF1YXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJlcXVhdGUiKTt0aGlzLmZvcmNlPWdldEludGVnZXIoe2RhdGE6ZS5mb3JjZSxkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4wPT09ZX0pO3RoaXMuZnJvbT1lLmZyb218fCIiO3RoaXMudG89ZS50b3x8IiJ9fWNsYXNzIEVxdWF0ZVJhbmdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJlcXVhdGVSYW5nZSIpO3RoaXMuZnJvbT1lLmZyb218fCIiO3RoaXMudG89ZS50b3x8IiI7dGhpcy5fdW5pY29kZVJhbmdlPWUudW5pY29kZVJhbmdlfHwiIn1nZXQgdW5pY29kZVJhbmdlKCl7Y29uc3QgZT1bXSx0PS9VXCsoWzAtOWEtZkEtRl0rKS8saT10aGlzLl91bmljb2RlUmFuZ2U7Zm9yKGxldCBhIG9mIGkuc3BsaXQoIiwiKS5tYXAoKGU9PmUudHJpbSgpKSkuZmlsdGVyKChlPT4hIWUpKSl7YT1hLnNwbGl0KCItIiwyKS5tYXAoKGU9Pntjb25zdCBpPWUubWF0Y2godCk7cmV0dXJuIGk/cGFyc2VJbnQoaVsxXSwxNik6MH0pKTsxPT09YS5sZW5ndGgmJmEucHVzaChhWzBdKTtlLnB1c2goYSl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ1bmljb2RlUmFuZ2UiLGUpfX1jbGFzcyBFeGNsdWRlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiZXhjbHVkZSIpfVtncl0oKXt0aGlzW2FyXT10aGlzW2FyXS50cmltKCkuc3BsaXQoL1xzKy8pLmZpbHRlcigoZT0+ZSYmWyJjYWxjdWxhdGUiLCJjbG9zZSIsImVudGVyIiwiZXhpdCIsImluaXRpYWxpemUiLCJyZWFkeSIsInZhbGlkYXRlIl0uaW5jbHVkZXMoZSkpKX19Y2xhc3MgRXhjbHVkZU5TIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJleGNsdWRlTlMiKX19Y2xhc3MgRmxpcExhYmVsIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJmbGlwTGFiZWwiLFsidXNlUHJpbnRlclNldHRpbmciLCJvbiIsIm9mZiJdKX19Y2xhc3MgY29uZmlnX0ZvbnRJbmZvIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJmb250SW5mbyIsITApO3RoaXMuZW1iZWQ9bnVsbDt0aGlzLm1hcD1udWxsO3RoaXMuc3Vic2V0QmVsb3c9bnVsbDt0aGlzLmFsd2F5c0VtYmVkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlZmF1bHRUeXBlZmFjZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5uZXZlckVtYmVkPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRm9ybUZpZWxkRmlsbGluZyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJmb3JtRmllbGRGaWxsaW5nIil9fWNsYXNzIEdyb3VwUGFyZW50IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJncm91cFBhcmVudCIpfX1jbGFzcyBJZkVtcHR5IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJpZkVtcHR5IixbImRhdGFWYWx1ZSIsImRhdGFHcm91cCIsImlnbm9yZSIsInJlbW92ZSJdKX19Y2xhc3MgSW5jbHVkZVhEUENvbnRlbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImluY2x1ZGVYRFBDb250ZW50Iil9fWNsYXNzIEluY3JlbWVudGFsTG9hZCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiaW5jcmVtZW50YWxMb2FkIixbIm5vbmUiLCJmb3J3YXJkT25seSJdKX19Y2xhc3MgSW5jcmVtZW50YWxNZXJnZSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJpbmNyZW1lbnRhbE1lcmdlIil9fWNsYXNzIEludGVyYWN0aXZlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImludGVyYWN0aXZlIil9fWNsYXNzIEpvZyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwiam9nIixbInVzZVByaW50ZXJTZXR0aW5nIiwibm9uZSIsInBhZ2VTZXQiXSl9fWNsYXNzIExhYmVsUHJpbnRlciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibGFiZWxQcmludGVyIiwhMCk7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJ6cGwiLCJkcGwiLCJpcGwiLCJ0Y3BsIl0pO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZsaXBMYWJlbD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBMYXlvdXQgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImxheW91dCIsWyJwYWdpbmF0ZSIsInBhbmVsIl0pfX1jbGFzcyBMZXZlbCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sImxldmVsIiwwLChlPT5lPjApKX19Y2xhc3MgTGluZWFyaXplZCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJsaW5lYXJpemVkIil9fWNsYXNzIExvY2FsZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibG9jYWxlIil9fWNsYXNzIExvY2FsZVNldCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibG9jYWxlU2V0Iil9fWNsYXNzIExvZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibG9nIiwhMCk7dGhpcy5tb2RlPW51bGw7dGhpcy50aHJlc2hvbGQ9bnVsbDt0aGlzLnRvPW51bGw7dGhpcy51cmk9bnVsbH19Y2xhc3MgTWFwRWxlbWVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibWFwIiwhMCk7dGhpcy5lcXVhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXF1YXRlUmFuZ2U9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBNZWRpdW1JbmZvIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJtZWRpdW1JbmZvIiwhMCk7dGhpcy5tYXA9bnVsbH19Y2xhc3MgY29uZmlnX01lc3NhZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIm1lc3NhZ2UiLCEwKTt0aGlzLm1zZ0lkPW51bGw7dGhpcy5zZXZlcml0eT1udWxsfX1jbGFzcyBNZXNzYWdpbmcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIm1lc3NhZ2luZyIsITApO3RoaXMubWVzc2FnZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1vZGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIm1vZGUiLFsiYXBwZW5kIiwib3ZlcndyaXRlIl0pfX1jbGFzcyBNb2RpZnlBbm5vdHMgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibW9kaWZ5QW5ub3RzIil9fWNsYXNzIE1zZ0lkIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibXNnSWQiLDEsKGU9PmU+PTEpKX19Y2xhc3MgTmFtZUF0dHIgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIm5hbWVBdHRyIil9fWNsYXNzIE5ldmVyRW1iZWQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJuZXZlckVtYmVkIil9fWNsYXNzIE51bWJlck9mQ29waWVzIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwibnVtYmVyT2ZDb3BpZXMiLG51bGwsKGU9PmU+PTImJmU8PTUpKX19Y2xhc3MgT3BlbkFjdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwib3BlbkFjdGlvbiIsITApO3RoaXMuZGVzdGluYXRpb249bnVsbH19Y2xhc3MgT3V0cHV0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJvdXRwdXQiLCEwKTt0aGlzLnRvPW51bGw7dGhpcy50eXBlPW51bGw7dGhpcy51cmk9bnVsbH19Y2xhc3MgT3V0cHV0QmluIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJvdXRwdXRCaW4iKX19Y2xhc3MgT3V0cHV0WFNMIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJvdXRwdXRYU0wiLCEwKTt0aGlzLnVyaT1udWxsfX1jbGFzcyBPdmVycHJpbnQgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIm92ZXJwcmludCIsWyJub25lIiwiYm90aCIsImRyYXciLCJmaWVsZCJdKX19Y2xhc3MgUGFja2V0cyBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwicGFja2V0cyIpfVtncl0oKXsiKiIhPT10aGlzW2FyXSYmKHRoaXNbYXJdPXRoaXNbYXJdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5bImNvbmZpZyIsImRhdGFzZXRzIiwidGVtcGxhdGUiLCJ4ZmRmIiwieHNsdCJdLmluY2x1ZGVzKGUpKSkpfX1jbGFzcyBQYWdlT2Zmc2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwYWdlT2Zmc2V0Iik7dGhpcy54PWdldEludGVnZXIoe2RhdGE6ZS54LGRlZmF1bHRWYWx1ZToidXNlWERDU2V0dGluZyIsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnk9Z2V0SW50ZWdlcih7ZGF0YTplLnksZGVmYXVsdFZhbHVlOiJ1c2VYRENTZXR0aW5nIix2YWxpZGF0ZTplPT4hMH0pfX1jbGFzcyBQYWdlUmFuZ2UgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBhZ2VSYW5nZSIpfVtncl0oKXtjb25zdCBlPXRoaXNbYXJdLnRyaW0oKS5zcGxpdCgvXHMrLykubWFwKChlPT5wYXJzZUludChlLDEwKSkpLHQ9W107Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSs9Mil0LnB1c2goZS5zbGljZShpLGkrMikpO3RoaXNbYXJdPXR9fWNsYXNzIFBhZ2luYXRpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBhZ2luYXRpb24iLFsic2ltcGxleCIsImR1cGxleFNob3J0RWRnZSIsImR1cGxleExvbmdFZGdlIl0pfX1jbGFzcyBQYWdpbmF0aW9uT3ZlcnJpZGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBhZ2luYXRpb25PdmVycmlkZSIsWyJub25lIiwiZm9yY2VEdXBsZXgiLCJmb3JjZUR1cGxleExvbmdFZGdlIiwiZm9yY2VEdXBsZXhTaG9ydEVkZ2UiLCJmb3JjZVNpbXBsZXgiXSl9fWNsYXNzIFBhcnQgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwYXJ0IiwxLChlPT4hMSkpfX1jbGFzcyBQY2wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBjbCIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy5qb2c9bnVsbDt0aGlzLm1lZGl1bUluZm89bnVsbDt0aGlzLm91dHB1dEJpbj1udWxsO3RoaXMucGFnZU9mZnNldD1udWxsO3RoaXMuc3RhcGxlPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUGRmIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwZGYiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLmFkb2JlRXh0ZW5zaW9uTGV2ZWw9bnVsbDt0aGlzLmJhdGNoT3V0cHV0PW51bGw7dGhpcy5jb21wcmVzc2lvbj1udWxsO3RoaXMuY3JlYXRvcj1udWxsO3RoaXMuZW5jcnlwdGlvbj1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLmludGVyYWN0aXZlPW51bGw7dGhpcy5saW5lYXJpemVkPW51bGw7dGhpcy5vcGVuQWN0aW9uPW51bGw7dGhpcy5wZGZhPW51bGw7dGhpcy5wcm9kdWNlcj1udWxsO3RoaXMucmVuZGVyUG9saWN5PW51bGw7dGhpcy5zY3JpcHRNb2RlbD1udWxsO3RoaXMuc2lsZW50UHJpbnQ9bnVsbDt0aGlzLnN1Ym1pdEZvcm1hdD1udWxsO3RoaXMudGFnZ2VkPW51bGw7dGhpcy52ZXJzaW9uPW51bGw7dGhpcy52aWV3ZXJQcmVmZXJlbmNlcz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIFBkZmEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBkZmEiLCEwKTt0aGlzLmFtZD1udWxsO3RoaXMuY29uZm9ybWFuY2U9bnVsbDt0aGlzLmluY2x1ZGVYRFBDb250ZW50PW51bGw7dGhpcy5wYXJ0PW51bGx9fWNsYXNzIFBlcm1pc3Npb25zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwZXJtaXNzaW9ucyIsITApO3RoaXMuYWNjZXNzaWJsZUNvbnRlbnQ9bnVsbDt0aGlzLmNoYW5nZT1udWxsO3RoaXMuY29udGVudENvcHk9bnVsbDt0aGlzLmRvY3VtZW50QXNzZW1ibHk9bnVsbDt0aGlzLmZvcm1GaWVsZEZpbGxpbmc9bnVsbDt0aGlzLm1vZGlmeUFubm90cz1udWxsO3RoaXMucGxhaW50ZXh0TWV0YWRhdGE9bnVsbDt0aGlzLnByaW50PW51bGw7dGhpcy5wcmludEhpZ2hRdWFsaXR5PW51bGx9fWNsYXNzIFBpY2tUcmF5QnlQREZTaXplIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBpY2tUcmF5QnlQREZTaXplIil9fWNsYXNzIGNvbmZpZ19QaWN0dXJlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwaWN0dXJlIil9fWNsYXNzIFBsYWludGV4dE1ldGFkYXRhIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInBsYWludGV4dE1ldGFkYXRhIil9fWNsYXNzIFByZXNlbmNlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwcmVzZW5jZSIsWyJwcmVzZXJ2ZSIsImRpc3NvbHZlIiwiZGlzc29sdmVTdHJ1Y3R1cmUiLCJpZ25vcmUiLCJyZW1vdmUiXSl9fWNsYXNzIFByZXNlbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInByZXNlbnQiLCEwKTt0aGlzLmJlaGF2aW9yT3ZlcnJpZGU9bnVsbDt0aGlzLmNhY2hlPW51bGw7dGhpcy5jb21tb249bnVsbDt0aGlzLmNvcGllcz1udWxsO3RoaXMuZGVzdGluYXRpb249bnVsbDt0aGlzLmluY3JlbWVudGFsTWVyZ2U9bnVsbDt0aGlzLmxheW91dD1udWxsO3RoaXMub3V0cHV0PW51bGw7dGhpcy5vdmVycHJpbnQ9bnVsbDt0aGlzLnBhZ2luYXRpb249bnVsbDt0aGlzLnBhZ2luYXRpb25PdmVycmlkZT1udWxsO3RoaXMuc2NyaXB0PW51bGw7dGhpcy52YWxpZGF0ZT1udWxsO3RoaXMueGRwPW51bGw7dGhpcy5kcml2ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubGFiZWxQcmludGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBjbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wZGY9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucHM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3VibWl0VXJsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLndlYkNsaWVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy56cGw9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBQcmludCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwcmludCIpfX1jbGFzcyBQcmludEhpZ2hRdWFsaXR5IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInByaW50SGlnaFF1YWxpdHkiKX19Y2xhc3MgUHJpbnRTY2FsaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwcmludFNjYWxpbmciLFsiYXBwZGVmYXVsdCIsIm5vU2NhbGluZyJdKX19Y2xhc3MgUHJpbnRlck5hbWUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInByaW50ZXJOYW1lIil9fWNsYXNzIFByb2R1Y2VyIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJwcm9kdWNlciIpfX1jbGFzcyBQcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwicHMiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLmJhdGNoT3V0cHV0PW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMuam9nPW51bGw7dGhpcy5tZWRpdW1JbmZvPW51bGw7dGhpcy5vdXRwdXRCaW49bnVsbDt0aGlzLnN0YXBsZT1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIFJhbmdlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwicmFuZ2UiKX1bZ3JdKCl7dGhpc1thcl09dGhpc1thcl0udHJpbSgpLnNwbGl0KC9ccyosXHMqLywyKS5tYXAoKGU9PmUuc3BsaXQoIi0iKS5tYXAoKGU9PnBhcnNlSW50KGUudHJpbSgpLDEwKSkpKSkuZmlsdGVyKChlPT5lLmV2ZXJ5KChlPT4haXNOYU4oZSkpKSkpLm1hcCgoZT0+ezE9PT1lLmxlbmd0aCYmZS5wdXNoKGVbMF0pO3JldHVybiBlfSkpfX1jbGFzcyBSZWNvcmQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJyZWNvcmQiKX1bZ3JdKCl7dGhpc1thcl09dGhpc1thcl0udHJpbSgpO2NvbnN0IGU9cGFyc2VJbnQodGhpc1thcl0sMTApOyFpc05hTihlKSYmZT49MCYmKHRoaXNbYXJdPWUpfX1jbGFzcyBSZWxldmFudCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInJlbGV2YW50Iil9W2dyXSgpe3RoaXNbYXJdPXRoaXNbYXJdLnRyaW0oKS5zcGxpdCgvXHMrLyl9fWNsYXNzIFJlbmFtZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInJlbmFtZSIpfVtncl0oKXt0aGlzW2FyXT10aGlzW2FyXS50cmltKCk7KHRoaXNbYXJdLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgieG1sIil8fG5ldyBSZWdFeHAoIltcXHB7TH1fXVtcXHB7TH1cXGQuX1xccHtNfS1dKiIsInUiKS50ZXN0KHRoaXNbYXJdKSkmJndhcm4oIlhGQSAtIFJlbmFtZTogaW52YWxpZCBYRkEgbmFtZSIpfX1jbGFzcyBSZW5kZXJQb2xpY3kgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInJlbmRlclBvbGljeSIsWyJzZXJ2ZXIiLCJjbGllbnQiXSl9fWNsYXNzIFJ1blNjcmlwdHMgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInJ1blNjcmlwdHMiLFsiYm90aCIsImNsaWVudCIsIm5vbmUiLCJzZXJ2ZXIiXSl9fWNsYXNzIGNvbmZpZ19TY3JpcHQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInNjcmlwdCIsITApO3RoaXMuY3VycmVudFBhZ2U9bnVsbDt0aGlzLmV4Y2x1ZGU9bnVsbDt0aGlzLnJ1blNjcmlwdHM9bnVsbH19Y2xhc3MgU2NyaXB0TW9kZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInNjcmlwdE1vZGVsIixbIlhGQSIsIm5vbmUiXSl9fWNsYXNzIFNldmVyaXR5IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJzZXZlcml0eSIsWyJpZ25vcmUiLCJlcnJvciIsImluZm9ybWF0aW9uIiwidHJhY2UiLCJ3YXJuaW5nIl0pfX1jbGFzcyBTaWxlbnRQcmludCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwic2lsZW50UHJpbnQiLCEwKTt0aGlzLmFkZFNpbGVudFByaW50PW51bGw7dGhpcy5wcmludGVyTmFtZT1udWxsfX1jbGFzcyBTdGFwbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInN0YXBsZSIpO3RoaXMubW9kZT1nZXRTdHJpbmdPcHRpb24oZS5tb2RlLFsidXNlUHJpbnRlclNldHRpbmciLCJvbiIsIm9mZiJdKX19Y2xhc3MgU3RhcnROb2RlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJzdGFydE5vZGUiKX19Y2xhc3MgU3RhcnRQYWdlIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwic3RhcnRQYWdlIiwwLChlPT4hMCkpfX1jbGFzcyBTdWJtaXRGb3JtYXQgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInN1Ym1pdEZvcm1hdCIsWyJodG1sIiwiZGVsZWdhdGUiLCJmZGYiLCJ4bWwiLCJwZGYiXSl9fWNsYXNzIFN1Ym1pdFVybCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwic3VibWl0VXJsIil9fWNsYXNzIFN1YnNldEJlbG93IGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwic3Vic2V0QmVsb3ciLDEwMCwoZT0+ZT49MCYmZTw9MTAwKSl9fWNsYXNzIFN1cHByZXNzQmFubmVyIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInN1cHByZXNzQmFubmVyIil9fWNsYXNzIFRhZ2dlZCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ0YWdnZWQiKX19Y2xhc3MgY29uZmlnX1RlbXBsYXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ0ZW1wbGF0ZSIsITApO3RoaXMuYmFzZT1udWxsO3RoaXMucmVsZXZhbnQ9bnVsbDt0aGlzLnN0YXJ0UGFnZT1udWxsO3RoaXMudXJpPW51bGw7dGhpcy54c2w9bnVsbH19Y2xhc3MgVGhyZXNob2xkIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ0aHJlc2hvbGQiLFsidHJhY2UiLCJlcnJvciIsImluZm9ybWF0aW9uIiwid2FybmluZyJdKX19Y2xhc3MgVG8gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInRvIixbIm51bGwiLCJtZW1vcnkiLCJzdGRlcnIiLCJzdGRvdXQiLCJzeXN0ZW0iLCJ1cmkiXSl9fWNsYXNzIFRlbXBsYXRlQ2FjaGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInRlbXBsYXRlQ2FjaGUiKTt0aGlzLm1heEVudHJpZXM9Z2V0SW50ZWdlcih7ZGF0YTplLm1heEVudHJpZXMsZGVmYXVsdFZhbHVlOjUsdmFsaWRhdGU6ZT0+ZT49MH0pfX1jbGFzcyBUcmFjZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwidHJhY2UiLCEwKTt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBUcmFuc2Zvcm0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInRyYW5zZm9ybSIsITApO3RoaXMuZ3JvdXBQYXJlbnQ9bnVsbDt0aGlzLmlmRW1wdHk9bnVsbDt0aGlzLm5hbWVBdHRyPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5wcmVzZW5jZT1udWxsO3RoaXMucmVuYW1lPW51bGw7dGhpcy53aGl0ZXNwYWNlPW51bGx9fWNsYXNzIFR5cGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInR5cGUiLFsibm9uZSIsImFzY2lpODUiLCJhc2NpaUhleCIsImNjaXR0ZmF4IiwiZmxhdGUiLCJsenciLCJydW5MZW5ndGgiLCJuYXRpdmUiLCJ4ZHAiLCJtZXJnZWRYRFAiXSl9fWNsYXNzIFVyaSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwidXJpIil9fWNsYXNzIGNvbmZpZ19WYWxpZGF0ZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwidmFsaWRhdGUiLFsicHJlU3VibWl0IiwicHJlUHJpbnQiLCJwcmVFeGVjdXRlIiwicHJlU2F2ZSJdKX19Y2xhc3MgVmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ2YWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcyIpfVtncl0oKXt0aGlzW2FyXT10aGlzW2FyXS50cmltKCkuc3BsaXQoL1xzKy8pLmZpbHRlcigoZT0+WyJkb2NSZWFkeSIsInBvc3RTaWduIl0uaW5jbHVkZXMoZSkpKX19Y2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2luZyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwidmFsaWRhdGlvbk1lc3NhZ2luZyIsWyJhbGxNZXNzYWdlc0luZGl2aWR1YWxseSIsImFsbE1lc3NhZ2VzVG9nZXRoZXIiLCJmaXJzdE1lc3NhZ2VPbmx5Iiwibm9NZXNzYWdlcyJdKX19Y2xhc3MgVmVyc2lvbiBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwidmVyc2lvbiIsWyIxLjciLCIxLjYiLCIxLjUiLCIxLjQiLCIxLjMiLCIxLjIiXSl9fWNsYXNzIFZlcnNpb25Db250cm9sIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJWZXJzaW9uQ29udHJvbCIpO3RoaXMub3V0cHV0QmVsb3c9Z2V0U3RyaW5nT3B0aW9uKGUub3V0cHV0QmVsb3csWyJ3YXJuIiwiZXJyb3IiLCJ1cGRhdGUiXSk7dGhpcy5zb3VyY2VBYm92ZT1nZXRTdHJpbmdPcHRpb24oZS5zb3VyY2VBYm92ZSxbIndhcm4iLCJlcnJvciJdKTt0aGlzLnNvdXJjZUJlbG93PWdldFN0cmluZ09wdGlvbihlLnNvdXJjZUJlbG93LFsidXBkYXRlIiwibWFpbnRhaW4iXSl9fWNsYXNzIFZpZXdlclByZWZlcmVuY2VzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsITApO3RoaXMuQURCRV9KU0NvbnNvbGU9bnVsbDt0aGlzLkFEQkVfSlNEZWJ1Z2dlcj1udWxsO3RoaXMuYWRkVmlld2VyUHJlZmVyZW5jZXM9bnVsbDt0aGlzLmR1cGxleE9wdGlvbj1udWxsO3RoaXMuZW5mb3JjZT1udWxsO3RoaXMubnVtYmVyT2ZDb3BpZXM9bnVsbDt0aGlzLnBhZ2VSYW5nZT1udWxsO3RoaXMucGlja1RyYXlCeVBERlNpemU9bnVsbDt0aGlzLnByaW50U2NhbGluZz1udWxsfX1jbGFzcyBXZWJDbGllbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sIndlYkNsaWVudCIsITApO3RoaXMubmFtZT1lLm5hbWU/ZS5uYW1lLnRyaW0oKToiIjt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgV2hpdGVzcGFjZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihXbiwid2hpdGVzcGFjZSIsWyJwcmVzZXJ2ZSIsImx0cmltIiwibm9ybWFsaXplIiwicnRyaW0iLCJ0cmltIl0pfX1jbGFzcyBXaW5kb3cgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ3aW5kb3ciKX1bZ3JdKCl7Y29uc3QgZT10aGlzW2FyXS50cmltKCkuc3BsaXQoL1xzKixccyovLDIpLm1hcCgoZT0+cGFyc2VJbnQoZSwxMCkpKTtpZihlLnNvbWUoKGU9PmlzTmFOKGUpKSkpdGhpc1thcl09WzAsMF07ZWxzZXsxPT09ZS5sZW5ndGgmJmUucHVzaChlWzBdKTt0aGlzW2FyXT1lfX19Y2xhc3MgWGRjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFduLCJ4ZGMiLCEwKTt0aGlzLnVyaT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy54c2w9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBYZHAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInhkcCIsITApO3RoaXMucGFja2V0cz1udWxsfX1jbGFzcyBYc2wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInhzbCIsITApO3RoaXMuZGVidWc9bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBacGwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoV24sInpwbCIsITApO3RoaXMubmFtZT1lLm5hbWU/ZS5uYW1lLnRyaW0oKToiIjt0aGlzLmJhdGNoT3V0cHV0PW51bGw7dGhpcy5mbGlwTGFiZWw9bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgQ29uZmlnTmFtZXNwYWNle3N0YXRpY1tjbl0oZSx0KXtpZihDb25maWdOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIENvbmZpZ05hbWVzcGFjZVtlXSh0KX1zdGF0aWMgYWNyb2JhdChlKXtyZXR1cm4gbmV3IEFjcm9iYXQoZSl9c3RhdGljIGFjcm9iYXQ3KGUpe3JldHVybiBuZXcgQWNyb2JhdDcoZSl9c3RhdGljIEFEQkVfSlNDb25zb2xlKGUpe3JldHVybiBuZXcgQURCRV9KU0NvbnNvbGUoZSl9c3RhdGljIEFEQkVfSlNEZWJ1Z2dlcihlKXtyZXR1cm4gbmV3IEFEQkVfSlNEZWJ1Z2dlcihlKX1zdGF0aWMgYWRkU2lsZW50UHJpbnQoZSl7cmV0dXJuIG5ldyBBZGRTaWxlbnRQcmludChlKX1zdGF0aWMgYWRkVmlld2VyUHJlZmVyZW5jZXMoZSl7cmV0dXJuIG5ldyBBZGRWaWV3ZXJQcmVmZXJlbmNlcyhlKX1zdGF0aWMgYWRqdXN0RGF0YShlKXtyZXR1cm4gbmV3IEFkanVzdERhdGEoZSl9c3RhdGljIGFkb2JlRXh0ZW5zaW9uTGV2ZWwoZSl7cmV0dXJuIG5ldyBBZG9iZUV4dGVuc2lvbkxldmVsKGUpfXN0YXRpYyBhZ2VudChlKXtyZXR1cm4gbmV3IEFnZW50KGUpfXN0YXRpYyBhbHdheXNFbWJlZChlKXtyZXR1cm4gbmV3IEFsd2F5c0VtYmVkKGUpfXN0YXRpYyBhbWQoZSl7cmV0dXJuIG5ldyBBbWQoZSl9c3RhdGljIGFyZWEoZSl7cmV0dXJuIG5ldyBjb25maWdfQXJlYShlKX1zdGF0aWMgYXR0cmlidXRlcyhlKXtyZXR1cm4gbmV3IEF0dHJpYnV0ZXMoZSl9c3RhdGljIGF1dG9TYXZlKGUpe3JldHVybiBuZXcgQXV0b1NhdmUoZSl9c3RhdGljIGJhc2UoZSl7cmV0dXJuIG5ldyBCYXNlKGUpfXN0YXRpYyBiYXRjaE91dHB1dChlKXtyZXR1cm4gbmV3IEJhdGNoT3V0cHV0KGUpfXN0YXRpYyBiZWhhdmlvck92ZXJyaWRlKGUpe3JldHVybiBuZXcgQmVoYXZpb3JPdmVycmlkZShlKX1zdGF0aWMgY2FjaGUoZSl7cmV0dXJuIG5ldyBDYWNoZShlKX1zdGF0aWMgY2hhbmdlKGUpe3JldHVybiBuZXcgQ2hhbmdlKGUpfXN0YXRpYyBjb21tb24oZSl7cmV0dXJuIG5ldyBDb21tb24oZSl9c3RhdGljIGNvbXByZXNzKGUpe3JldHVybiBuZXcgQ29tcHJlc3MoZSl9c3RhdGljIGNvbXByZXNzTG9naWNhbFN0cnVjdHVyZShlKXtyZXR1cm4gbmV3IENvbXByZXNzTG9naWNhbFN0cnVjdHVyZShlKX1zdGF0aWMgY29tcHJlc3NPYmplY3RTdHJlYW0oZSl7cmV0dXJuIG5ldyBDb21wcmVzc09iamVjdFN0cmVhbShlKX1zdGF0aWMgY29tcHJlc3Npb24oZSl7cmV0dXJuIG5ldyBDb21wcmVzc2lvbihlKX1zdGF0aWMgY29uZmlnKGUpe3JldHVybiBuZXcgQ29uZmlnKGUpfXN0YXRpYyBjb25mb3JtYW5jZShlKXtyZXR1cm4gbmV3IENvbmZvcm1hbmNlKGUpfXN0YXRpYyBjb250ZW50Q29weShlKXtyZXR1cm4gbmV3IENvbnRlbnRDb3B5KGUpfXN0YXRpYyBjb3BpZXMoZSl7cmV0dXJuIG5ldyBDb3BpZXMoZSl9c3RhdGljIGNyZWF0b3IoZSl7cmV0dXJuIG5ldyBDcmVhdG9yKGUpfXN0YXRpYyBjdXJyZW50UGFnZShlKXtyZXR1cm4gbmV3IEN1cnJlbnRQYWdlKGUpfXN0YXRpYyBkYXRhKGUpe3JldHVybiBuZXcgRGF0YShlKX1zdGF0aWMgZGVidWcoZSl7cmV0dXJuIG5ldyBEZWJ1ZyhlKX1zdGF0aWMgZGVmYXVsdFR5cGVmYWNlKGUpe3JldHVybiBuZXcgRGVmYXVsdFR5cGVmYWNlKGUpfXN0YXRpYyBkZXN0aW5hdGlvbihlKXtyZXR1cm4gbmV3IERlc3RpbmF0aW9uKGUpfXN0YXRpYyBkb2N1bWVudEFzc2VtYmx5KGUpe3JldHVybiBuZXcgRG9jdW1lbnRBc3NlbWJseShlKX1zdGF0aWMgZHJpdmVyKGUpe3JldHVybiBuZXcgRHJpdmVyKGUpfXN0YXRpYyBkdXBsZXhPcHRpb24oZSl7cmV0dXJuIG5ldyBEdXBsZXhPcHRpb24oZSl9c3RhdGljIGR5bmFtaWNSZW5kZXIoZSl7cmV0dXJuIG5ldyBEeW5hbWljUmVuZGVyKGUpfXN0YXRpYyBlbWJlZChlKXtyZXR1cm4gbmV3IEVtYmVkKGUpfXN0YXRpYyBlbmNyeXB0KGUpe3JldHVybiBuZXcgY29uZmlnX0VuY3J5cHQoZSl9c3RhdGljIGVuY3J5cHRpb24oZSl7cmV0dXJuIG5ldyBjb25maWdfRW5jcnlwdGlvbihlKX1zdGF0aWMgZW5jcnlwdGlvbkxldmVsKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbkxldmVsKGUpfXN0YXRpYyBlbmZvcmNlKGUpe3JldHVybiBuZXcgRW5mb3JjZShlKX1zdGF0aWMgZXF1YXRlKGUpe3JldHVybiBuZXcgRXF1YXRlKGUpfXN0YXRpYyBlcXVhdGVSYW5nZShlKXtyZXR1cm4gbmV3IEVxdWF0ZVJhbmdlKGUpfXN0YXRpYyBleGNsdWRlKGUpe3JldHVybiBuZXcgRXhjbHVkZShlKX1zdGF0aWMgZXhjbHVkZU5TKGUpe3JldHVybiBuZXcgRXhjbHVkZU5TKGUpfXN0YXRpYyBmbGlwTGFiZWwoZSl7cmV0dXJuIG5ldyBGbGlwTGFiZWwoZSl9c3RhdGljIGZvbnRJbmZvKGUpe3JldHVybiBuZXcgY29uZmlnX0ZvbnRJbmZvKGUpfXN0YXRpYyBmb3JtRmllbGRGaWxsaW5nKGUpe3JldHVybiBuZXcgRm9ybUZpZWxkRmlsbGluZyhlKX1zdGF0aWMgZ3JvdXBQYXJlbnQoZSl7cmV0dXJuIG5ldyBHcm91cFBhcmVudChlKX1zdGF0aWMgaWZFbXB0eShlKXtyZXR1cm4gbmV3IElmRW1wdHkoZSl9c3RhdGljIGluY2x1ZGVYRFBDb250ZW50KGUpe3JldHVybiBuZXcgSW5jbHVkZVhEUENvbnRlbnQoZSl9c3RhdGljIGluY3JlbWVudGFsTG9hZChlKXtyZXR1cm4gbmV3IEluY3JlbWVudGFsTG9hZChlKX1zdGF0aWMgaW5jcmVtZW50YWxNZXJnZShlKXtyZXR1cm4gbmV3IEluY3JlbWVudGFsTWVyZ2UoZSl9c3RhdGljIGludGVyYWN0aXZlKGUpe3JldHVybiBuZXcgSW50ZXJhY3RpdmUoZSl9c3RhdGljIGpvZyhlKXtyZXR1cm4gbmV3IEpvZyhlKX1zdGF0aWMgbGFiZWxQcmludGVyKGUpe3JldHVybiBuZXcgTGFiZWxQcmludGVyKGUpfXN0YXRpYyBsYXlvdXQoZSl7cmV0dXJuIG5ldyBMYXlvdXQoZSl9c3RhdGljIGxldmVsKGUpe3JldHVybiBuZXcgTGV2ZWwoZSl9c3RhdGljIGxpbmVhcml6ZWQoZSl7cmV0dXJuIG5ldyBMaW5lYXJpemVkKGUpfXN0YXRpYyBsb2NhbGUoZSl7cmV0dXJuIG5ldyBMb2NhbGUoZSl9c3RhdGljIGxvY2FsZVNldChlKXtyZXR1cm4gbmV3IExvY2FsZVNldChlKX1zdGF0aWMgbG9nKGUpe3JldHVybiBuZXcgTG9nKGUpfXN0YXRpYyBtYXAoZSl7cmV0dXJuIG5ldyBNYXBFbGVtZW50KGUpfXN0YXRpYyBtZWRpdW1JbmZvKGUpe3JldHVybiBuZXcgTWVkaXVtSW5mbyhlKX1zdGF0aWMgbWVzc2FnZShlKXtyZXR1cm4gbmV3IGNvbmZpZ19NZXNzYWdlKGUpfXN0YXRpYyBtZXNzYWdpbmcoZSl7cmV0dXJuIG5ldyBNZXNzYWdpbmcoZSl9c3RhdGljIG1vZGUoZSl7cmV0dXJuIG5ldyBNb2RlKGUpfXN0YXRpYyBtb2RpZnlBbm5vdHMoZSl7cmV0dXJuIG5ldyBNb2RpZnlBbm5vdHMoZSl9c3RhdGljIG1zZ0lkKGUpe3JldHVybiBuZXcgTXNnSWQoZSl9c3RhdGljIG5hbWVBdHRyKGUpe3JldHVybiBuZXcgTmFtZUF0dHIoZSl9c3RhdGljIG5ldmVyRW1iZWQoZSl7cmV0dXJuIG5ldyBOZXZlckVtYmVkKGUpfXN0YXRpYyBudW1iZXJPZkNvcGllcyhlKXtyZXR1cm4gbmV3IE51bWJlck9mQ29waWVzKGUpfXN0YXRpYyBvcGVuQWN0aW9uKGUpe3JldHVybiBuZXcgT3BlbkFjdGlvbihlKX1zdGF0aWMgb3V0cHV0KGUpe3JldHVybiBuZXcgT3V0cHV0KGUpfXN0YXRpYyBvdXRwdXRCaW4oZSl7cmV0dXJuIG5ldyBPdXRwdXRCaW4oZSl9c3RhdGljIG91dHB1dFhTTChlKXtyZXR1cm4gbmV3IE91dHB1dFhTTChlKX1zdGF0aWMgb3ZlcnByaW50KGUpe3JldHVybiBuZXcgT3ZlcnByaW50KGUpfXN0YXRpYyBwYWNrZXRzKGUpe3JldHVybiBuZXcgUGFja2V0cyhlKX1zdGF0aWMgcGFnZU9mZnNldChlKXtyZXR1cm4gbmV3IFBhZ2VPZmZzZXQoZSl9c3RhdGljIHBhZ2VSYW5nZShlKXtyZXR1cm4gbmV3IFBhZ2VSYW5nZShlKX1zdGF0aWMgcGFnaW5hdGlvbihlKXtyZXR1cm4gbmV3IFBhZ2luYXRpb24oZSl9c3RhdGljIHBhZ2luYXRpb25PdmVycmlkZShlKXtyZXR1cm4gbmV3IFBhZ2luYXRpb25PdmVycmlkZShlKX1zdGF0aWMgcGFydChlKXtyZXR1cm4gbmV3IFBhcnQoZSl9c3RhdGljIHBjbChlKXtyZXR1cm4gbmV3IFBjbChlKX1zdGF0aWMgcGRmKGUpe3JldHVybiBuZXcgUGRmKGUpfXN0YXRpYyBwZGZhKGUpe3JldHVybiBuZXcgUGRmYShlKX1zdGF0aWMgcGVybWlzc2lvbnMoZSl7cmV0dXJuIG5ldyBQZXJtaXNzaW9ucyhlKX1zdGF0aWMgcGlja1RyYXlCeVBERlNpemUoZSl7cmV0dXJuIG5ldyBQaWNrVHJheUJ5UERGU2l6ZShlKX1zdGF0aWMgcGljdHVyZShlKXtyZXR1cm4gbmV3IGNvbmZpZ19QaWN0dXJlKGUpfXN0YXRpYyBwbGFpbnRleHRNZXRhZGF0YShlKXtyZXR1cm4gbmV3IFBsYWludGV4dE1ldGFkYXRhKGUpfXN0YXRpYyBwcmVzZW5jZShlKXtyZXR1cm4gbmV3IFByZXNlbmNlKGUpfXN0YXRpYyBwcmVzZW50KGUpe3JldHVybiBuZXcgUHJlc2VudChlKX1zdGF0aWMgcHJpbnQoZSl7cmV0dXJuIG5ldyBQcmludChlKX1zdGF0aWMgcHJpbnRIaWdoUXVhbGl0eShlKXtyZXR1cm4gbmV3IFByaW50SGlnaFF1YWxpdHkoZSl9c3RhdGljIHByaW50U2NhbGluZyhlKXtyZXR1cm4gbmV3IFByaW50U2NhbGluZyhlKX1zdGF0aWMgcHJpbnRlck5hbWUoZSl7cmV0dXJuIG5ldyBQcmludGVyTmFtZShlKX1zdGF0aWMgcHJvZHVjZXIoZSl7cmV0dXJuIG5ldyBQcm9kdWNlcihlKX1zdGF0aWMgcHMoZSl7cmV0dXJuIG5ldyBQcyhlKX1zdGF0aWMgcmFuZ2UoZSl7cmV0dXJuIG5ldyBSYW5nZShlKX1zdGF0aWMgcmVjb3JkKGUpe3JldHVybiBuZXcgUmVjb3JkKGUpfXN0YXRpYyByZWxldmFudChlKXtyZXR1cm4gbmV3IFJlbGV2YW50KGUpfXN0YXRpYyByZW5hbWUoZSl7cmV0dXJuIG5ldyBSZW5hbWUoZSl9c3RhdGljIHJlbmRlclBvbGljeShlKXtyZXR1cm4gbmV3IFJlbmRlclBvbGljeShlKX1zdGF0aWMgcnVuU2NyaXB0cyhlKXtyZXR1cm4gbmV3IFJ1blNjcmlwdHMoZSl9c3RhdGljIHNjcmlwdChlKXtyZXR1cm4gbmV3IGNvbmZpZ19TY3JpcHQoZSl9c3RhdGljIHNjcmlwdE1vZGVsKGUpe3JldHVybiBuZXcgU2NyaXB0TW9kZWwoZSl9c3RhdGljIHNldmVyaXR5KGUpe3JldHVybiBuZXcgU2V2ZXJpdHkoZSl9c3RhdGljIHNpbGVudFByaW50KGUpe3JldHVybiBuZXcgU2lsZW50UHJpbnQoZSl9c3RhdGljIHN0YXBsZShlKXtyZXR1cm4gbmV3IFN0YXBsZShlKX1zdGF0aWMgc3RhcnROb2RlKGUpe3JldHVybiBuZXcgU3RhcnROb2RlKGUpfXN0YXRpYyBzdGFydFBhZ2UoZSl7cmV0dXJuIG5ldyBTdGFydFBhZ2UoZSl9c3RhdGljIHN1Ym1pdEZvcm1hdChlKXtyZXR1cm4gbmV3IFN1Ym1pdEZvcm1hdChlKX1zdGF0aWMgc3VibWl0VXJsKGUpe3JldHVybiBuZXcgU3VibWl0VXJsKGUpfXN0YXRpYyBzdWJzZXRCZWxvdyhlKXtyZXR1cm4gbmV3IFN1YnNldEJlbG93KGUpfXN0YXRpYyBzdXBwcmVzc0Jhbm5lcihlKXtyZXR1cm4gbmV3IFN1cHByZXNzQmFubmVyKGUpfXN0YXRpYyB0YWdnZWQoZSl7cmV0dXJuIG5ldyBUYWdnZWQoZSl9c3RhdGljIHRlbXBsYXRlKGUpe3JldHVybiBuZXcgY29uZmlnX1RlbXBsYXRlKGUpfXN0YXRpYyB0ZW1wbGF0ZUNhY2hlKGUpe3JldHVybiBuZXcgVGVtcGxhdGVDYWNoZShlKX1zdGF0aWMgdGhyZXNob2xkKGUpe3JldHVybiBuZXcgVGhyZXNob2xkKGUpfXN0YXRpYyB0byhlKXtyZXR1cm4gbmV3IFRvKGUpfXN0YXRpYyB0cmFjZShlKXtyZXR1cm4gbmV3IFRyYWNlKGUpfXN0YXRpYyB0cmFuc2Zvcm0oZSl7cmV0dXJuIG5ldyBUcmFuc2Zvcm0oZSl9c3RhdGljIHR5cGUoZSl7cmV0dXJuIG5ldyBUeXBlKGUpfXN0YXRpYyB1cmkoZSl7cmV0dXJuIG5ldyBVcmkoZSl9c3RhdGljIHZhbGlkYXRlKGUpe3JldHVybiBuZXcgY29uZmlnX1ZhbGlkYXRlKGUpfXN0YXRpYyB2YWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcyhlKXtyZXR1cm4gbmV3IFZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzKGUpfXN0YXRpYyB2YWxpZGF0aW9uTWVzc2FnaW5nKGUpe3JldHVybiBuZXcgVmFsaWRhdGlvbk1lc3NhZ2luZyhlKX1zdGF0aWMgdmVyc2lvbihlKXtyZXR1cm4gbmV3IFZlcnNpb24oZSl9c3RhdGljIHZlcnNpb25Db250cm9sKGUpe3JldHVybiBuZXcgVmVyc2lvbkNvbnRyb2woZSl9c3RhdGljIHZpZXdlclByZWZlcmVuY2VzKGUpe3JldHVybiBuZXcgVmlld2VyUHJlZmVyZW5jZXMoZSl9c3RhdGljIHdlYkNsaWVudChlKXtyZXR1cm4gbmV3IFdlYkNsaWVudChlKX1zdGF0aWMgd2hpdGVzcGFjZShlKXtyZXR1cm4gbmV3IFdoaXRlc3BhY2UoZSl9c3RhdGljIHdpbmRvdyhlKXtyZXR1cm4gbmV3IFdpbmRvdyhlKX1zdGF0aWMgeGRjKGUpe3JldHVybiBuZXcgWGRjKGUpfXN0YXRpYyB4ZHAoZSl7cmV0dXJuIG5ldyBYZHAoZSl9c3RhdGljIHhzbChlKXtyZXR1cm4gbmV3IFhzbChlKX1zdGF0aWMgenBsKGUpe3JldHVybiBuZXcgWnBsKGUpfX1jb25zdCBqbj1Dbi5jb25uZWN0aW9uU2V0LmlkO2NsYXNzIENvbm5lY3Rpb25TZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbm5lY3Rpb25TZXQiLCEwKTt0aGlzLndzZGxDb25uZWN0aW9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnhtbENvbm5lY3Rpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMueHNkQ29ubmVjdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEVmZmVjdGl2ZUlucHV0UG9saWN5IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJlZmZlY3RpdmVJbnB1dFBvbGljeSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBFZmZlY3RpdmVPdXRwdXRQb2xpY3kgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVmZmVjdGl2ZU91dHB1dFBvbGljeSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBPcGVyYXRpb24gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm9wZXJhdGlvbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbnB1dD1lLmlucHV0fHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLm91dHB1dD1lLm91dHB1dHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBSb290RWxlbWVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicm9vdEVsZW1lbnQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU29hcEFjdGlvbiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic29hcEFjdGlvbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBTb2FwQWRkcmVzcyBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic29hcEFkZHJlc3MiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgY29ubmVjdGlvbl9zZXRfVXJpIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ1cmkiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgV3NkbEFkZHJlc3MgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIndzZGxBZGRyZXNzIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFdzZGxDb25uZWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ3c2RsQ29ubmVjdGlvbiIsITApO3RoaXMuZGF0YURlc2NyaXB0aW9uPWUuZGF0YURlc2NyaXB0aW9ufHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLmVmZmVjdGl2ZUlucHV0UG9saWN5PW51bGw7dGhpcy5lZmZlY3RpdmVPdXRwdXRQb2xpY3k9bnVsbDt0aGlzLm9wZXJhdGlvbj1udWxsO3RoaXMuc29hcEFjdGlvbj1udWxsO3RoaXMuc29hcEFkZHJlc3M9bnVsbDt0aGlzLndzZGxBZGRyZXNzPW51bGx9fWNsYXNzIFhtbENvbm5lY3Rpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInhtbENvbm5lY3Rpb24iLCEwKTt0aGlzLmRhdGFEZXNjcmlwdGlvbj1lLmRhdGFEZXNjcmlwdGlvbnx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51cmk9bnVsbH19Y2xhc3MgWHNkQ29ubmVjdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwieHNkQ29ubmVjdGlvbiIsITApO3RoaXMuZGF0YURlc2NyaXB0aW9uPWUuZGF0YURlc2NyaXB0aW9ufHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJvb3RFbGVtZW50PW51bGw7dGhpcy51cmk9bnVsbH19Y2xhc3MgQ29ubmVjdGlvblNldE5hbWVzcGFjZXtzdGF0aWNbY25dKGUsdCl7aWYoQ29ubmVjdGlvblNldE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gQ29ubmVjdGlvblNldE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgY29ubmVjdGlvblNldChlKXtyZXR1cm4gbmV3IENvbm5lY3Rpb25TZXQoZSl9c3RhdGljIGVmZmVjdGl2ZUlucHV0UG9saWN5KGUpe3JldHVybiBuZXcgRWZmZWN0aXZlSW5wdXRQb2xpY3koZSl9c3RhdGljIGVmZmVjdGl2ZU91dHB1dFBvbGljeShlKXtyZXR1cm4gbmV3IEVmZmVjdGl2ZU91dHB1dFBvbGljeShlKX1zdGF0aWMgb3BlcmF0aW9uKGUpe3JldHVybiBuZXcgT3BlcmF0aW9uKGUpfXN0YXRpYyByb290RWxlbWVudChlKXtyZXR1cm4gbmV3IFJvb3RFbGVtZW50KGUpfXN0YXRpYyBzb2FwQWN0aW9uKGUpe3JldHVybiBuZXcgU29hcEFjdGlvbihlKX1zdGF0aWMgc29hcEFkZHJlc3MoZSl7cmV0dXJuIG5ldyBTb2FwQWRkcmVzcyhlKX1zdGF0aWMgdXJpKGUpe3JldHVybiBuZXcgY29ubmVjdGlvbl9zZXRfVXJpKGUpfXN0YXRpYyB3c2RsQWRkcmVzcyhlKXtyZXR1cm4gbmV3IFdzZGxBZGRyZXNzKGUpfXN0YXRpYyB3c2RsQ29ubmVjdGlvbihlKXtyZXR1cm4gbmV3IFdzZGxDb25uZWN0aW9uKGUpfXN0YXRpYyB4bWxDb25uZWN0aW9uKGUpe3JldHVybiBuZXcgWG1sQ29ubmVjdGlvbihlKX1zdGF0aWMgeHNkQ29ubmVjdGlvbihlKXtyZXR1cm4gbmV3IFhzZENvbm5lY3Rpb24oZSl9fWNvbnN0IFhuPUNuLmRhdGFzZXRzLmlkO2NsYXNzIGRhdGFzZXRzX0RhdGEgZXh0ZW5kcyBYbWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sImRhdGEiLGUpfVtNcl0oKXtyZXR1cm4hMH19Y2xhc3MgRGF0YXNldHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sImRhdGFzZXRzIiwhMCk7dGhpcy5kYXRhPW51bGw7dGhpcy5TaWduYXR1cmU9bnVsbH1bT3JdKGUpe2NvbnN0IHQ9ZVtUcl07KCJkYXRhIj09PXQmJmVbS3JdPT09WG58fCJTaWduYXR1cmUiPT09dCYmZVtLcl09PT1Dbi5zaWduYXR1cmUuaWQpJiYodGhpc1t0XT1lKTt0aGlzW3pzXShlKX19Y2xhc3MgRGF0YXNldHNOYW1lc3BhY2V7c3RhdGljW2NuXShlLHQpe2lmKERhdGFzZXRzTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBEYXRhc2V0c05hbWVzcGFjZVtlXSh0KX1zdGF0aWMgZGF0YXNldHMoZSl7cmV0dXJuIG5ldyBEYXRhc2V0cyhlKX1zdGF0aWMgZGF0YShlKXtyZXR1cm4gbmV3IGRhdGFzZXRzX0RhdGEoZSl9fWNvbnN0IFpuPUNuLmxvY2FsZVNldC5pZDtjbGFzcyBDYWxlbmRhclN5bWJvbHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImNhbGVuZGFyU3ltYm9scyIsITApO3RoaXMubmFtZT0iZ3JlZ29yaWFuIjt0aGlzLmRheU5hbWVzPW5ldyBYRkFPYmplY3RBcnJheSgyKTt0aGlzLmVyYU5hbWVzPW51bGw7dGhpcy5tZXJpZGllbU5hbWVzPW51bGw7dGhpcy5tb250aE5hbWVzPW5ldyBYRkFPYmplY3RBcnJheSgyKX19Y2xhc3MgQ3VycmVuY3lTeW1ib2wgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImN1cnJlbmN5U3ltYm9sIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJzeW1ib2wiLCJpc29uYW1lIiwiZGVjaW1hbCJdKX19Y2xhc3MgQ3VycmVuY3lTeW1ib2xzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJjdXJyZW5jeVN5bWJvbHMiLCEwKTt0aGlzLmN1cnJlbmN5U3ltYm9sPW5ldyBYRkFPYmplY3RBcnJheSgzKX19Y2xhc3MgRGF0ZVBhdHRlcm4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImRhdGVQYXR0ZXJuIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJmdWxsIiwibG9uZyIsIm1lZCIsInNob3J0Il0pfX1jbGFzcyBEYXRlUGF0dGVybnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImRhdGVQYXR0ZXJucyIsITApO3RoaXMuZGF0ZVBhdHRlcm49bmV3IFhGQU9iamVjdEFycmF5KDQpfX1jbGFzcyBEYXRlVGltZVN5bWJvbHMgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJkYXRlVGltZVN5bWJvbHMiKX19Y2xhc3MgRGF5IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJkYXkiKX19Y2xhc3MgRGF5TmFtZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImRheU5hbWVzIiwhMCk7dGhpcy5hYmJyPWdldEludGVnZXIoe2RhdGE6ZS5hYmJyLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5kYXk9bmV3IFhGQU9iamVjdEFycmF5KDcpfX1jbGFzcyBFcmEgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImVyYSIpfX1jbGFzcyBFcmFOYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwiZXJhTmFtZXMiLCEwKTt0aGlzLmVyYT1uZXcgWEZBT2JqZWN0QXJyYXkoMil9fWNsYXNzIGxvY2FsZV9zZXRfTG9jYWxlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJsb2NhbGUiLCEwKTt0aGlzLmRlc2M9ZS5kZXNjfHwiIjt0aGlzLm5hbWU9Imlzb25hbWUiO3RoaXMuY2FsZW5kYXJTeW1ib2xzPW51bGw7dGhpcy5jdXJyZW5jeVN5bWJvbHM9bnVsbDt0aGlzLmRhdGVQYXR0ZXJucz1udWxsO3RoaXMuZGF0ZVRpbWVTeW1ib2xzPW51bGw7dGhpcy5udW1iZXJQYXR0ZXJucz1udWxsO3RoaXMubnVtYmVyU3ltYm9scz1udWxsO3RoaXMudGltZVBhdHRlcm5zPW51bGw7dGhpcy50eXBlRmFjZXM9bnVsbH19Y2xhc3MgbG9jYWxlX3NldF9Mb2NhbGVTZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sImxvY2FsZVNldCIsITApO3RoaXMubG9jYWxlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTWVyaWRpZW0gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sIm1lcmlkaWVtIil9fWNsYXNzIE1lcmlkaWVtTmFtZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sIm1lcmlkaWVtTmFtZXMiLCEwKTt0aGlzLm1lcmlkaWVtPW5ldyBYRkFPYmplY3RBcnJheSgyKX19Y2xhc3MgTW9udGggZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sIm1vbnRoIil9fWNsYXNzIE1vbnRoTmFtZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sIm1vbnRoTmFtZXMiLCEwKTt0aGlzLmFiYnI9Z2V0SW50ZWdlcih7ZGF0YTplLmFiYnIsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLm1vbnRoPW5ldyBYRkFPYmplY3RBcnJheSgxMil9fWNsYXNzIE51bWJlclBhdHRlcm4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWm4sIm51bWJlclBhdHRlcm4iKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbImZ1bGwiLCJsb25nIiwibWVkIiwic2hvcnQiXSl9fWNsYXNzIE51bWJlclBhdHRlcm5zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJudW1iZXJQYXR0ZXJucyIsITApO3RoaXMubnVtYmVyUGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXkoNCl9fWNsYXNzIE51bWJlclN5bWJvbCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwibnVtYmVyU3ltYm9sIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJkZWNpbWFsIiwiZ3JvdXBpbmciLCJwZXJjZW50IiwibWludXMiLCJ6ZXJvIl0pfX1jbGFzcyBOdW1iZXJTeW1ib2xzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJudW1iZXJTeW1ib2xzIiwhMCk7dGhpcy5udW1iZXJTeW1ib2w9bmV3IFhGQU9iamVjdEFycmF5KDUpfX1jbGFzcyBUaW1lUGF0dGVybiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwidGltZVBhdHRlcm4iKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbImZ1bGwiLCJsb25nIiwibWVkIiwic2hvcnQiXSl9fWNsYXNzIFRpbWVQYXR0ZXJucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwidGltZVBhdHRlcm5zIiwhMCk7dGhpcy50aW1lUGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXkoNCl9fWNsYXNzIFR5cGVGYWNlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFpuLCJ0eXBlRmFjZSIsITApO3RoaXMubmFtZT0iInxlLm5hbWV9fWNsYXNzIFR5cGVGYWNlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwidHlwZUZhY2VzIiwhMCk7dGhpcy50eXBlRmFjZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIExvY2FsZVNldE5hbWVzcGFjZXtzdGF0aWNbY25dKGUsdCl7aWYoTG9jYWxlU2V0TmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBMb2NhbGVTZXROYW1lc3BhY2VbZV0odCl9c3RhdGljIGNhbGVuZGFyU3ltYm9scyhlKXtyZXR1cm4gbmV3IENhbGVuZGFyU3ltYm9scyhlKX1zdGF0aWMgY3VycmVuY3lTeW1ib2woZSl7cmV0dXJuIG5ldyBDdXJyZW5jeVN5bWJvbChlKX1zdGF0aWMgY3VycmVuY3lTeW1ib2xzKGUpe3JldHVybiBuZXcgQ3VycmVuY3lTeW1ib2xzKGUpfXN0YXRpYyBkYXRlUGF0dGVybihlKXtyZXR1cm4gbmV3IERhdGVQYXR0ZXJuKGUpfXN0YXRpYyBkYXRlUGF0dGVybnMoZSl7cmV0dXJuIG5ldyBEYXRlUGF0dGVybnMoZSl9c3RhdGljIGRhdGVUaW1lU3ltYm9scyhlKXtyZXR1cm4gbmV3IERhdGVUaW1lU3ltYm9scyhlKX1zdGF0aWMgZGF5KGUpe3JldHVybiBuZXcgRGF5KGUpfXN0YXRpYyBkYXlOYW1lcyhlKXtyZXR1cm4gbmV3IERheU5hbWVzKGUpfXN0YXRpYyBlcmEoZSl7cmV0dXJuIG5ldyBFcmEoZSl9c3RhdGljIGVyYU5hbWVzKGUpe3JldHVybiBuZXcgRXJhTmFtZXMoZSl9c3RhdGljIGxvY2FsZShlKXtyZXR1cm4gbmV3IGxvY2FsZV9zZXRfTG9jYWxlKGUpfXN0YXRpYyBsb2NhbGVTZXQoZSl7cmV0dXJuIG5ldyBsb2NhbGVfc2V0X0xvY2FsZVNldChlKX1zdGF0aWMgbWVyaWRpZW0oZSl7cmV0dXJuIG5ldyBNZXJpZGllbShlKX1zdGF0aWMgbWVyaWRpZW1OYW1lcyhlKXtyZXR1cm4gbmV3IE1lcmlkaWVtTmFtZXMoZSl9c3RhdGljIG1vbnRoKGUpe3JldHVybiBuZXcgTW9udGgoZSl9c3RhdGljIG1vbnRoTmFtZXMoZSl7cmV0dXJuIG5ldyBNb250aE5hbWVzKGUpfXN0YXRpYyBudW1iZXJQYXR0ZXJuKGUpe3JldHVybiBuZXcgTnVtYmVyUGF0dGVybihlKX1zdGF0aWMgbnVtYmVyUGF0dGVybnMoZSl7cmV0dXJuIG5ldyBOdW1iZXJQYXR0ZXJucyhlKX1zdGF0aWMgbnVtYmVyU3ltYm9sKGUpe3JldHVybiBuZXcgTnVtYmVyU3ltYm9sKGUpfXN0YXRpYyBudW1iZXJTeW1ib2xzKGUpe3JldHVybiBuZXcgTnVtYmVyU3ltYm9scyhlKX1zdGF0aWMgdGltZVBhdHRlcm4oZSl7cmV0dXJuIG5ldyBUaW1lUGF0dGVybihlKX1zdGF0aWMgdGltZVBhdHRlcm5zKGUpe3JldHVybiBuZXcgVGltZVBhdHRlcm5zKGUpfXN0YXRpYyB0eXBlRmFjZShlKXtyZXR1cm4gbmV3IFR5cGVGYWNlKGUpfXN0YXRpYyB0eXBlRmFjZXMoZSl7cmV0dXJuIG5ldyBUeXBlRmFjZXMoZSl9fWNvbnN0IFZuPUNuLnNpZ25hdHVyZS5pZDtjbGFzcyBzaWduYXR1cmVfU2lnbmF0dXJlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJzaWduYXR1cmUiLCEwKX19Y2xhc3MgU2lnbmF0dXJlTmFtZXNwYWNle3N0YXRpY1tjbl0oZSx0KXtpZihTaWduYXR1cmVOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFNpZ25hdHVyZU5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgc2lnbmF0dXJlKGUpe3JldHVybiBuZXcgc2lnbmF0dXJlX1NpZ25hdHVyZShlKX19Y29uc3Qgem49Q24uc3R5bGVzaGVldC5pZDtjbGFzcyBTdHlsZXNoZWV0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHpuLCJzdHlsZXNoZWV0IiwhMCl9fWNsYXNzIFN0eWxlc2hlZXROYW1lc3BhY2V7c3RhdGljW2NuXShlLHQpe2lmKFN0eWxlc2hlZXROYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFN0eWxlc2hlZXROYW1lc3BhY2VbZV0odCl9c3RhdGljIHN0eWxlc2hlZXQoZSl7cmV0dXJuIG5ldyBTdHlsZXNoZWV0KGUpfX1jb25zdCBfbj1Dbi54ZHAuaWQ7Y2xhc3MgeGRwX1hkcCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbiwieGRwIiwhMCk7dGhpcy51dWlkPWUudXVpZHx8IiI7dGhpcy50aW1lU3RhbXA9ZS50aW1lU3RhbXB8fCIiO3RoaXMuY29uZmlnPW51bGw7dGhpcy5jb25uZWN0aW9uU2V0PW51bGw7dGhpcy5kYXRhc2V0cz1udWxsO3RoaXMubG9jYWxlU2V0PW51bGw7dGhpcy5zdHlsZXNoZWV0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRlbXBsYXRlPW51bGx9W1ByXShlKXtjb25zdCB0PUNuW2VbVHJdXTtyZXR1cm4gdCYmZVtLcl09PT10LmlkfX1jbGFzcyBYZHBOYW1lc3BhY2V7c3RhdGljW2NuXShlLHQpe2lmKFhkcE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gWGRwTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyB4ZHAoZSl7cmV0dXJuIG5ldyB4ZHBfWGRwKGUpfX1jb25zdCAkbj1Dbi54aHRtbC5pZCxBZz1TeW1ib2woKSxlZz1uZXcgU2V0KFsiY29sb3IiLCJmb250IiwiZm9udC1mYW1pbHkiLCJmb250LXNpemUiLCJmb250LXN0cmV0Y2giLCJmb250LXN0eWxlIiwiZm9udC13ZWlnaHQiLCJtYXJnaW4iLCJtYXJnaW4tYm90dG9tIiwibWFyZ2luLWxlZnQiLCJtYXJnaW4tcmlnaHQiLCJtYXJnaW4tdG9wIiwibGV0dGVyLXNwYWNpbmciLCJsaW5lLWhlaWdodCIsIm9ycGhhbnMiLCJwYWdlLWJyZWFrLWFmdGVyIiwicGFnZS1icmVhay1iZWZvcmUiLCJwYWdlLWJyZWFrLWluc2lkZSIsInRhYi1pbnRlcnZhbCIsInRhYi1zdG9wIiwidGV4dC1hbGlnbiIsInRleHQtZGVjb3JhdGlvbiIsInRleHQtaW5kZW50IiwidmVydGljYWwtYWxpZ24iLCJ3aWRvd3MiLCJrZXJuaW5nLW1vZGUiLCJ4ZmEtZm9udC1ob3Jpem9udGFsLXNjYWxlIiwieGZhLWZvbnQtdmVydGljYWwtc2NhbGUiLCJ4ZmEtc3BhY2VydW4iLCJ4ZmEtdGFiLXN0b3BzIl0pLHRnPW5ldyBNYXAoW1sicGFnZS1icmVhay1hZnRlciIsImJyZWFrQWZ0ZXIiXSxbInBhZ2UtYnJlYWstYmVmb3JlIiwiYnJlYWtCZWZvcmUiXSxbInBhZ2UtYnJlYWstaW5zaWRlIiwiYnJlYWtJbnNpZGUiXSxbImtlcm5pbmctbW9kZSIsZT0+Im5vbmUiPT09ZT8ibm9uZSI6Im5vcm1hbCJdLFsieGZhLWZvbnQtaG9yaXpvbnRhbC1zY2FsZSIsZT0+YHNjYWxlWCgke01hdGgubWF4KDAsTWF0aC5taW4ocGFyc2VJbnQoZSkvMTAwKSkudG9GaXhlZCgyKX0pYF0sWyJ4ZmEtZm9udC12ZXJ0aWNhbC1zY2FsZSIsZT0+YHNjYWxlWSgke01hdGgubWF4KDAsTWF0aC5taW4ocGFyc2VJbnQoZSkvMTAwKSkudG9GaXhlZCgyKX0pYF0sWyJ4ZmEtc3BhY2VydW4iLCIiXSxbInhmYS10YWItc3RvcHMiLCIiXSxbImZvbnQtc2l6ZSIsKGUsdCk9Pm1lYXN1cmVUb1N0cmluZyguOTkqKGU9dC5mb250U2l6ZT1nZXRNZWFzdXJlbWVudChlKSkpXSxbImxldHRlci1zcGFjaW5nIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbImxpbmUtaGVpZ2h0IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbiIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4tYm90dG9tIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi1sZWZ0IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi1yaWdodCIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4tdG9wIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbInRleHQtaW5kZW50IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbImZvbnQtZmFtaWx5IixlPT5lXSxbInZlcnRpY2FsLWFsaWduIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXV0pLGlnPS9ccysvZyxhZz0vW1xyXG5dKy9nLHNnPS9cclxuPy9nO2Z1bmN0aW9uIG1hcFN0eWxlKGUsdCxpKXtjb25zdCBhPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoIWUpcmV0dXJuIGE7Y29uc3Qgcz1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFt0LGldb2YgZS5zcGxpdCgiOyIpLm1hcCgoZT0+ZS5zcGxpdCgiOiIsMikpKSl7Y29uc3QgZT10Zy5nZXQodCk7aWYoIiI9PT1lKWNvbnRpbnVlO2xldCByPWk7ZSYmKHI9InN0cmluZyI9PXR5cGVvZiBlP2U6ZShpLHMpKTt0LmVuZHNXaXRoKCJzY2FsZSIpP2EudHJhbnNmb3JtPWEudHJhbnNmb3JtP2Ake2FbdF19ICR7cn1gOnI6YVt0LnJlcGxhY2VBbGwoLy0oW2EtekEtWl0pL2csKChlLHQpPT50LnRvVXBwZXJDYXNlKCkpKV09cn1hLmZvbnRGYW1pbHkmJnNldEZvbnRGYW1pbHkoe3R5cGVmYWNlOmEuZm9udEZhbWlseSx3ZWlnaHQ6YS5mb250V2VpZ2h0fHwibm9ybWFsIixwb3N0dXJlOmEuZm9udFN0eWxlfHwibm9ybWFsIixzaXplOnMuZm9udFNpemV8fDB9LHQsdFticl0uZm9udEZpbmRlcixhKTtpZihpJiZhLnZlcnRpY2FsQWxpZ24mJiIwcHgiIT09YS52ZXJ0aWNhbEFsaWduJiZhLmZvbnRTaXplKXtjb25zdCBlPS41ODMsdD0uMzMzLGk9Z2V0TWVhc3VyZW1lbnQoYS5mb250U2l6ZSk7YS5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoaSplKTthLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKE1hdGguc2lnbihnZXRNZWFzdXJlbWVudChhLnZlcnRpY2FsQWxpZ24pKSppKnQpfWkmJmEuZm9udFNpemUmJihhLmZvbnRTaXplPWBjYWxjKCR7YS5mb250U2l6ZX0gKiB2YXIoLS1zY2FsZS1mYWN0b3IpKWApO2ZpeFRleHRJbmRlbnQoYSk7cmV0dXJuIGF9Y29uc3Qgcmc9bmV3IFNldChbImJvZHkiLCJodG1sIl0pO2NsYXNzIFhodG1sT2JqZWN0IGV4dGVuZHMgWG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoJG4sdCk7dGhpc1tBZ109ITE7dGhpcy5zdHlsZT1lLnN0eWxlfHwiIn1bJHNdKGUpe3N1cGVyWyRzXShlKTt0aGlzLnN0eWxlPWZ1bmN0aW9uIGNoZWNrU3R5bGUoZSl7cmV0dXJuIGUuc3R5bGU/ZS5zdHlsZS50cmltKCkuc3BsaXQoL1xzKjtccyovKS5maWx0ZXIoKGU9PiEhZSkpLm1hcCgoZT0+ZS5zcGxpdCgvXHMqOlxzKi8sMikpKS5maWx0ZXIoKChbdCxpXSk9PnsiZm9udC1mYW1pbHkiPT09dCYmZVticl0udXNlZFR5cGVmYWNlcy5hZGQoaSk7cmV0dXJuIGVnLmhhcyh0KX0pKS5tYXAoKGU9PmUuam9pbigiOiIpKSkuam9pbigiOyIpOiIifSh0aGlzKX1bWnNdKCl7cmV0dXJuIXJnLmhhcyh0aGlzW1RyXSl9W1dyXShlLHQ9ITEpe2lmKHQpdGhpc1tBZ109ITA7ZWxzZXtlPWUucmVwbGFjZUFsbChhZywiIik7dGhpcy5zdHlsZS5pbmNsdWRlcygieGZhLXNwYWNlcnVuOnllcyIpfHwoZT1lLnJlcGxhY2VBbGwoaWcsIiAiKSl9ZSYmKHRoaXNbYXJdKz1lKX1banJdKGUsdD0hMCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpLGE9e3RvcDpOYU4sYm90dG9tOk5hTixsZWZ0Ok5hTixyaWdodDpOYU59O2xldCBzPW51bGw7Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLnN0eWxlLnNwbGl0KCI7IikubWFwKChlPT5lLnNwbGl0KCI6IiwyKSkpKXN3aXRjaChlKXtjYXNlImZvbnQtZmFtaWx5IjppLnR5cGVmYWNlPXN0cmlwUXVvdGVzKHQpO2JyZWFrO2Nhc2UiZm9udC1zaXplIjppLnNpemU9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJmb250LXdlaWdodCI6aS53ZWlnaHQ9dDticmVhaztjYXNlImZvbnQtc3R5bGUiOmkucG9zdHVyZT10O2JyZWFrO2Nhc2UibGV0dGVyLXNwYWNpbmciOmkubGV0dGVyU3BhY2luZz1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbiI6Y29uc3QgZT10LnNwbGl0KC8gXHQvKS5tYXAoKGU9PmdldE1lYXN1cmVtZW50KGUpKSk7c3dpdGNoKGUubGVuZ3RoKXtjYXNlIDE6YS50b3A9YS5ib3R0b209YS5sZWZ0PWEucmlnaHQ9ZVswXTticmVhaztjYXNlIDI6YS50b3A9YS5ib3R0b209ZVswXTthLmxlZnQ9YS5yaWdodD1lWzFdO2JyZWFrO2Nhc2UgMzphLnRvcD1lWzBdO2EuYm90dG9tPWVbMl07YS5sZWZ0PWEucmlnaHQ9ZVsxXTticmVhaztjYXNlIDQ6YS50b3A9ZVswXTthLmxlZnQ9ZVsxXTthLmJvdHRvbT1lWzJdO2EucmlnaHQ9ZVszXX1icmVhaztjYXNlIm1hcmdpbi10b3AiOmEudG9wPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibWFyZ2luLWJvdHRvbSI6YS5ib3R0b209Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4tbGVmdCI6YS5sZWZ0PWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibWFyZ2luLXJpZ2h0IjphLnJpZ2h0PWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibGluZS1oZWlnaHQiOnM9Z2V0TWVhc3VyZW1lbnQodCl9ZS5wdXNoRGF0YShpLGEscyk7aWYodGhpc1thcl0pZS5hZGRTdHJpbmcodGhpc1thcl0pO2Vsc2UgZm9yKGNvbnN0IHQgb2YgdGhpc1tmcl0oKSkiI3RleHQiIT09dFtUcl0/dFtqcl0oZSk6ZS5hZGRTdHJpbmcodFthcl0pO3QmJmUucG9wRm9udCgpfVtubl0oZSl7Y29uc3QgdD1bXTt0aGlzW25yXT17Y2hpbGRyZW46dH07dGhpc1tfc10oe30pO2lmKDA9PT10Lmxlbmd0aCYmIXRoaXNbYXJdKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2xldCBpO2k9dGhpc1tBZ10/dGhpc1thcl0/dGhpc1thcl0ucmVwbGFjZUFsbChzZywiXG4iKTp2b2lkIDA6dGhpc1thcl18fHZvaWQgMDtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOnRoaXNbVHJdLGF0dHJpYnV0ZXM6e2hyZWY6dGhpcy5ocmVmLHN0eWxlOm1hcFN0eWxlKHRoaXMuc3R5bGUsdGhpcyx0aGlzW0FnXSl9LGNoaWxkcmVuOnQsdmFsdWU6aX0pfX1jbGFzcyBBIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiYSIpO3RoaXMuaHJlZj1maXhVUkwoZS5ocmVmKXx8IiJ9fWNsYXNzIEIgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJiIil9W2pyXShlKXtlLnB1c2hGb250KHt3ZWlnaHQ6ImJvbGQifSk7c3VwZXJbanJdKGUpO2UucG9wRm9udCgpfX1jbGFzcyBCb2R5IGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiYm9keSIpfVtubl0oZSl7Y29uc3QgdD1zdXBlcltubl0oZSkse2h0bWw6aX09dDtpZighaSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtpLm5hbWU9ImRpdiI7aS5hdHRyaWJ1dGVzLmNsYXNzPVsieGZhUmljaCJdO3JldHVybiB0fX1jbGFzcyBCciBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImJyIil9W3NuXSgpe3JldHVybiJcbiJ9W2pyXShlKXtlLmFkZFN0cmluZygiXG4iKX1bbm5dKGUpe3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImJyIn0pfX1jbGFzcyBIdG1sIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiaHRtbCIpfVtubl0oZSl7Y29uc3QgdD1bXTt0aGlzW25yXT17Y2hpbGRyZW46dH07dGhpc1tfc10oe30pO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhUmljaCJdLHN0eWxlOnt9fSx2YWx1ZTp0aGlzW2FyXXx8IiJ9KTtpZigxPT09dC5sZW5ndGgpe2NvbnN0IGU9dFswXTtpZihlLmF0dHJpYnV0ZXM/LmNsYXNzLmluY2x1ZGVzKCJ4ZmFSaWNoIikpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhlKX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhUmljaCJdLHN0eWxlOnt9fSxjaGlsZHJlbjp0fSl9fWNsYXNzIEkgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJpIil9W2pyXShlKXtlLnB1c2hGb250KHtwb3N0dXJlOiJpdGFsaWMifSk7c3VwZXJbanJdKGUpO2UucG9wRm9udCgpfX1jbGFzcyBMaSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImxpIil9fWNsYXNzIE9sIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwib2wiKX19Y2xhc3MgUCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInAiKX1banJdKGUpe3N1cGVyW2pyXShlLCExKTtlLmFkZFN0cmluZygiXG4iKTtlLmFkZFBhcmEoKTtlLnBvcEZvbnQoKX1bc25dKCl7cmV0dXJuIHRoaXNbd3JdKClbZnJdKCkuYXQoLTEpPT09dGhpcz9zdXBlcltzbl0oKTpzdXBlcltzbl0oKSsiXG4ifX1jbGFzcyBTcGFuIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwic3BhbiIpfX1jbGFzcyBTdWIgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJzdWIiKX19Y2xhc3MgU3VwIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwic3VwIil9fWNsYXNzIFVsIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwidWwiKX19Y2xhc3MgWGh0bWxOYW1lc3BhY2V7c3RhdGljW2NuXShlLHQpe2lmKFhodG1sTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBYaHRtbE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgYShlKXtyZXR1cm4gbmV3IEEoZSl9c3RhdGljIGIoZSl7cmV0dXJuIG5ldyBCKGUpfXN0YXRpYyBib2R5KGUpe3JldHVybiBuZXcgQm9keShlKX1zdGF0aWMgYnIoZSl7cmV0dXJuIG5ldyBCcihlKX1zdGF0aWMgaHRtbChlKXtyZXR1cm4gbmV3IEh0bWwoZSl9c3RhdGljIGkoZSl7cmV0dXJuIG5ldyBJKGUpfXN0YXRpYyBsaShlKXtyZXR1cm4gbmV3IExpKGUpfXN0YXRpYyBvbChlKXtyZXR1cm4gbmV3IE9sKGUpfXN0YXRpYyBwKGUpe3JldHVybiBuZXcgUChlKX1zdGF0aWMgc3BhbihlKXtyZXR1cm4gbmV3IFNwYW4oZSl9c3RhdGljIHN1YihlKXtyZXR1cm4gbmV3IFN1YihlKX1zdGF0aWMgc3VwKGUpe3JldHVybiBuZXcgU3VwKGUpfXN0YXRpYyB1bChlKXtyZXR1cm4gbmV3IFVsKGUpfX1jb25zdCBuZz17Y29uZmlnOkNvbmZpZ05hbWVzcGFjZSxjb25uZWN0aW9uOkNvbm5lY3Rpb25TZXROYW1lc3BhY2UsZGF0YXNldHM6RGF0YXNldHNOYW1lc3BhY2UsbG9jYWxlU2V0OkxvY2FsZVNldE5hbWVzcGFjZSxzaWduYXR1cmU6U2lnbmF0dXJlTmFtZXNwYWNlLHN0eWxlc2hlZXQ6U3R5bGVzaGVldE5hbWVzcGFjZSx0ZW1wbGF0ZTpUZW1wbGF0ZU5hbWVzcGFjZSx4ZHA6WGRwTmFtZXNwYWNlLHhodG1sOlhodG1sTmFtZXNwYWNlfTtjbGFzcyBVbmtub3duTmFtZXNwYWNle2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZXNwYWNlSWQ9ZX1bY25dKGUsdCl7cmV0dXJuIG5ldyBYbWxPYmplY3QodGhpcy5uYW1lc3BhY2VJZCxlLHQpfX1jbGFzcyBSb290IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKC0xLCJyb290IixPYmplY3QuY3JlYXRlKG51bGwpKTt0aGlzLmVsZW1lbnQ9bnVsbDt0aGlzW1NyXT1lfVtPcl0oZSl7dGhpcy5lbGVtZW50PWU7cmV0dXJuITB9W2dyXSgpe3N1cGVyW2dyXSgpO2lmKHRoaXMuZWxlbWVudC50ZW1wbGF0ZSBpbnN0YW5jZW9mIFRlbXBsYXRlKXt0aGlzW1NyXS5zZXQoenIsdGhpcy5lbGVtZW50KTt0aGlzLmVsZW1lbnQudGVtcGxhdGVbX3JdKHRoaXNbU3JdKTt0aGlzLmVsZW1lbnQudGVtcGxhdGVbU3JdPXRoaXNbU3JdfX19Y2xhc3MgRW1wdHkgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoKXtzdXBlcigtMSwiIixPYmplY3QuY3JlYXRlKG51bGwpKX1bT3JdKGUpe3JldHVybiExfX1jbGFzcyBCdWlsZGVye2NvbnN0cnVjdG9yKGU9bnVsbCl7dGhpcy5fbmFtZXNwYWNlU3RhY2s9W107dGhpcy5fbnNBZ25vc3RpY0xldmVsPTA7dGhpcy5fbmFtZXNwYWNlUHJlZml4ZXM9bmV3IE1hcDt0aGlzLl9uYW1lc3BhY2VzPW5ldyBNYXA7dGhpcy5fbmV4dE5zSWQ9TWF0aC5tYXgoLi4uT2JqZWN0LnZhbHVlcyhDbikubWFwKCgoe2lkOmV9KT0+ZSkpKTt0aGlzLl9jdXJyZW50TmFtZXNwYWNlPWV8fG5ldyBVbmtub3duTmFtZXNwYWNlKCsrdGhpcy5fbmV4dE5zSWQpfWJ1aWxkUm9vdChlKXtyZXR1cm4gbmV3IFJvb3QoZSl9YnVpbGQoe25zUHJlZml4OmUsbmFtZTp0LGF0dHJpYnV0ZXM6aSxuYW1lc3BhY2U6YSxwcmVmaXhlczpzfSl7Y29uc3Qgcj1udWxsIT09YTtpZihyKXt0aGlzLl9uYW1lc3BhY2VTdGFjay5wdXNoKHRoaXMuX2N1cnJlbnROYW1lc3BhY2UpO3RoaXMuX2N1cnJlbnROYW1lc3BhY2U9dGhpcy5fc2VhcmNoTmFtZXNwYWNlKGEpfXMmJnRoaXMuX2FkZE5hbWVzcGFjZVByZWZpeChzKTtpZihpLmhhc093blByb3BlcnR5KHFyKSl7Y29uc3QgZT1uZy5kYXRhc2V0cyx0PWlbcXJdO2xldCBhPW51bGw7Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyh0KSl7aWYodGhpcy5fZ2V0TmFtZXNwYWNlVG9Vc2UoaSk9PT1lKXthPXt4ZmE6c307YnJlYWt9fWE/aVtxcl09YTpkZWxldGUgaVtxcl19Y29uc3Qgbj10aGlzLl9nZXROYW1lc3BhY2VUb1VzZShlKSxnPW4/Lltjbl0odCxpKXx8bmV3IEVtcHR5O2dbTXJdKCkmJnRoaXMuX25zQWdub3N0aWNMZXZlbCsrOyhyfHxzfHxnW01yXSgpKSYmKGdbZXJdPXtoYXNOYW1lc3BhY2U6cixwcmVmaXhlczpzLG5zQWdub3N0aWM6Z1tNcl0oKX0pO3JldHVybiBnfWlzTnNBZ25vc3RpYygpe3JldHVybiB0aGlzLl9uc0Fnbm9zdGljTGV2ZWw+MH1fc2VhcmNoTmFtZXNwYWNlKGUpe2xldCB0PXRoaXMuX25hbWVzcGFjZXMuZ2V0KGUpO2lmKHQpcmV0dXJuIHQ7Zm9yKGNvbnN0W2kse2NoZWNrOmF9XW9mIE9iamVjdC5lbnRyaWVzKENuKSlpZihhKGUpKXt0PW5nW2ldO2lmKHQpe3RoaXMuX25hbWVzcGFjZXMuc2V0KGUsdCk7cmV0dXJuIHR9YnJlYWt9dD1uZXcgVW5rbm93bk5hbWVzcGFjZSgrK3RoaXMuX25leHROc0lkKTt0aGlzLl9uYW1lc3BhY2VzLnNldChlLHQpO3JldHVybiB0fV9hZGROYW1lc3BhY2VQcmVmaXgoZSl7Zm9yKGNvbnN0e3ByZWZpeDp0LHZhbHVlOml9b2YgZSl7Y29uc3QgZT10aGlzLl9zZWFyY2hOYW1lc3BhY2UoaSk7bGV0IGE9dGhpcy5fbmFtZXNwYWNlUHJlZml4ZXMuZ2V0KHQpO2lmKCFhKXthPVtdO3RoaXMuX25hbWVzcGFjZVByZWZpeGVzLnNldCh0LGEpfWEucHVzaChlKX19X2dldE5hbWVzcGFjZVRvVXNlKGUpe2lmKCFlKXJldHVybiB0aGlzLl9jdXJyZW50TmFtZXNwYWNlO2NvbnN0IHQ9dGhpcy5fbmFtZXNwYWNlUHJlZml4ZXMuZ2V0KGUpO2lmKHQ/Lmxlbmd0aD4wKXJldHVybiB0LmF0KC0xKTt3YXJuKGBVbmtub3duIG5hbWVzcGFjZSBwcmVmaXg6ICR7ZX0uYCk7cmV0dXJuIG51bGx9Y2xlYW4oZSl7Y29uc3R7aGFzTmFtZXNwYWNlOnQscHJlZml4ZXM6aSxuc0Fnbm9zdGljOmF9PWU7dCYmKHRoaXMuX2N1cnJlbnROYW1lc3BhY2U9dGhpcy5fbmFtZXNwYWNlU3RhY2sucG9wKCkpO2kmJmkuZm9yRWFjaCgoKHtwcmVmaXg6ZX0pPT57dGhpcy5fbmFtZXNwYWNlUHJlZml4ZXMuZ2V0KGUpLnBvcCgpfSkpO2EmJnRoaXMuX25zQWdub3N0aWNMZXZlbC0tfX1jbGFzcyBYRkFQYXJzZXIgZXh0ZW5kcyBYTUxQYXJzZXJCYXNle2NvbnN0cnVjdG9yKGU9bnVsbCx0PSExKXtzdXBlcigpO3RoaXMuX2J1aWxkZXI9bmV3IEJ1aWxkZXIoZSk7dGhpcy5fc3RhY2s9W107dGhpcy5fZ2xvYmFsRGF0YT17dXNlZFR5cGVmYWNlczpuZXcgU2V0fTt0aGlzLl9pZHM9bmV3IE1hcDt0aGlzLl9jdXJyZW50PXRoaXMuX2J1aWxkZXIuYnVpbGRSb290KHRoaXMuX2lkcyk7dGhpcy5fZXJyb3JDb2RlPXhzO3RoaXMuX3doaXRlUmVnZXg9L15ccyskLzt0aGlzLl9uYnNwcz0vXHhhMCsvZzt0aGlzLl9yaWNoVGV4dD10fXBhcnNlKGUpe3RoaXMucGFyc2VYbWwoZSk7aWYodGhpcy5fZXJyb3JDb2RlPT09eHMpe3RoaXMuX2N1cnJlbnRbZ3JdKCk7cmV0dXJuIHRoaXMuX2N1cnJlbnQuZWxlbWVudH19b25UZXh0KGUpe2U9ZS5yZXBsYWNlKHRoaXMuX25ic3BzLChlPT5lLnNsaWNlKDEpKyIgIikpO3RoaXMuX3JpY2hUZXh0fHx0aGlzLl9jdXJyZW50W1pzXSgpP3RoaXMuX2N1cnJlbnRbV3JdKGUsdGhpcy5fcmljaFRleHQpOnRoaXMuX3doaXRlUmVnZXgudGVzdChlKXx8dGhpcy5fY3VycmVudFtXcl0oZS50cmltKCkpfW9uQ2RhdGEoZSl7dGhpcy5fY3VycmVudFtXcl0oZSl9X21rQXR0cmlidXRlcyhlLHQpe2xldCBpPW51bGwsYT1udWxsO2NvbnN0IHM9T2JqZWN0LmNyZWF0ZSh7fSk7Zm9yKGNvbnN0e25hbWU6cix2YWx1ZTpufW9mIGUpaWYoInhtbG5zIj09PXIpaT93YXJuKGBYRkEgLSBtdWx0aXBsZSBuYW1lc3BhY2UgZGVmaW5pdGlvbiBpbiA8JHt0fT5gKTppPW47ZWxzZSBpZihyLnN0YXJ0c1dpdGgoInhtbG5zOiIpKXtjb25zdCBlPXIuc3Vic3RyaW5nKDYpO2F8fChhPVtdKTthLnB1c2goe3ByZWZpeDplLHZhbHVlOm59KX1lbHNle2NvbnN0IGU9ci5pbmRleE9mKCI6Iik7aWYoLTE9PT1lKXNbcl09bjtlbHNle2xldCB0PXNbcXJdO3R8fCh0PXNbcXJdPU9iamVjdC5jcmVhdGUobnVsbCkpO2NvbnN0W2ksYV09W3Iuc2xpY2UoMCxlKSxyLnNsaWNlKGUrMSldOyh0W2ldfHw9T2JqZWN0LmNyZWF0ZShudWxsKSlbYV09bn19cmV0dXJuW2ksYSxzXX1fZ2V0TmFtZUFuZFByZWZpeChlLHQpe2NvbnN0IGk9ZS5pbmRleE9mKCI6Iik7cmV0dXJuLTE9PT1pP1tlLG51bGxdOltlLnN1YnN0cmluZyhpKzEpLHQ/IiI6ZS5zdWJzdHJpbmcoMCxpKV19b25CZWdpbkVsZW1lbnQoZSx0LGkpe2NvbnN0W2EscyxyXT10aGlzLl9ta0F0dHJpYnV0ZXModCxlKSxbbixnXT10aGlzLl9nZXROYW1lQW5kUHJlZml4KGUsdGhpcy5fYnVpbGRlci5pc05zQWdub3N0aWMoKSksbz10aGlzLl9idWlsZGVyLmJ1aWxkKHtuc1ByZWZpeDpnLG5hbWU6bixhdHRyaWJ1dGVzOnIsbmFtZXNwYWNlOmEscHJlZml4ZXM6c30pO29bYnJdPXRoaXMuX2dsb2JhbERhdGE7aWYoaSl7b1tncl0oKTt0aGlzLl9jdXJyZW50W09yXShvKSYmb1tBbl0odGhpcy5faWRzKTtvWyRzXSh0aGlzLl9idWlsZGVyKX1lbHNle3RoaXMuX3N0YWNrLnB1c2godGhpcy5fY3VycmVudCk7dGhpcy5fY3VycmVudD1vfX1vbkVuZEVsZW1lbnQoZSl7Y29uc3QgdD10aGlzLl9jdXJyZW50O2lmKHRbTnJdKCkmJiJzdHJpbmciPT10eXBlb2YgdFthcl0pe2NvbnN0IGU9bmV3IFhGQVBhcnNlcjtlLl9nbG9iYWxEYXRhPXRoaXMuX2dsb2JhbERhdGE7Y29uc3QgaT1lLnBhcnNlKHRbYXJdKTt0W2FyXT1udWxsO3RbT3JdKGkpfXRbZ3JdKCk7dGhpcy5fY3VycmVudD10aGlzLl9zdGFjay5wb3AoKTt0aGlzLl9jdXJyZW50W09yXSh0KSYmdFtBbl0odGhpcy5faWRzKTt0WyRzXSh0aGlzLl9idWlsZGVyKX1vbkVycm9yKGUpe3RoaXMuX2Vycm9yQ29kZT1lfX1jbGFzcyBYRkFGYWN0b3J5e2NvbnN0cnVjdG9yKGUpe3RyeXt0aGlzLnJvb3Q9KG5ldyBYRkFQYXJzZXIpLnBhcnNlKFhGQUZhY3RvcnkuX2NyZWF0ZURvY3VtZW50KGUpKTtjb25zdCB0PW5ldyBCaW5kZXIodGhpcy5yb290KTt0aGlzLmZvcm09dC5iaW5kKCk7dGhpcy5kYXRhSGFuZGxlcj1uZXcgRGF0YUhhbmRsZXIodGhpcy5yb290LHQuZ2V0RGF0YSgpKTt0aGlzLmZvcm1bYnJdLnRlbXBsYXRlPXRoaXMuZm9ybX1jYXRjaChlKXt3YXJuKGBYRkEgLSBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgcGFyc2luZyBhbmQgYmluZGluZzogJHtlfWApfX1pc1ZhbGlkKCl7cmV0dXJuIHRoaXMucm9vdCYmdGhpcy5mb3JtfV9jcmVhdGVQYWdlc0hlbHBlcigpe2NvbnN0IGU9dGhpcy5mb3JtW3JuXSgpO3JldHVybiBuZXcgUHJvbWlzZSgoKHQsaSk9Pntjb25zdCBuZXh0SXRlcmF0aW9uPSgpPT57dHJ5e2NvbnN0IGk9ZS5uZXh0KCk7aS5kb25lP3QoaS52YWx1ZSk6c2V0VGltZW91dChuZXh0SXRlcmF0aW9uLDApfWNhdGNoKGUpe2koZSl9fTtzZXRUaW1lb3V0KG5leHRJdGVyYXRpb24sMCl9KSl9YXN5bmMgX2NyZWF0ZVBhZ2VzKCl7dHJ5e3RoaXMucGFnZXM9YXdhaXQgdGhpcy5fY3JlYXRlUGFnZXNIZWxwZXIoKTt0aGlzLmRpbXM9dGhpcy5wYWdlcy5jaGlsZHJlbi5tYXAoKGU9Pntjb25zdHt3aWR0aDp0LGhlaWdodDppfT1lLmF0dHJpYnV0ZXMuc3R5bGU7cmV0dXJuWzAsMCxwYXJzZUludCh0KSxwYXJzZUludChpKV19KSl9Y2F0Y2goZSl7d2FybihgWEZBIC0gYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGxheW91dDogJHtlfWApfX1nZXRCb3VuZGluZ0JveChlKXtyZXR1cm4gdGhpcy5kaW1zW2VdfWFzeW5jIGdldE51bVBhZ2VzKCl7dGhpcy5wYWdlc3x8YXdhaXQgdGhpcy5fY3JlYXRlUGFnZXMoKTtyZXR1cm4gdGhpcy5kaW1zLmxlbmd0aH1zZXRJbWFnZXMoZSl7dGhpcy5mb3JtW2JyXS5pbWFnZXM9ZX1zZXRGb250cyhlKXt0aGlzLmZvcm1bYnJdLmZvbnRGaW5kZXI9bmV3IEZvbnRGaW5kZXIoZSk7Y29uc3QgdD1bXTtmb3IobGV0IGUgb2YgdGhpcy5mb3JtW2JyXS51c2VkVHlwZWZhY2VzKXtlPXN0cmlwUXVvdGVzKGUpO3RoaXMuZm9ybVticl0uZm9udEZpbmRlci5maW5kKGUpfHx0LnB1c2goZSl9cmV0dXJuIHQubGVuZ3RoPjA/dDpudWxsfWFwcGVuZEZvbnRzKGUsdCl7dGhpcy5mb3JtW2JyXS5mb250RmluZGVyLmFkZChlLHQpfWFzeW5jIGdldFBhZ2VzKCl7dGhpcy5wYWdlc3x8YXdhaXQgdGhpcy5fY3JlYXRlUGFnZXMoKTtjb25zdCBlPXRoaXMucGFnZXM7dGhpcy5wYWdlcz1udWxsO3JldHVybiBlfXNlcmlhbGl6ZURhdGEoZSl7cmV0dXJuIHRoaXMuZGF0YUhhbmRsZXIuc2VyaWFsaXplKGUpfXN0YXRpYyBfY3JlYXRlRG9jdW1lbnQoZSl7cmV0dXJuIGVbIi94ZHA6eGRwIl0/T2JqZWN0LnZhbHVlcyhlKS5qb2luKCIiKTplWyJ4ZHA6eGRwIl19c3RhdGljIGdldFJpY2hUZXh0QXNIdG1sKGUpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dHJ5e2xldCB0PW5ldyBYRkFQYXJzZXIoWGh0bWxOYW1lc3BhY2UsITApLnBhcnNlKGUpO2lmKCFbImJvZHkiLCJ4aHRtbCJdLmluY2x1ZGVzKHRbVHJdKSl7Y29uc3QgZT1YaHRtbE5hbWVzcGFjZS5ib2R5KHt9KTtlW3pzXSh0KTt0PWV9Y29uc3QgaT10W25uXSgpO2lmKCFpLnN1Y2Nlc3MpcmV0dXJuIG51bGw7Y29uc3R7aHRtbDphfT1pLHthdHRyaWJ1dGVzOnN9PWE7aWYocyl7cy5jbGFzcyYmKHMuY2xhc3M9cy5jbGFzcy5maWx0ZXIoKGU9PiFlLnN0YXJ0c1dpdGgoInhmYSIpKSkpO3MuZGlyPSJhdXRvIn1yZXR1cm57aHRtbDphLHN0cjp0W3NuXSgpfX1jYXRjaChlKXt3YXJuKGBYRkEgLSBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgcGFyc2luZyBvZiByaWNoIHRleHQ6ICR7ZX1gKX1yZXR1cm4gbnVsbH19Y2xhc3MgQW5ub3RhdGlvbkZhY3Rvcnl7c3RhdGljIGNyZWF0ZUdsb2JhbHMoZSl7cmV0dXJuIFByb21pc2UuYWxsKFtlLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIiksZS5lbnN1cmVEb2MoInhmYURhdGFzZXRzIiksZS5lbnN1cmVDYXRhbG9nKCJzdHJ1Y3RUcmVlUm9vdCIpLGUuZW5zdXJlQ2F0YWxvZygiYmFzZVVybCIpLGUuZW5zdXJlQ2F0YWxvZygiYXR0YWNobWVudHMiKV0pLnRoZW4oKChbdCxpLGEscyxyXSk9Pih7cGRmTWFuYWdlcjplLGFjcm9Gb3JtOnQgaW5zdGFuY2VvZiBEaWN0P3Q6RGljdC5lbXB0eSx4ZmFEYXRhc2V0czppLHN0cnVjdFRyZWVSb290OmEsYmFzZVVybDpzLGF0dGFjaG1lbnRzOnJ9KSksKGU9Pnt3YXJuKGBjcmVhdGVHbG9iYWxzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSl9c3RhdGljIGFzeW5jIGNyZWF0ZShlLHQsaSxhLHMscixuKXtjb25zdCBnPXM/YXdhaXQgdGhpcy5fZ2V0UGFnZUluZGV4KGUsdCxpLnBkZk1hbmFnZXIpOm51bGw7cmV0dXJuIGkucGRmTWFuYWdlci5lbnN1cmUodGhpcywiX2NyZWF0ZSIsW2UsdCxpLGEscyxyLGcsbl0pfXN0YXRpYyBfY3JlYXRlKGUsdCxpLGEscz0hMSxyPW51bGwsbj1udWxsLGc9bnVsbCl7Y29uc3Qgbz1lLmZldGNoSWZSZWYodCk7aWYoIShvIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0e2Fjcm9Gb3JtOmMscGRmTWFuYWdlcjpDfT1pLGg9dCBpbnN0YW5jZW9mIFJlZj90LnRvU3RyaW5nKCk6YGFubm90XyR7YS5jcmVhdGVPYmpJZCgpfWA7bGV0IGw9by5nZXQoIlN1YnR5cGUiKTtsPWwgaW5zdGFuY2VvZiBOYW1lP2wubmFtZTpudWxsO2NvbnN0IFE9e3hyZWY6ZSxyZWY6dCxkaWN0Om8sc3VidHlwZTpsLGlkOmgsYW5ub3RhdGlvbkdsb2JhbHM6aSxjb2xsZWN0RmllbGRzOnMsb3JwaGFuRmllbGRzOnIsbmVlZEFwcGVhcmFuY2VzOiFzJiYhMD09PWMuZ2V0KCJOZWVkQXBwZWFyYW5jZXMiKSxwYWdlSW5kZXg6bixldmFsdWF0b3JPcHRpb25zOkMuZXZhbHVhdG9yT3B0aW9ucyxwYWdlUmVmOmd9O3N3aXRjaChsKXtjYXNlIkxpbmsiOnJldHVybiBuZXcgTGlua0Fubm90YXRpb24oUSk7Y2FzZSJUZXh0IjpyZXR1cm4gbmV3IFRleHRBbm5vdGF0aW9uKFEpO2Nhc2UiV2lkZ2V0IjpsZXQgZT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0Om8sa2V5OiJGVCJ9KTtlPWUgaW5zdGFuY2VvZiBOYW1lP2UubmFtZTpudWxsO3N3aXRjaChlKXtjYXNlIlR4IjpyZXR1cm4gbmV3IFRleHRXaWRnZXRBbm5vdGF0aW9uKFEpO2Nhc2UiQnRuIjpyZXR1cm4gbmV3IEJ1dHRvbldpZGdldEFubm90YXRpb24oUSk7Y2FzZSJDaCI6cmV0dXJuIG5ldyBDaG9pY2VXaWRnZXRBbm5vdGF0aW9uKFEpO2Nhc2UiU2lnIjpyZXR1cm4gbmV3IFNpZ25hdHVyZVdpZGdldEFubm90YXRpb24oUSl9d2FybihgVW5pbXBsZW1lbnRlZCB3aWRnZXQgZmllbGQgdHlwZSAiJHtlfSIsIGZhbGxpbmcgYmFjayB0byBiYXNlIGZpZWxkIHR5cGUuYCk7cmV0dXJuIG5ldyBXaWRnZXRBbm5vdGF0aW9uKFEpO2Nhc2UiUG9wdXAiOnJldHVybiBuZXcgUG9wdXBBbm5vdGF0aW9uKFEpO2Nhc2UiRnJlZVRleHQiOnJldHVybiBuZXcgRnJlZVRleHRBbm5vdGF0aW9uKFEpO2Nhc2UiTGluZSI6cmV0dXJuIG5ldyBMaW5lQW5ub3RhdGlvbihRKTtjYXNlIlNxdWFyZSI6cmV0dXJuIG5ldyBTcXVhcmVBbm5vdGF0aW9uKFEpO2Nhc2UiQ2lyY2xlIjpyZXR1cm4gbmV3IENpcmNsZUFubm90YXRpb24oUSk7Y2FzZSJQb2x5TGluZSI6cmV0dXJuIG5ldyBQb2x5bGluZUFubm90YXRpb24oUSk7Y2FzZSJQb2x5Z29uIjpyZXR1cm4gbmV3IFBvbHlnb25Bbm5vdGF0aW9uKFEpO2Nhc2UiQ2FyZXQiOnJldHVybiBuZXcgQ2FyZXRBbm5vdGF0aW9uKFEpO2Nhc2UiSW5rIjpyZXR1cm4gbmV3IElua0Fubm90YXRpb24oUSk7Y2FzZSJIaWdobGlnaHQiOnJldHVybiBuZXcgSGlnaGxpZ2h0QW5ub3RhdGlvbihRKTtjYXNlIlVuZGVybGluZSI6cmV0dXJuIG5ldyBVbmRlcmxpbmVBbm5vdGF0aW9uKFEpO2Nhc2UiU3F1aWdnbHkiOnJldHVybiBuZXcgU3F1aWdnbHlBbm5vdGF0aW9uKFEpO2Nhc2UiU3RyaWtlT3V0IjpyZXR1cm4gbmV3IFN0cmlrZU91dEFubm90YXRpb24oUSk7Y2FzZSJTdGFtcCI6cmV0dXJuIG5ldyBTdGFtcEFubm90YXRpb24oUSk7Y2FzZSJGaWxlQXR0YWNobWVudCI6cmV0dXJuIG5ldyBGaWxlQXR0YWNobWVudEFubm90YXRpb24oUSk7ZGVmYXVsdDpzfHx3YXJuKGw/YFVuaW1wbGVtZW50ZWQgYW5ub3RhdGlvbiB0eXBlICIke2x9IiwgZmFsbGluZyBiYWNrIHRvIGJhc2UgYW5ub3RhdGlvbi5gOiJBbm5vdGF0aW9uIGlzIG1pc3NpbmcgdGhlIHJlcXVpcmVkIC9TdWJ0eXBlLiIpO3JldHVybiBuZXcgQW5ub3RhdGlvbihRKX19c3RhdGljIGFzeW5jIF9nZXRQYWdlSW5kZXgoZSx0LGkpe3RyeXtjb25zdCBhPWF3YWl0IGUuZmV0Y2hJZlJlZkFzeW5jKHQpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybi0xO2NvbnN0IHM9YS5nZXRSYXcoIlAiKTtpZihzIGluc3RhbmNlb2YgUmVmKXRyeXtyZXR1cm4gYXdhaXQgaS5lbnN1cmVDYXRhbG9nKCJnZXRQYWdlSW5kZXgiLFtzXSl9Y2F0Y2goZSl7aW5mbyhgX2dldFBhZ2VJbmRleCAtLSBub3QgYSB2YWxpZCBwYWdlIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKGEuaGFzKCJLaWRzIikpcmV0dXJuLTE7Y29uc3Qgcj1hd2FpdCBpLmVuc3VyZURvYygibnVtUGFnZXMiKTtmb3IobGV0IGU9MDtlPHI7ZSsrKXtjb25zdCBhPWF3YWl0IGkuZ2V0UGFnZShlKSxzPWF3YWl0IGkuZW5zdXJlKGEsImFubm90YXRpb25zIik7Zm9yKGNvbnN0IGkgb2YgcylpZihpIGluc3RhbmNlb2YgUmVmJiZpc1JlZnNFcXVhbChpLHQpKXJldHVybiBlfX1jYXRjaChlKXt3YXJuKGBfZ2V0UGFnZUluZGV4OiAiJHtlfSIuYCl9cmV0dXJuLTF9c3RhdGljIGdlbmVyYXRlSW1hZ2VzKGUsdCxpKXtpZighaSl7d2FybigiZ2VuZXJhdGVJbWFnZXM6IE9mZnNjcmVlbkNhbnZhcyBpcyBub3Qgc3VwcG9ydGVkLCBjYW5ub3Qgc2F2ZSBvciBwcmludCBzb21lIGFubm90YXRpb25zIHdpdGggaW1hZ2VzLiIpO3JldHVybiBudWxsfWxldCBhO2Zvcihjb25zdHtiaXRtYXBJZDppLGJpdG1hcDpzfW9mIGUpaWYocyl7YXx8PW5ldyBNYXA7YS5zZXQoaSxTdGFtcEFubm90YXRpb24uY3JlYXRlSW1hZ2Uocyx0KSl9cmV0dXJuIGF9c3RhdGljIGFzeW5jIHNhdmVOZXdBbm5vdGF0aW9ucyhlLHQsaSxhKXtjb25zdCBzPWUueHJlZjtsZXQgcjtjb25zdCBuPVtdLGc9W10se2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOm99PWUub3B0aW9ucztmb3IoY29uc3QgYyBvZiBpKWlmKCFjLmRlbGV0ZWQpc3dpdGNoKGMuYW5ub3RhdGlvblR5cGUpe2Nhc2UgZDppZighcil7Y29uc3QgZT1uZXcgRGljdChzKTtlLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KCJIZWx2ZXRpY2EiKSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiVHlwZTEiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiV2luQW5zaUVuY29kaW5nIikpO2NvbnN0IHQ9W107cj1zLmdldE5ld1RlbXBvcmFyeVJlZigpO2F3YWl0IHdyaXRlT2JqZWN0KHIsZSx0LHMpO24ucHVzaCh7cmVmOnIsZGF0YTp0LmpvaW4oIiIpfSl9Zy5wdXNoKEZyZWVUZXh0QW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHMsYyxuLHtldmFsdWF0b3I6ZSx0YXNrOnQsYmFzZUZvbnRSZWY6cn0pKTticmVhaztjYXNlIGY6Yy5xdWFkUG9pbnRzP2cucHVzaChIaWdobGlnaHRBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4pKTpnLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHMsYyxuKSk7YnJlYWs7Y2FzZSBtOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4pKTticmVhaztjYXNlIHA6Y29uc3QgaT1vP2F3YWl0KGE/LmdldChjLmJpdG1hcElkKSk6bnVsbDtpZihpPy5pbWFnZVN0cmVhbSl7Y29uc3R7aW1hZ2VTdHJlYW06ZSxzbWFza1N0cmVhbTp0fT1pLGE9W107aWYodCl7Y29uc3QgaT1zLmdldE5ld1RlbXBvcmFyeVJlZigpO2F3YWl0IHdyaXRlT2JqZWN0KGksdCxhLHMpO24ucHVzaCh7cmVmOmksZGF0YTphLmpvaW4oIiIpfSk7ZS5kaWN0LnNldCgiU01hc2siLGkpO2EubGVuZ3RoPTB9Y29uc3Qgcj1pLmltYWdlUmVmPXMuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7YXdhaXQgd3JpdGVPYmplY3QocixlLGEscyk7bi5wdXNoKHtyZWY6cixkYXRhOmEuam9pbigiIil9KTtpLmltYWdlU3RyZWFtPWkuc21hc2tTdHJlYW09bnVsbH1nLnB1c2goU3RhbXBBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4se2ltYWdlOml9KSl9cmV0dXJue2Fubm90YXRpb25zOmF3YWl0IFByb21pc2UuYWxsKGcpLGRlcGVuZGVuY2llczpufX1zdGF0aWMgYXN5bmMgcHJpbnROZXdBbm5vdGF0aW9ucyhlLHQsaSxhLHMpe2lmKCFhKXJldHVybiBudWxsO2NvbnN0e29wdGlvbnM6cix4cmVmOm59PXQsZz1bXTtmb3IoY29uc3QgbyBvZiBhKWlmKCFvLmRlbGV0ZWQpc3dpdGNoKG8uYW5ub3RhdGlvblR5cGUpe2Nhc2UgZDpnLnB1c2goRnJlZVRleHRBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7ZXZhbHVhdG9yOnQsdGFzazppLGV2YWx1YXRvck9wdGlvbnM6cn0pKTticmVhaztjYXNlIGY6by5xdWFkUG9pbnRzP2cucHVzaChIaWdobGlnaHRBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7ZXZhbHVhdG9yT3B0aW9uczpyfSkpOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7ZXZhbHVhdG9yT3B0aW9uczpyfSkpO2JyZWFrO2Nhc2UgbTpnLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxuLG8se2V2YWx1YXRvck9wdGlvbnM6cn0pKTticmVhaztjYXNlIHA6Y29uc3QgYT1yLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkP2F3YWl0KHM/LmdldChvLmJpdG1hcElkKSk6bnVsbDtpZihhPy5pbWFnZVN0cmVhbSl7Y29uc3R7aW1hZ2VTdHJlYW06ZSxzbWFza1N0cmVhbTp0fT1hO3QmJmUuZGljdC5zZXQoIlNNYXNrIix0KTthLmltYWdlUmVmPW5ldyBKcGVnU3RyZWFtKGUsZS5sZW5ndGgpO2EuaW1hZ2VTdHJlYW09YS5zbWFza1N0cmVhbT1udWxsfWcucHVzaChTdGFtcEFubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtpbWFnZTphLGV2YWx1YXRvck9wdGlvbnM6cn0pKX1yZXR1cm4gUHJvbWlzZS5hbGwoZyl9fWZ1bmN0aW9uIGdldFJnYkNvbG9yKGUsdD1uZXcgVWludDhDbGFtcGVkQXJyYXkoMykpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O2NvbnN0IGk9dHx8bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpO3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBudWxsO2Nhc2UgMTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2JJdGVtKGUsMCxpLDApO3JldHVybiBpO2Nhc2UgMzpDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYkl0ZW0oZSwwLGksMCk7cmV0dXJuIGk7Y2FzZSA0OkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYkl0ZW0oZSwwLGksMCk7cmV0dXJuIGk7ZGVmYXVsdDpyZXR1cm4gdH19ZnVuY3Rpb24gZ2V0UGRmQ29sb3JBcnJheShlKXtyZXR1cm4gQXJyYXkuZnJvbShlLChlPT5lLzI1NSkpfWZ1bmN0aW9uIGdldFF1YWRQb2ludHMoZSx0KXtjb25zdCBpPWUuZ2V0QXJyYXkoIlF1YWRQb2ludHMiKTtpZighaXNOdW1iZXJBcnJheShpLG51bGwpfHwwPT09aS5sZW5ndGh8fGkubGVuZ3RoJTg+MClyZXR1cm4gbnVsbDtjb25zdCBhPW5ldyBGbG9hdDMyQXJyYXkoaS5sZW5ndGgpO2ZvcihsZXQgZT0wLHM9aS5sZW5ndGg7ZTxzO2UrPTgpe2NvbnN0W3MscixuLGcsbyxjLEMsaF09aS5zbGljZShlLGUrOCksbD1NYXRoLm1pbihzLG4sbyxDKSxRPU1hdGgubWF4KHMsbixvLEMpLEU9TWF0aC5taW4ocixnLGMsaCksdT1NYXRoLm1heChyLGcsYyxoKTtpZihudWxsIT09dCYmKGw8dFswXXx8UT50WzJdfHxFPHRbMV18fHU+dFszXSkpcmV0dXJuIG51bGw7YS5zZXQoW2wsdSxRLHUsbCxFLFEsRV0sZSl9cmV0dXJuIGF9ZnVuY3Rpb24gZ2V0VHJhbnNmb3JtTWF0cml4KGUsdCxpKXtjb25zdFthLHMscixuXT1VdGlsLmdldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KHQsaSk7aWYoYT09PXJ8fHM9PT1uKXJldHVyblsxLDAsMCwxLGVbMF0sZVsxXV07Y29uc3QgZz0oZVsyXS1lWzBdKS8oci1hKSxvPShlWzNdLWVbMV0pLyhuLXMpO3JldHVybltnLDAsMCxvLGVbMF0tYSpnLGVbMV0tcypvXX1jbGFzcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe2NvbnN0e2RpY3Q6dCx4cmVmOmksYW5ub3RhdGlvbkdsb2JhbHM6YSxyZWY6cyxvcnBoYW5GaWVsZHM6cn09ZSxuPXI/LmdldChzKTtuJiZ0LnNldCgiUGFyZW50IixuKTt0aGlzLnNldFRpdGxlKHQuZ2V0KCJUIikpO3RoaXMuc2V0Q29udGVudHModC5nZXQoIkNvbnRlbnRzIikpO3RoaXMuc2V0TW9kaWZpY2F0aW9uRGF0ZSh0LmdldCgiTSIpKTt0aGlzLnNldEZsYWdzKHQuZ2V0KCJGIikpO3RoaXMuc2V0UmVjdGFuZ2xlKHQuZ2V0QXJyYXkoIlJlY3QiKSk7dGhpcy5zZXRDb2xvcih0LmdldEFycmF5KCJDIikpO3RoaXMuc2V0Qm9yZGVyU3R5bGUodCk7dGhpcy5zZXRBcHBlYXJhbmNlKHQpO3RoaXMuc2V0T3B0aW9uYWxDb250ZW50KHQpO2NvbnN0IGc9dC5nZXQoIk1LIik7dGhpcy5zZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQ29sb3JzKGcpO3RoaXMuc2V0Um90YXRpb24oZyx0KTt0aGlzLnJlZj1lLnJlZiBpbnN0YW5jZW9mIFJlZj9lLnJlZjpudWxsO3RoaXMuX3N0cmVhbXM9W107dGhpcy5hcHBlYXJhbmNlJiZ0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5hcHBlYXJhbmNlKTtjb25zdCBvPSEhKHRoaXMuZmxhZ3MmZUEpLGM9ISEodGhpcy5mbGFncyZ0QSk7dGhpcy5kYXRhPXthbm5vdGF0aW9uRmxhZ3M6dGhpcy5mbGFncyxib3JkZXJTdHlsZTp0aGlzLmJvcmRlclN0eWxlLGNvbG9yOnRoaXMuY29sb3IsYmFja2dyb3VuZENvbG9yOnRoaXMuYmFja2dyb3VuZENvbG9yLGJvcmRlckNvbG9yOnRoaXMuYm9yZGVyQ29sb3Iscm90YXRpb246dGhpcy5yb3RhdGlvbixjb250ZW50c09iajp0aGlzLl9jb250ZW50cyxoYXNBcHBlYXJhbmNlOiEhdGhpcy5hcHBlYXJhbmNlLGlkOmUuaWQsbW9kaWZpY2F0aW9uRGF0ZTp0aGlzLm1vZGlmaWNhdGlvbkRhdGUscmVjdDp0aGlzLnJlY3RhbmdsZSxzdWJ0eXBlOmUuc3VidHlwZSxoYXNPd25DYW52YXM6ITEsbm9Sb3RhdGU6ISEodGhpcy5mbGFncyYkKSxub0hUTUw6byYmYyxpc0VkaXRhYmxlOiExLHN0cnVjdFBhcmVudDotMX07aWYoYS5zdHJ1Y3RUcmVlUm9vdCl7bGV0IGk9dC5nZXQoIlN0cnVjdFBhcmVudCIpO3RoaXMuZGF0YS5zdHJ1Y3RQYXJlbnQ9aT1OdW1iZXIuaXNJbnRlZ2VyKGkpJiZpPj0wP2k6LTE7YS5zdHJ1Y3RUcmVlUm9vdC5hZGRBbm5vdGF0aW9uSWRUb1BhZ2UoZS5wYWdlUmVmLGkpfWlmKGUuY29sbGVjdEZpZWxkcyl7Y29uc3QgYT10LmdldCgiS2lkcyIpO2lmKEFycmF5LmlzQXJyYXkoYSkpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgYSl0IGluc3RhbmNlb2YgUmVmJiZlLnB1c2godC50b1N0cmluZygpKTswIT09ZS5sZW5ndGgmJih0aGlzLmRhdGEua2lkSWRzPWUpfXRoaXMuZGF0YS5hY3Rpb25zPWNvbGxlY3RBY3Rpb25zKGksdCxkQSk7dGhpcy5kYXRhLmZpZWxkTmFtZT10aGlzLl9jb25zdHJ1Y3RGaWVsZE5hbWUodCk7dGhpcy5kYXRhLnBhZ2VJbmRleD1lLnBhZ2VJbmRleH1jb25zdCBDPXQuZ2V0KCJJVCIpO0MgaW5zdGFuY2VvZiBOYW1lJiYodGhpcy5kYXRhLml0PUMubmFtZSk7dGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ9ZS5ldmFsdWF0b3JPcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkO3RoaXMuX2ZhbGxiYWNrRm9udERpY3Q9bnVsbDt0aGlzLl9uZWVkQXBwZWFyYW5jZXM9ITF9X2hhc0ZsYWcoZSx0KXtyZXR1cm4hIShlJnQpfV9idWlsZEZsYWdzKGUsdCl7bGV0e2ZsYWdzOml9PXRoaXM7aWYodm9pZCAwPT09ZSl7aWYodm9pZCAwPT09dClyZXR1cm47cmV0dXJuIHQ/aSZ+XzppJn56fF99aWYoZSl7aXw9XztyZXR1cm4gdD9pJn5BQXx6Omkmfnp8QUF9aSY9fih6fEFBKTtyZXR1cm4gdD9pJn5fOml8X31faXNWaWV3YWJsZShlKXtyZXR1cm4hdGhpcy5faGFzRmxhZyhlLFYpJiYhdGhpcy5faGFzRmxhZyhlLEFBKX1faXNQcmludGFibGUoZSl7cmV0dXJuIHRoaXMuX2hhc0ZsYWcoZSxfKSYmIXRoaXMuX2hhc0ZsYWcoZSx6KSYmIXRoaXMuX2hhc0ZsYWcoZSxWKX1tdXN0QmVWaWV3ZWQoZSx0KXtjb25zdCBpPWU/LmdldCh0aGlzLmRhdGEuaWQpPy5ub1ZpZXc7cmV0dXJuIHZvaWQgMCE9PWk/IWk6dGhpcy52aWV3YWJsZSYmIXRoaXMuX2hhc0ZsYWcodGhpcy5mbGFncyx6KX1tdXN0QmVQcmludGVkKGUpe2NvbnN0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/Lm5vUHJpbnQ7cmV0dXJuIHZvaWQgMCE9PXQ/IXQ6dGhpcy5wcmludGFibGV9bXVzdEJlVmlld2VkV2hlbkVkaXRpbmcoZSx0PW51bGwpe3JldHVybiBlPyF0aGlzLmRhdGEuaXNFZGl0YWJsZTohdD8uaGFzKHRoaXMuZGF0YS5pZCl9Z2V0IHZpZXdhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLmRhdGEucXVhZFBvaW50cyYmKDA9PT10aGlzLmZsYWdzfHx0aGlzLl9pc1ZpZXdhYmxlKHRoaXMuZmxhZ3MpKX1nZXQgcHJpbnRhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLmRhdGEucXVhZFBvaW50cyYmKDAhPT10aGlzLmZsYWdzJiZ0aGlzLl9pc1ByaW50YWJsZSh0aGlzLmZsYWdzKSl9X3BhcnNlU3RyaW5nSGVscGVyKGUpe2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOiIiO3JldHVybntzdHI6dCxkaXI6dCYmInJ0bCI9PT1iaWRpKHQpLmRpcj8icnRsIjoibHRyIn19c2V0RGVmYXVsdEFwcGVhcmFuY2UoZSl7Y29uc3R7ZGljdDp0LGFubm90YXRpb25HbG9iYWxzOml9PWUsYT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJEQSJ9KXx8aS5hY3JvRm9ybS5nZXQoIkRBIik7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9InN0cmluZyI9PXR5cGVvZiBhP2E6IiI7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1wYXJzZURlZmF1bHRBcHBlYXJhbmNlKHRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlKX1zZXRUaXRsZShlKXt0aGlzLl90aXRsZT10aGlzLl9wYXJzZVN0cmluZ0hlbHBlcihlKX1zZXRDb250ZW50cyhlKXt0aGlzLl9jb250ZW50cz10aGlzLl9wYXJzZVN0cmluZ0hlbHBlcihlKX1zZXRNb2RpZmljYXRpb25EYXRlKGUpe3RoaXMubW9kaWZpY2F0aW9uRGF0ZT0ic3RyaW5nIj09dHlwZW9mIGU/ZTpudWxsfXNldEZsYWdzKGUpe3RoaXMuZmxhZ3M9TnVtYmVyLmlzSW50ZWdlcihlKSYmZT4wP2U6MDt0aGlzLmZsYWdzJlYmJiJBbm5vdGF0aW9uIiE9PXRoaXMuY29uc3RydWN0b3IubmFtZSYmKHRoaXMuZmxhZ3NePVYpfWhhc0ZsYWcoZSl7cmV0dXJuIHRoaXMuX2hhc0ZsYWcodGhpcy5mbGFncyxlKX1zZXRSZWN0YW5nbGUoZSl7dGhpcy5yZWN0YW5nbGU9bG9va3VwTm9ybWFsUmVjdChlLFswLDAsMCwwXSl9c2V0Q29sb3IoZSl7dGhpcy5jb2xvcj1nZXRSZ2JDb2xvcihlKX1zZXRMaW5lRW5kaW5ncyhlKXt0aGlzLmxpbmVFbmRpbmdzPVsiTm9uZSIsIk5vbmUiXTtpZihBcnJheS5pc0FycmF5KGUpJiYyPT09ZS5sZW5ndGgpZm9yKGxldCB0PTA7dDwyO3QrKyl7Y29uc3QgaT1lW3RdO2lmKGkgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChpLm5hbWUpe2Nhc2UiTm9uZSI6Y29udGludWU7Y2FzZSJTcXVhcmUiOmNhc2UiQ2lyY2xlIjpjYXNlIkRpYW1vbmQiOmNhc2UiT3BlbkFycm93IjpjYXNlIkNsb3NlZEFycm93IjpjYXNlIkJ1dHQiOmNhc2UiUk9wZW5BcnJvdyI6Y2FzZSJSQ2xvc2VkQXJyb3ciOmNhc2UiU2xhc2giOnRoaXMubGluZUVuZGluZ3NbdF09aS5uYW1lO2NvbnRpbnVlfXdhcm4oYElnbm9yaW5nIGludmFsaWQgbGluZUVuZGluZzogJHtpfWApfX1zZXRSb3RhdGlvbihlLHQpe3RoaXMucm90YXRpb249MDtsZXQgaT1lIGluc3RhbmNlb2YgRGljdD9lLmdldCgiUiIpfHwwOnQuZ2V0KCJSb3RhdGUiKXx8MDtpZihOdW1iZXIuaXNJbnRlZ2VyKGkpJiYwIT09aSl7aSU9MzYwO2k8MCYmKGkrPTM2MCk7aSU5MD09MCYmKHRoaXMucm90YXRpb249aSl9fXNldEJvcmRlckFuZEJhY2tncm91bmRDb2xvcnMoZSl7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe3RoaXMuYm9yZGVyQ29sb3I9Z2V0UmdiQ29sb3IoZS5nZXRBcnJheSgiQkMiKSxudWxsKTt0aGlzLmJhY2tncm91bmRDb2xvcj1nZXRSZ2JDb2xvcihlLmdldEFycmF5KCJCRyIpLG51bGwpfWVsc2UgdGhpcy5ib3JkZXJDb2xvcj10aGlzLmJhY2tncm91bmRDb2xvcj1udWxsfXNldEJvcmRlclN0eWxlKGUpe3RoaXMuYm9yZGVyU3R5bGU9bmV3IEFubm90YXRpb25Cb3JkZXJTdHlsZTtpZihlIGluc3RhbmNlb2YgRGljdClpZihlLmhhcygiQlMiKSl7Y29uc3QgdD1lLmdldCgiQlMiKTtpZih0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT10LmdldCgiVHlwZSIpO2lmKCFlfHxpc05hbWUoZSwiQm9yZGVyIikpe3RoaXMuYm9yZGVyU3R5bGUuc2V0V2lkdGgodC5nZXQoIlciKSx0aGlzLnJlY3RhbmdsZSk7dGhpcy5ib3JkZXJTdHlsZS5zZXRTdHlsZSh0LmdldCgiUyIpKTt0aGlzLmJvcmRlclN0eWxlLnNldERhc2hBcnJheSh0LmdldEFycmF5KCJEIikpfX19ZWxzZSBpZihlLmhhcygiQm9yZGVyIikpe2NvbnN0IHQ9ZS5nZXRBcnJheSgiQm9yZGVyIik7aWYoQXJyYXkuaXNBcnJheSh0KSYmdC5sZW5ndGg+PTMpe3RoaXMuYm9yZGVyU3R5bGUuc2V0SG9yaXpvbnRhbENvcm5lclJhZGl1cyh0WzBdKTt0aGlzLmJvcmRlclN0eWxlLnNldFZlcnRpY2FsQ29ybmVyUmFkaXVzKHRbMV0pO3RoaXMuYm9yZGVyU3R5bGUuc2V0V2lkdGgodFsyXSx0aGlzLnJlY3RhbmdsZSk7ND09PXQubGVuZ3RoJiZ0aGlzLmJvcmRlclN0eWxlLnNldERhc2hBcnJheSh0WzNdLCEwKX19ZWxzZSB0aGlzLmJvcmRlclN0eWxlLnNldFdpZHRoKDApfXNldEFwcGVhcmFuY2UoZSl7dGhpcy5hcHBlYXJhbmNlPW51bGw7Y29uc3QgdD1lLmdldCgiQVAiKTtpZighKHQgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgaT10LmdldCgiTiIpO2lmKGkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXt0aGlzLmFwcGVhcmFuY2U9aTtyZXR1cm59aWYoIShpIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IGE9ZS5nZXQoIkFTIik7aWYoIShhIGluc3RhbmNlb2YgTmFtZSYmaS5oYXMoYS5uYW1lKSkpcmV0dXJuO2NvbnN0IHM9aS5nZXQoYS5uYW1lKTtzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKHRoaXMuYXBwZWFyYW5jZT1zKX1zZXRPcHRpb25hbENvbnRlbnQoZSl7dGhpcy5vYz1udWxsO2NvbnN0IHQ9ZS5nZXQoIk9DIik7dCBpbnN0YW5jZW9mIE5hbWU/d2Fybigic2V0T3B0aW9uYWxDb250ZW50OiBTdXBwb3J0IGZvciAvTmFtZS1lbnRyeSBpcyBub3QgaW1wbGVtZW50ZWQuIik6dCBpbnN0YW5jZW9mIERpY3QmJih0aGlzLm9jPXQpfWxvYWRSZXNvdXJjZXMoZSx0KXtyZXR1cm4gdC5kaWN0LmdldEFzeW5jKCJSZXNvdXJjZXMiKS50aGVuKCh0PT57aWYoIXQpcmV0dXJuO3JldHVybiBuZXcgT2JqZWN0TG9hZGVyKHQsZSx0LnhyZWYpLmxvYWQoKS50aGVuKChmdW5jdGlvbigpe3JldHVybiB0fSkpfSkpfWFzeW5jIGdldE9wZXJhdG9yTGlzdChlLHQsYSxzKXtjb25zdHtoYXNPd25DYW52YXM6cixpZDpuLHJlY3Q6Z309dGhpcy5kYXRhO2xldCBjPXRoaXMuYXBwZWFyYW5jZTtjb25zdCBDPSEhKHImJmEmbyk7aWYoQyYmKGdbMF09PT1nWzJdfHxnWzFdPT09Z1szXSkpe3RoaXMuZGF0YS5oYXNPd25DYW52YXM9ITE7cmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX19aWYoIWMpe2lmKCFDKXJldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6ITF9O2M9bmV3IFN0cmluZ1N0cmVhbSgiIik7Yy5kaWN0PW5ldyBEaWN0fWNvbnN0IGg9Yy5kaWN0LGw9YXdhaXQgdGhpcy5sb2FkUmVzb3VyY2VzKFsiRXh0R1N0YXRlIiwiQ29sb3JTcGFjZSIsIlBhdHRlcm4iLCJTaGFkaW5nIiwiWE9iamVjdCIsIkZvbnQiXSxjKSxRPWxvb2t1cFJlY3QoaC5nZXRBcnJheSgiQkJveCIpLFswLDAsMSwxXSksRT1sb29rdXBNYXRyaXgoaC5nZXRBcnJheSgiTWF0cml4IiksaSksdT1nZXRUcmFuc2Zvcm1NYXRyaXgoZyxRLEUpLGQ9bmV3IE9wZXJhdG9yTGlzdDtsZXQgZjt0aGlzLm9jJiYoZj1hd2FpdCBlLnBhcnNlTWFya2VkQ29udGVudFByb3BzKHRoaXMub2MsbnVsbCkpO3ZvaWQgMCE9PWYmJmQuYWRkT3AoSmUsWyJPQyIsZl0pO2QuYWRkT3AoV2UsW24sZyx1LEUsQ10pO2F3YWl0IGUuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06Yyx0YXNrOnQscmVzb3VyY2VzOmwsb3BlcmF0b3JMaXN0OmQsZmFsbGJhY2tGb250RGljdDp0aGlzLl9mYWxsYmFja0ZvbnREaWN0fSk7ZC5hZGRPcChqZSxbXSk7dm9pZCAwIT09ZiYmZC5hZGRPcChZZSxbXSk7dGhpcy5yZXNldCgpO3JldHVybntvcExpc3Q6ZCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6Q319YXN5bmMgc2F2ZShlLHQsaSl7cmV0dXJuIG51bGx9Z2V0IGhhc1RleHRDb250ZW50KCl7cmV0dXJuITF9YXN5bmMgZXh0cmFjdFRleHRDb250ZW50KGUsdCxpKXtpZighdGhpcy5hcHBlYXJhbmNlKXJldHVybjtjb25zdCBhPWF3YWl0IHRoaXMubG9hZFJlc291cmNlcyhbIkV4dEdTdGF0ZSIsIkZvbnQiLCJQcm9wZXJ0aWVzIiwiWE9iamVjdCJdLHRoaXMuYXBwZWFyYW5jZSkscz1bXSxyPVtdO2xldCBuPW51bGw7Y29uc3QgZz17ZGVzaXJlZFNpemU6TWF0aC5JbmZpbml0eSxyZWFkeTohMCxlbnF1ZXVlKGUsdCl7Zm9yKGNvbnN0IHQgb2YgZS5pdGVtcylpZih2b2lkIDAhPT10LnN0cil7bnx8PXQudHJhbnNmb3JtLnNsaWNlKC0yKTtyLnB1c2godC5zdHIpO2lmKHQuaGFzRU9MKXtzLnB1c2goci5qb2luKCIiKS50cmltRW5kKCkpO3IubGVuZ3RoPTB9fX19O2F3YWl0IGUuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTp0aGlzLmFwcGVhcmFuY2UsdGFzazp0LHJlc291cmNlczphLGluY2x1ZGVNYXJrZWRDb250ZW50OiEwLGtlZXBXaGl0ZVNwYWNlOiEwLHNpbms6Zyx2aWV3Qm94Oml9KTt0aGlzLnJlc2V0KCk7ci5sZW5ndGgmJnMucHVzaChyLmpvaW4oIiIpLnRyaW1FbmQoKSk7aWYocy5sZW5ndGg+MXx8c1swXSl7Y29uc3QgZT10aGlzLmFwcGVhcmFuY2UuZGljdCx0PWxvb2t1cFJlY3QoZS5nZXRBcnJheSgiQkJveCIpLG51bGwpLGk9bG9va3VwTWF0cml4KGUuZ2V0QXJyYXkoIk1hdHJpeCIpLG51bGwpO3RoaXMuZGF0YS50ZXh0UG9zaXRpb249dGhpcy5fdHJhbnNmb3JtUG9pbnQobix0LGkpO3RoaXMuZGF0YS50ZXh0Q29udGVudD1zfX1fdHJhbnNmb3JtUG9pbnQoZSx0LGkpe2NvbnN0e3JlY3Q6YX09dGhpcy5kYXRhO3R8fD1bMCwwLDEsMV07aXx8PVsxLDAsMCwxLDAsMF07Y29uc3Qgcz1nZXRUcmFuc2Zvcm1NYXRyaXgoYSx0LGkpO3NbNF0tPWFbMF07c1s1XS09YVsxXTtlPVV0aWwuYXBwbHlUcmFuc2Zvcm0oZSxzKTtyZXR1cm4gVXRpbC5hcHBseVRyYW5zZm9ybShlLGkpfWdldEZpZWxkT2JqZWN0KCl7cmV0dXJuIHRoaXMuZGF0YS5raWRJZHM/e2lkOnRoaXMuZGF0YS5pZCxhY3Rpb25zOnRoaXMuZGF0YS5hY3Rpb25zLG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxzdHJva2VDb2xvcjp0aGlzLmRhdGEuYm9yZGVyQ29sb3IsZmlsbENvbG9yOnRoaXMuZGF0YS5iYWNrZ3JvdW5kQ29sb3IsdHlwZToiIixraWRJZHM6dGhpcy5kYXRhLmtpZElkcyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgscm90YXRpb246dGhpcy5yb3RhdGlvbn06bnVsbH1yZXNldCgpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3N0cmVhbXMpZS5yZXNldCgpfV9jb25zdHJ1Y3RGaWVsZE5hbWUoZSl7aWYoIWUuaGFzKCJUIikmJiFlLmhhcygiUGFyZW50Iikpe3dhcm4oIlVua25vd24gZmllbGQgbmFtZSwgZmFsbGluZyBiYWNrIHRvIGVtcHR5IGZpZWxkIG5hbWUuIik7cmV0dXJuIiJ9aWYoIWUuaGFzKCJQYXJlbnQiKSlyZXR1cm4gc3RyaW5nVG9QREZTdHJpbmcoZS5nZXQoIlQiKSk7Y29uc3QgdD1bXTtlLmhhcygiVCIpJiZ0LnVuc2hpZnQoc3RyaW5nVG9QREZTdHJpbmcoZS5nZXQoIlQiKSkpO2xldCBpPWU7Y29uc3QgYT1uZXcgUmVmU2V0O2Uub2JqSWQmJmEucHV0KGUub2JqSWQpO2Zvcig7aS5oYXMoIlBhcmVudCIpOyl7aT1pLmdldCgiUGFyZW50Iik7aWYoIShpIGluc3RhbmNlb2YgRGljdCl8fGkub2JqSWQmJmEuaGFzKGkub2JqSWQpKWJyZWFrO2kub2JqSWQmJmEucHV0KGkub2JqSWQpO2kuaGFzKCJUIikmJnQudW5zaGlmdChzdHJpbmdUb1BERlN0cmluZyhpLmdldCgiVCIpKSl9cmV0dXJuIHQuam9pbigiLiIpfX1jbGFzcyBBbm5vdGF0aW9uQm9yZGVyU3R5bGV7Y29uc3RydWN0b3IoKXt0aGlzLndpZHRoPTE7dGhpcy5yYXdXaWR0aD0xO3RoaXMuc3R5bGU9bEE7dGhpcy5kYXNoQXJyYXk9WzNdO3RoaXMuaG9yaXpvbnRhbENvcm5lclJhZGl1cz0wO3RoaXMudmVydGljYWxDb3JuZXJSYWRpdXM9MH1zZXRXaWR0aChlLHQ9WzAsMCwwLDBdKXtpZihlIGluc3RhbmNlb2YgTmFtZSl0aGlzLndpZHRoPTA7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUpe2lmKGU+MCl7dGhpcy5yYXdXaWR0aD1lO2NvbnN0IGk9KHRbMl0tdFswXSkvMixhPSh0WzNdLXRbMV0pLzI7aWYoaT4wJiZhPjAmJihlPml8fGU+YSkpe3dhcm4oYEFubm90YXRpb25Cb3JkZXJTdHlsZS5zZXRXaWR0aCAtIGlnbm9yaW5nIHdpZHRoOiAke2V9YCk7ZT0xfX10aGlzLndpZHRoPWV9fXNldFN0eWxlKGUpe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiUyI6dGhpcy5zdHlsZT1sQTticmVhaztjYXNlIkQiOnRoaXMuc3R5bGU9QkE7YnJlYWs7Y2FzZSJCIjp0aGlzLnN0eWxlPVFBO2JyZWFrO2Nhc2UiSSI6dGhpcy5zdHlsZT1FQTticmVhaztjYXNlIlUiOnRoaXMuc3R5bGU9dUF9fXNldERhc2hBcnJheShlLHQ9ITEpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCBpPSEwLGE9ITA7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoISgrdD49MCkpe2k9ITE7YnJlYWt9dD4wJiYoYT0hMSl9aWYoMD09PWUubGVuZ3RofHxpJiYhYSl7dGhpcy5kYXNoQXJyYXk9ZTt0JiZ0aGlzLnNldFN0eWxlKE5hbWUuZ2V0KCJEIikpfWVsc2UgdGhpcy53aWR0aD0wfWVsc2UgZSYmKHRoaXMud2lkdGg9MCl9c2V0SG9yaXpvbnRhbENvcm5lclJhZGl1cyhlKXtOdW1iZXIuaXNJbnRlZ2VyKGUpJiYodGhpcy5ob3Jpem9udGFsQ29ybmVyUmFkaXVzPWUpfXNldFZlcnRpY2FsQ29ybmVyUmFkaXVzKGUpe051bWJlci5pc0ludGVnZXIoZSkmJih0aGlzLnZlcnRpY2FsQ29ybmVyUmFkaXVzPWUpfX1jbGFzcyBNYXJrdXBBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIklSVCIpKXtjb25zdCBlPXQuZ2V0UmF3KCJJUlQiKTt0aGlzLmRhdGEuaW5SZXBseVRvPWUgaW5zdGFuY2VvZiBSZWY/ZS50b1N0cmluZygpOm51bGw7Y29uc3QgaT10LmdldCgiUlQiKTt0aGlzLmRhdGEucmVwbHlUeXBlPWkgaW5zdGFuY2VvZiBOYW1lP2kubmFtZTpafWxldCBpPW51bGw7aWYodGhpcy5kYXRhLnJlcGx5VHlwZT09PVgpe2NvbnN0IGU9dC5nZXQoIklSVCIpO3RoaXMuc2V0VGl0bGUoZS5nZXQoIlQiKSk7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q29udGVudHMoZS5nZXQoIkNvbnRlbnRzIikpO3RoaXMuZGF0YS5jb250ZW50c09iaj10aGlzLl9jb250ZW50cztpZihlLmhhcygiQ3JlYXRpb25EYXRlIikpe3RoaXMuc2V0Q3JlYXRpb25EYXRlKGUuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZX1lbHNlIHRoaXMuZGF0YS5jcmVhdGlvbkRhdGU9bnVsbDtpZihlLmhhcygiTSIpKXt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUoZS5nZXQoIk0iKSk7dGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9dGhpcy5tb2RpZmljYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9bnVsbDtpPWUuZ2V0UmF3KCJQb3B1cCIpO2lmKGUuaGFzKCJDIikpe3RoaXMuc2V0Q29sb3IoZS5nZXRBcnJheSgiQyIpKTt0aGlzLmRhdGEuY29sb3I9dGhpcy5jb2xvcn1lbHNlIHRoaXMuZGF0YS5jb2xvcj1udWxsfWVsc2V7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q3JlYXRpb25EYXRlKHQuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZTtpPXQuZ2V0UmF3KCJQb3B1cCIpO3QuaGFzKCJDIil8fCh0aGlzLmRhdGEuY29sb3I9bnVsbCl9dGhpcy5kYXRhLnBvcHVwUmVmPWkgaW5zdGFuY2VvZiBSZWY/aS50b1N0cmluZygpOm51bGw7dC5oYXMoIlJDIikmJih0aGlzLmRhdGEucmljaFRleHQ9WEZBRmFjdG9yeS5nZXRSaWNoVGV4dEFzSHRtbCh0LmdldCgiUkMiKSkpfXNldENyZWF0aW9uRGF0ZShlKXt0aGlzLmNyZWF0aW9uRGF0ZT0ic3RyaW5nIj09dHlwZW9mIGU/ZTpudWxsfV9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjplLGV4dHJhOnQsc3Ryb2tlQ29sb3I6aSxmaWxsQ29sb3I6YSxibGVuZE1vZGU6cyxzdHJva2VBbHBoYTpyLGZpbGxBbHBoYTpuLHBvaW50c0NhbGxiYWNrOmd9KXtsZXQgbz1OdW1iZXIuTUFYX1ZBTFVFLGM9TnVtYmVyLk1BWF9WQUxVRSxDPU51bWJlci5NSU5fVkFMVUUsaD1OdW1iZXIuTUlOX1ZBTFVFO2NvbnN0IGw9WyJxIl07dCYmbC5wdXNoKHQpO2kmJmwucHVzaChgJHtpWzBdfSAke2lbMV19ICR7aVsyXX0gUkdgKTthJiZsLnB1c2goYCR7YVswXX0gJHthWzFdfSAke2FbMl19IHJnYCk7bGV0IFE9dGhpcy5kYXRhLnF1YWRQb2ludHM7UXx8KFE9RmxvYXQzMkFycmF5LmZyb20oW3RoaXMucmVjdGFuZ2xlWzBdLHRoaXMucmVjdGFuZ2xlWzNdLHRoaXMucmVjdGFuZ2xlWzJdLHRoaXMucmVjdGFuZ2xlWzNdLHRoaXMucmVjdGFuZ2xlWzBdLHRoaXMucmVjdGFuZ2xlWzFdLHRoaXMucmVjdGFuZ2xlWzJdLHRoaXMucmVjdGFuZ2xlWzFdXSkpO2ZvcihsZXQgZT0wLHQ9US5sZW5ndGg7ZTx0O2UrPTgpe2NvbnN0W3QsaSxhLHNdPWcobCxRLnN1YmFycmF5KGUsZSs4KSk7bz1NYXRoLm1pbihvLHQpO0M9TWF0aC5tYXgoQyxpKTtjPU1hdGgubWluKGMsYSk7aD1NYXRoLm1heChoLHMpfWwucHVzaCgiUSIpO2NvbnN0IEU9bmV3IERpY3QoZSksdT1uZXcgRGljdChlKTt1LnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Y29uc3QgZD1uZXcgU3RyaW5nU3RyZWFtKGwuam9pbigiICIpKTtkLmRpY3Q9dTtFLnNldCgiRm0wIixkKTtjb25zdCBmPW5ldyBEaWN0KGUpO3MmJmYuc2V0KCJCTSIsTmFtZS5nZXQocykpOyJudW1iZXIiPT10eXBlb2YgciYmZi5zZXQoIkNBIixyKTsibnVtYmVyIj09dHlwZW9mIG4mJmYuc2V0KCJjYSIsbik7Y29uc3QgcD1uZXcgRGljdChlKTtwLnNldCgiR1MwIixmKTtjb25zdCBtPW5ldyBEaWN0KGUpO20uc2V0KCJFeHRHU3RhdGUiLHApO20uc2V0KCJYT2JqZWN0IixFKTtjb25zdCB5PW5ldyBEaWN0KGUpO3kuc2V0KCJSZXNvdXJjZXMiLG0pO2NvbnN0IHc9dGhpcy5kYXRhLnJlY3Q9W28sYyxDLGhdO3kuc2V0KCJCQm94Iix3KTt0aGlzLmFwcGVhcmFuY2U9bmV3IFN0cmluZ1N0cmVhbSgiL0dTMCBncyAvRm0wIERvIik7dGhpcy5hcHBlYXJhbmNlLmRpY3Q9eTt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5hcHBlYXJhbmNlLGQpfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBbm5vdGF0aW9uKGUsdCxpLGEpe3QucmVmfHwodC5yZWY9ZS5nZXROZXdUZW1wb3JhcnlSZWYoKSk7Y29uc3Qgcz10LnJlZixyPWF3YWl0IHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbSh0LGUsYSksbj1bXTtsZXQgZztpZihyKXtjb25zdCBhPWUuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7Zz10aGlzLmNyZWF0ZU5ld0RpY3QodCxlLHthcFJlZjphfSk7YXdhaXQgd3JpdGVPYmplY3QoYSxyLG4sZSk7aS5wdXNoKHtyZWY6YSxkYXRhOm4uam9pbigiIil9KX1lbHNlIGc9dGhpcy5jcmVhdGVOZXdEaWN0KHQsZSx7fSk7TnVtYmVyLmlzSW50ZWdlcih0LnBhcmVudFRyZWVJZCkmJmcuc2V0KCJTdHJ1Y3RQYXJlbnQiLHQucGFyZW50VHJlZUlkKTtuLmxlbmd0aD0wO2F3YWl0IHdyaXRlT2JqZWN0KHMsZyxuLGUpO3JldHVybntyZWY6cyxkYXRhOm4uam9pbigiIil9fXN0YXRpYyBhc3luYyBjcmVhdGVOZXdQcmludEFubm90YXRpb24oZSx0LGksYSl7Y29uc3Qgcz1hd2FpdCB0aGlzLmNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oaSx0LGEpLHI9dGhpcy5jcmVhdGVOZXdEaWN0KGksdCxzP3thcDpzfTp7fSksbj1uZXcgdGhpcy5wcm90b3R5cGUuY29uc3RydWN0b3Ioe2RpY3Q6cix4cmVmOnQsYW5ub3RhdGlvbkdsb2JhbHM6ZSxldmFsdWF0b3JPcHRpb25zOmEuZXZhbHVhdG9yT3B0aW9uc30pO2kucmVmJiYobi5yZWY9bi5yZWZUb1JlcGxhY2U9aS5yZWYpO3JldHVybiBufX1jbGFzcyBXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppLGFubm90YXRpb25HbG9iYWxzOmF9PWUscz10aGlzLmRhdGE7dGhpcy5fbmVlZEFwcGVhcmFuY2VzPWUubmVlZEFwcGVhcmFuY2VzO3MuYW5ub3RhdGlvblR5cGU9ajt2b2lkIDA9PT1zLmZpZWxkTmFtZSYmKHMuZmllbGROYW1lPXRoaXMuX2NvbnN0cnVjdEZpZWxkTmFtZSh0KSk7dm9pZCAwPT09cy5hY3Rpb25zJiYocy5hY3Rpb25zPWNvbGxlY3RBY3Rpb25zKGksdCxkQSkpO2xldCByPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IlYiLGdldEFycmF5OiEwfSk7cy5maWVsZFZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShyKTtjb25zdCBuPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkRWIixnZXRBcnJheTohMH0pO3MuZGVmYXVsdEZpZWxkVmFsdWU9dGhpcy5fZGVjb2RlRm9ybVZhbHVlKG4pO2lmKHZvaWQgMD09PXImJmEueGZhRGF0YXNldHMpe2NvbnN0IGU9dGhpcy5fdGl0bGUuc3RyO2lmKGUpe3RoaXMuX2hhc1ZhbHVlRnJvbVhGQT0hMDtzLmZpZWxkVmFsdWU9cj1hLnhmYURhdGFzZXRzLmdldFZhbHVlKGUpfX12b2lkIDA9PT1yJiZudWxsIT09cy5kZWZhdWx0RmllbGRWYWx1ZSYmKHMuZmllbGRWYWx1ZT1zLmRlZmF1bHRGaWVsZFZhbHVlKTtzLmFsdGVybmF0aXZlVGV4dD1zdHJpbmdUb1BERlN0cmluZyh0LmdldCgiVFUiKXx8IiIpO3RoaXMuc2V0RGVmYXVsdEFwcGVhcmFuY2UoZSk7cy5oYXNBcHBlYXJhbmNlfHw9dGhpcy5fbmVlZEFwcGVhcmFuY2VzJiZ2b2lkIDAhPT1zLmZpZWxkVmFsdWUmJm51bGwhPT1zLmZpZWxkVmFsdWU7Y29uc3QgZz1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJGVCJ9KTtzLmZpZWxkVHlwZT1nIGluc3RhbmNlb2YgTmFtZT9nLm5hbWU6bnVsbDtjb25zdCBvPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkRSIn0pLGM9YS5hY3JvRm9ybS5nZXQoIkRSIiksQz10aGlzLmFwcGVhcmFuY2U/LmRpY3QuZ2V0KCJSZXNvdXJjZXMiKTt0aGlzLl9maWVsZFJlc291cmNlcz17bG9jYWxSZXNvdXJjZXM6byxhY3JvRm9ybVJlc291cmNlczpjLGFwcGVhcmFuY2VSZXNvdXJjZXM6QyxtZXJnZWRSZXNvdXJjZXM6RGljdC5tZXJnZSh7eHJlZjppLGRpY3RBcnJheTpbbyxDLGNdLG1lcmdlU3ViRGljdHM6ITB9KX07cy5maWVsZEZsYWdzPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkZmIn0pOyghTnVtYmVyLmlzSW50ZWdlcihzLmZpZWxkRmxhZ3MpfHxzLmZpZWxkRmxhZ3M8MCkmJihzLmZpZWxkRmxhZ3M9MCk7cy5yZWFkT25seT10aGlzLmhhc0ZpZWxkRmxhZyhpQSk7cy5yZXF1aXJlZD10aGlzLmhhc0ZpZWxkRmxhZyhhQSk7cy5oaWRkZW49dGhpcy5faGFzRmxhZyhzLmFubm90YXRpb25GbGFncyx6KXx8dGhpcy5faGFzRmxhZyhzLmFubm90YXRpb25GbGFncyxBQSl9X2RlY29kZUZvcm1WYWx1ZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmZpbHRlcigoZT0+InN0cmluZyI9PXR5cGVvZiBlKSkubWFwKChlPT5zdHJpbmdUb1BERlN0cmluZyhlKSkpOmUgaW5zdGFuY2VvZiBOYW1lP3N0cmluZ1RvUERGU3RyaW5nKGUubmFtZSk6InN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOm51bGx9aGFzRmllbGRGbGFnKGUpe3JldHVybiEhKHRoaXMuZGF0YS5maWVsZEZsYWdzJmUpfV9pc1ZpZXdhYmxlKGUpe3JldHVybiEwfW11c3RCZVZpZXdlZChlLHQpe3JldHVybiB0P3RoaXMudmlld2FibGU6c3VwZXIubXVzdEJlVmlld2VkKGUsdCkmJiF0aGlzLl9oYXNGbGFnKHRoaXMuZmxhZ3MsQUEpfWdldFJvdGF0aW9uTWF0cml4KGUpe2xldCB0PWU/LmdldCh0aGlzLmRhdGEuaWQpPy5yb3RhdGlvbjt2b2lkIDA9PT10JiYodD10aGlzLnJvdGF0aW9uKTtpZigwPT09dClyZXR1cm4gaTtyZXR1cm4gZ2V0Um90YXRpb25NYXRyaXgodCx0aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSx0aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSl9Z2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKGUpe2xldCB0PWU/LmdldCh0aGlzLmRhdGEuaWQpPy5yb3RhdGlvbjt2b2lkIDA9PT10JiYodD10aGlzLnJvdGF0aW9uKTtpZighdGhpcy5iYWNrZ3JvdW5kQ29sb3ImJiF0aGlzLmJvcmRlckNvbG9yKXJldHVybiIiO2NvbnN0IGk9dGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF0sYT10aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSxzPTA9PT10fHwxODA9PT10P2AwIDAgJHtpfSAke2F9IHJlYDpgMCAwICR7YX0gJHtpfSByZWA7bGV0IHI9IiI7dGhpcy5iYWNrZ3JvdW5kQ29sb3ImJihyPWAke2dldFBkZkNvbG9yKHRoaXMuYmFja2dyb3VuZENvbG9yLCEwKX0gJHtzfSBmIGApO2lmKHRoaXMuYm9yZGVyQ29sb3Ipe3IrPWAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh8fDF9IHcgJHtnZXRQZGZDb2xvcih0aGlzLmJvcmRlckNvbG9yLCExKX0gJHtzfSBTIGB9cmV0dXJuIHJ9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxpLGEpe2lmKGkmaCYmISh0aGlzIGluc3RhbmNlb2YgU2lnbmF0dXJlV2lkZ2V0QW5ub3RhdGlvbikmJiF0aGlzLmRhdGEubm9IVE1MJiYhdGhpcy5kYXRhLmhhc093bkNhbnZhcylyZXR1cm57b3BMaXN0Om5ldyBPcGVyYXRvckxpc3Qsc2VwYXJhdGVGb3JtOiEwLHNlcGFyYXRlQ2FudmFzOiExfTtpZighdGhpcy5faGFzVGV4dClyZXR1cm4gc3VwZXIuZ2V0T3BlcmF0b3JMaXN0KGUsdCxpLGEpO2NvbnN0IHM9YXdhaXQgdGhpcy5fZ2V0QXBwZWFyYW5jZShlLHQsaSxhKTtpZih0aGlzLmFwcGVhcmFuY2UmJm51bGw9PT1zKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGksYSk7Y29uc3Qgcj1uZXcgT3BlcmF0b3JMaXN0O2lmKCF0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZXx8bnVsbD09PXMpcmV0dXJue29wTGlzdDpyLHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX07Y29uc3Qgbj0hISh0aGlzLmRhdGEuaGFzT3duQ2FudmFzJiZpJm8pLGc9WzAsMCx0aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSx0aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXV0sYz1nZXRUcmFuc2Zvcm1NYXRyaXgodGhpcy5kYXRhLnJlY3QsZyxbMSwwLDAsMSwwLDBdKTtsZXQgQzt0aGlzLm9jJiYoQz1hd2FpdCBlLnBhcnNlTWFya2VkQ29udGVudFByb3BzKHRoaXMub2MsbnVsbCkpO3ZvaWQgMCE9PUMmJnIuYWRkT3AoSmUsWyJPQyIsQ10pO3IuYWRkT3AoV2UsW3RoaXMuZGF0YS5pZCx0aGlzLmRhdGEucmVjdCxjLHRoaXMuZ2V0Um90YXRpb25NYXRyaXgoYSksbl0pO2NvbnN0IGw9bmV3IFN0cmluZ1N0cmVhbShzKTthd2FpdCBlLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOmwsdGFzazp0LHJlc291cmNlczp0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMsb3BlcmF0b3JMaXN0OnJ9KTtyLmFkZE9wKGplLFtdKTt2b2lkIDAhPT1DJiZyLmFkZE9wKFllLFtdKTtyZXR1cm57b3BMaXN0OnIsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOm59fV9nZXRNS0RpY3QoZSl7Y29uc3QgdD1uZXcgRGljdChudWxsKTtlJiZ0LnNldCgiUiIsZSk7dGhpcy5ib3JkZXJDb2xvciYmdC5zZXQoIkJDIixnZXRQZGZDb2xvckFycmF5KHRoaXMuYm9yZGVyQ29sb3IpKTt0aGlzLmJhY2tncm91bmRDb2xvciYmdC5zZXQoIkJHIixnZXRQZGZDb2xvckFycmF5KHRoaXMuYmFja2dyb3VuZENvbG9yKSk7cmV0dXJuIHQuc2l6ZT4wP3Q6bnVsbH1hbWVuZFNhdmVkRGljdChlLHQpe31hc3luYyBzYXZlKGUsdCxhKXtjb25zdCBzPWE/LmdldCh0aGlzLmRhdGEuaWQpLHI9dGhpcy5fYnVpbGRGbGFncyhzPy5ub1ZpZXcscz8ubm9QcmludCk7bGV0IG49cz8udmFsdWUsZz1zPy5yb3RhdGlvbjtpZihuPT09dGhpcy5kYXRhLmZpZWxkVmFsdWV8fHZvaWQgMD09PW4pe2lmKCF0aGlzLl9oYXNWYWx1ZUZyb21YRkEmJnZvaWQgMD09PWcmJnZvaWQgMD09PXIpcmV0dXJuIG51bGw7bnx8PXRoaXMuZGF0YS5maWVsZFZhbHVlfWlmKHZvaWQgMD09PWcmJiF0aGlzLl9oYXNWYWx1ZUZyb21YRkEmJkFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkodGhpcy5kYXRhLmZpZWxkVmFsdWUpJiZpc0FycmF5RXF1YWwobix0aGlzLmRhdGEuZmllbGRWYWx1ZSkmJnZvaWQgMD09PXIpcmV0dXJuIG51bGw7dm9pZCAwPT09ZyYmKGc9dGhpcy5yb3RhdGlvbik7bGV0IG89bnVsbDtpZighdGhpcy5fbmVlZEFwcGVhcmFuY2VzKXtvPWF3YWl0IHRoaXMuX2dldEFwcGVhcmFuY2UoZSx0LEMsYSk7aWYobnVsbD09PW8mJnZvaWQgMD09PXIpcmV0dXJuIG51bGx9bGV0IGM9ITE7aWYobz8ubmVlZEFwcGVhcmFuY2VzKXtjPSEwO289bnVsbH1jb25zdHt4cmVmOmh9PWUsbD1oLmZldGNoSWZSZWYodGhpcy5yZWYpO2lmKCEobCBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2NvbnN0IFE9bmV3IERpY3QoaCk7Zm9yKGNvbnN0IGUgb2YgbC5nZXRLZXlzKCkpIkFQIiE9PWUmJlEuc2V0KGUsbC5nZXRSYXcoZSkpO2lmKHZvaWQgMCE9PXIpe1Euc2V0KCJGIixyKTtpZihudWxsPT09byYmIWMpe2NvbnN0IGU9bC5nZXRSYXcoIkFQIik7ZSYmUS5zZXQoIkFQIixlKX19Y29uc3QgRT17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOm59O1Euc2V0KCJWIixBcnJheS5pc0FycmF5KG4pP24ubWFwKHN0cmluZ1RvQXNjaWlPclVURjE2QkUpOnN0cmluZ1RvQXNjaWlPclVURjE2QkUobikpO3RoaXMuYW1lbmRTYXZlZERpY3QoYSxRKTtjb25zdCB1PXRoaXMuX2dldE1LRGljdChnKTt1JiZRLnNldCgiTUsiLHUpO2NvbnN0IGQ9W10sZj1be3JlZjp0aGlzLnJlZixkYXRhOiIiLHhmYTpFLG5lZWRBcHBlYXJhbmNlczpjfV07aWYobnVsbCE9PW8pe2NvbnN0IGU9aC5nZXROZXdUZW1wb3JhcnlSZWYoKSx0PW5ldyBEaWN0KGgpO1Euc2V0KCJBUCIsdCk7dC5zZXQoIk4iLGUpO2NvbnN0IHM9dGhpcy5fZ2V0U2F2ZUZpZWxkUmVzb3VyY2VzKGgpLHI9bmV3IFN0cmluZ1N0cmVhbShvKSxuPXIuZGljdD1uZXcgRGljdChoKTtuLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7bi5zZXQoIlJlc291cmNlcyIscyk7bi5zZXQoIkJCb3giLFswLDAsdGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF0sdGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV1dKTtjb25zdCBnPXRoaXMuZ2V0Um90YXRpb25NYXRyaXgoYSk7ZyE9PWkmJm4uc2V0KCJNYXRyaXgiLGcpO2F3YWl0IHdyaXRlT2JqZWN0KGUscixkLGgpO2YucHVzaCh7cmVmOmUsZGF0YTpkLmpvaW4oIiIpLHhmYTpudWxsLG5lZWRBcHBlYXJhbmNlczohMX0pO2QubGVuZ3RoPTB9US5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2F3YWl0IHdyaXRlT2JqZWN0KHRoaXMucmVmLFEsZCxoKTtmWzBdLmRhdGE9ZC5qb2luKCIiKTtyZXR1cm4gZn1hc3luYyBfZ2V0QXBwZWFyYW5jZShlLHQsaSxhKXtpZih0aGlzLmhhc0ZpZWxkRmxhZyhyQSkpcmV0dXJuIG51bGw7Y29uc3Qgcz1hPy5nZXQodGhpcy5kYXRhLmlkKTtsZXQgcixnO2lmKHMpe3I9cy5mb3JtYXR0ZWRWYWx1ZXx8cy52YWx1ZTtnPXMucm90YXRpb259aWYodm9pZCAwPT09ZyYmdm9pZCAwPT09ciYmIXRoaXMuX25lZWRBcHBlYXJhbmNlcyYmKCF0aGlzLl9oYXNWYWx1ZUZyb21YRkF8fHRoaXMuYXBwZWFyYW5jZSkpcmV0dXJuIG51bGw7Y29uc3Qgbz10aGlzLmdldEJvcmRlckFuZEJhY2tncm91bmRBcHBlYXJhbmNlcyhhKTtpZih2b2lkIDA9PT1yKXtyPXRoaXMuZGF0YS5maWVsZFZhbHVlO2lmKCFyKXJldHVybmAvVHggQk1DIHEgJHtvfVEgRU1DYH1BcnJheS5pc0FycmF5KHIpJiYxPT09ci5sZW5ndGgmJihyPXJbMF0pO2Fzc2VydCgic3RyaW5nIj09dHlwZW9mIHIsIkV4cGVjdGVkIGB2YWx1ZWAgdG8gYmUgYSBzdHJpbmcuIik7cj1yLnRyaW1FbmQoKTtpZih0aGlzLmRhdGEuY29tYm8pe2NvbnN0IGU9dGhpcy5kYXRhLm9wdGlvbnMuZmluZCgoKHtleHBvcnRWYWx1ZTplfSk9PnI9PT1lKSk7cj1lPy5kaXNwbGF5VmFsdWV8fHJ9aWYoIiI9PT1yKXJldHVybmAvVHggQk1DIHEgJHtvfVEgRU1DYDt2b2lkIDA9PT1nJiYoZz10aGlzLnJvdGF0aW9uKTtsZXQgYyxoPS0xO2lmKHRoaXMuZGF0YS5tdWx0aUxpbmUpe2M9ci5zcGxpdCgvXHJcbj98XG4vKS5tYXAoKGU9PmUubm9ybWFsaXplKCJORkMiKSkpO2g9Yy5sZW5ndGh9ZWxzZSBjPVtyLnJlcGxhY2UoL1xyXG4/fFxuLywiIikubm9ybWFsaXplKCJORkMiKV07bGV0IGw9dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0sUT10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXTs5MCE9PWcmJjI3MCE9PWd8fChbUSxsXT1bbCxRXSk7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2V8fCh0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9Ii9IZWx2ZXRpY2EgMCBUZiAwIGciKSk7bGV0IEUsdSxkLGY9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsdGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzKTtjb25zdCBwPVtdO2xldCBtPSExO2Zvcihjb25zdCBlIG9mIGMpe2NvbnN0IHQ9Zi5lbmNvZGVTdHJpbmcoZSk7dC5sZW5ndGg+MSYmKG09ITApO3AucHVzaCh0LmpvaW4oIiIpKX1pZihtJiZpJkMpcmV0dXJue25lZWRBcHBlYXJhbmNlczohMH07aWYobSYmdGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGk9dGhpcy5kYXRhLmNvbWI/Im1vbm9zcGFjZSI6InNhbnMtc2VyaWYiLGE9bmV3IEZha2VVbmljb2RlRm9udChlLnhyZWYsaSkscz1hLmNyZWF0ZUZvbnRSZXNvdXJjZXMoYy5qb2luKCIiKSksbj1zLmdldFJhdygiRm9udCIpO2lmKHRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcy5oYXMoIkZvbnQiKSl7Y29uc3QgZT10aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuZ2V0KCJGb250Iik7Zm9yKGNvbnN0IHQgb2Ygbi5nZXRLZXlzKCkpZS5zZXQodCxuLmdldFJhdyh0KSl9ZWxzZSB0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuc2V0KCJGb250IixuKTtjb25zdCBnPWEuZm9udE5hbWUubmFtZTtmPWF3YWl0IFdpZGdldEFubm90YXRpb24uX2dldEZvbnREYXRhKGUsdCx7Zm9udE5hbWU6Zyxmb250U2l6ZTowfSxzKTtmb3IobGV0IGU9MCx0PXAubGVuZ3RoO2U8dDtlKyspcFtlXT1zdHJpbmdUb1VURjE2U3RyaW5nKGNbZV0pO2NvbnN0IG89T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEpO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemU9MDt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnROYW1lPWc7W0UsdSxkXT10aGlzLl9jb21wdXRlRm9udFNpemUobC0yLFEtNCxyLGYsaCk7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1vfWVsc2V7dGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR8fHdhcm4oIl9nZXRBcHBlYXJhbmNlOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgYW5ub3RhdGlvbiBtYXkgbm90IHJlbmRlciBjb3JyZWN0bHkuIik7W0UsdSxkXT10aGlzLl9jb21wdXRlRm9udFNpemUobC0yLFEtNCxyLGYsaCl9bGV0IHk9Zi5kZXNjZW50O3k9aXNOYU4oeSk/bipkOk1hdGgubWF4KG4qZCxNYXRoLmFicyh5KSp1KTtjb25zdCB3PU1hdGgubWluKE1hdGguZmxvb3IoKGwtdSkvMiksMSksRD10aGlzLmRhdGEudGV4dEFsaWdubWVudDtpZih0aGlzLmRhdGEubXVsdGlMaW5lKXJldHVybiB0aGlzLl9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKEUscCxmLHUsUSxsLEQsMix3LHksZCxhKTtpZih0aGlzLmRhdGEuY29tYilyZXR1cm4gdGhpcy5fZ2V0Q29tYkFwcGVhcmFuY2UoRSxmLHBbMF0sdSxRLGwsMix3LHksZCxhKTtjb25zdCBiPXcreTtpZigwPT09RHx8RD4yKXJldHVybmAvVHggQk1DIHEgJHtvfUJUIGArRStgIDEgMCAwIDEgJHtudW1iZXJUb1N0cmluZygyKX0gJHtudW1iZXJUb1N0cmluZyhiKX0gVG0gKCR7ZXNjYXBlU3RyaW5nKHBbMF0pfSkgVGogRVQgUSBFTUNgO3JldHVybmAvVHggQk1DIHEgJHtvfUJUIGArRStgIDEgMCAwIDEgMCAwIFRtICR7dGhpcy5fcmVuZGVyVGV4dChwWzBdLGYsdSxRLEQse3NoaWZ0OjB9LDIsYil9IEVUIFEgRU1DYH1zdGF0aWMgYXN5bmMgX2dldEZvbnREYXRhKGUsdCxpLGEpe2NvbnN0IHM9bmV3IE9wZXJhdG9yTGlzdCxyPXtmb250Om51bGwsY2xvbmUoKXtyZXR1cm4gdGhpc319LHtmb250TmFtZTpuLGZvbnRTaXplOmd9PWk7YXdhaXQgZS5oYW5kbGVTZXRGb250KGEsW24mJk5hbWUuZ2V0KG4pLGddLG51bGwscyx0LHIsbnVsbCk7cmV0dXJuIHIuZm9udH1fZ2V0VGV4dFdpZHRoKGUsdCl7cmV0dXJuIHQuY2hhcnNUb0dseXBocyhlKS5yZWR1Y2UoKChlLHQpPT5lK3Qud2lkdGgpLDApLzFlM31fY29tcHV0ZUZvbnRTaXplKGUsdCxpLGEscil7bGV0e2ZvbnRTaXplOm59PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsZz0obnx8MTIpKnMsbz1NYXRoLnJvdW5kKGUvZyk7aWYoIW4pe2NvbnN0IHJvdW5kV2l0aFR3b0RpZ2l0cz1lPT5NYXRoLmZsb29yKDEwMCplKS8xMDA7aWYoLTE9PT1yKXtjb25zdCByPXRoaXMuX2dldFRleHRXaWR0aChpLGEpO249cm91bmRXaXRoVHdvRGlnaXRzKE1hdGgubWluKGUvcyx0L3IpKTtvPTF9ZWxzZXtjb25zdCBjPWkuc3BsaXQoL1xyXG4/fFxuLyksQz1bXTtmb3IoY29uc3QgZSBvZiBjKXtjb25zdCB0PWEuZW5jb2RlU3RyaW5nKGUpLmpvaW4oIiIpLGk9YS5jaGFyc1RvR2x5cGhzKHQpLHM9YS5nZXRDaGFyUG9zaXRpb25zKHQpO0MucHVzaCh7bGluZTp0LGdseXBoczppLHBvc2l0aW9uczpzfSl9Y29uc3QgaXNUb29CaWc9aT0+e2xldCBzPTA7Zm9yKGNvbnN0IHIgb2YgQyl7cys9dGhpcy5fc3BsaXRMaW5lKG51bGwsYSxpLHQscikubGVuZ3RoKmk7aWYocz5lKXJldHVybiEwfXJldHVybiExfTtvPU1hdGgubWF4KG8scik7Zm9yKDs7KXtnPWUvbztuPXJvdW5kV2l0aFR3b0RpZ2l0cyhnL3MpO2lmKCFpc1Rvb0JpZyhuKSlicmVhaztvKyt9fWNvbnN0e2ZvbnROYW1lOmMsZm9udENvbG9yOkN9PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9ZnVuY3Rpb24gY3JlYXRlRGVmYXVsdEFwcGVhcmFuY2Uoe2ZvbnRTaXplOmUsZm9udE5hbWU6dCxmb250Q29sb3I6aX0pe3JldHVybmAvJHtlc2NhcGVQREZOYW1lKHQpfSAke2V9IFRmICR7Z2V0UGRmQ29sb3IoaSwhMCl9YH0oe2ZvbnRTaXplOm4sZm9udE5hbWU6Yyxmb250Q29sb3I6Q30pfXJldHVyblt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZSxuLGUvb119X3JlbmRlclRleHQoZSx0LGksYSxzLHIsbixnKXtsZXQgbztpZigxPT09cyl7bz0oYS10aGlzLl9nZXRUZXh0V2lkdGgoZSx0KSppKS8yfWVsc2UgaWYoMj09PXMpe289YS10aGlzLl9nZXRUZXh0V2lkdGgoZSx0KSppLW59ZWxzZSBvPW47Y29uc3QgYz1udW1iZXJUb1N0cmluZyhvLXIuc2hpZnQpO3Iuc2hpZnQ9bztyZXR1cm5gJHtjfSAke2c9bnVtYmVyVG9TdHJpbmcoZyl9IFRkICgke2VzY2FwZVN0cmluZyhlKX0pIFRqYH1fZ2V0U2F2ZUZpZWxkUmVzb3VyY2VzKGUpe2NvbnN0e2xvY2FsUmVzb3VyY2VzOnQsYXBwZWFyYW5jZVJlc291cmNlczppLGFjcm9Gb3JtUmVzb3VyY2VzOmF9PXRoaXMuX2ZpZWxkUmVzb3VyY2VzLHM9dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT8uZm9udE5hbWU7aWYoIXMpcmV0dXJuIHR8fERpY3QuZW1wdHk7Zm9yKGNvbnN0IGUgb2ZbdCxpXSlpZihlIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgdD1lLmdldCgiRm9udCIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0JiZ0LmhhcyhzKSlyZXR1cm4gZX1pZihhIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgaT1hLmdldCgiRm9udCIpO2lmKGkgaW5zdGFuY2VvZiBEaWN0JiZpLmhhcyhzKSl7Y29uc3QgYT1uZXcgRGljdChlKTthLnNldChzLGkuZ2V0UmF3KHMpKTtjb25zdCByPW5ldyBEaWN0KGUpO3Iuc2V0KCJGb250IixhKTtyZXR1cm4gRGljdC5tZXJnZSh7eHJlZjplLGRpY3RBcnJheTpbcix0XSxtZXJnZVN1YkRpY3RzOiEwfSl9fXJldHVybiB0fHxEaWN0LmVtcHR5fWdldEZpZWxkT2JqZWN0KCl7cmV0dXJuIG51bGx9fWNsYXNzIFRleHRXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIlBNRCIpKXt0aGlzLmZsYWdzfD16O3RoaXMuZGF0YS5oaWRkZW49ITA7d2FybigiQmFyY29kZXMgYXJlIG5vdCBzdXBwb3J0ZWQiKX10aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5yZWFkT25seSYmIXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5faGFzVGV4dD0hMDsic3RyaW5nIiE9dHlwZW9mIHRoaXMuZGF0YS5maWVsZFZhbHVlJiYodGhpcy5kYXRhLmZpZWxkVmFsdWU9IiIpO2xldCBpPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IlEifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKGkpfHxpPDB8fGk+MikmJihpPW51bGwpO3RoaXMuZGF0YS50ZXh0QWxpZ25tZW50PWk7bGV0IGE9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiTWF4TGVuIn0pOyghTnVtYmVyLmlzSW50ZWdlcihhKXx8YTwwKSYmKGE9MCk7dGhpcy5kYXRhLm1heExlbj1hO3RoaXMuZGF0YS5tdWx0aUxpbmU9dGhpcy5oYXNGaWVsZEZsYWcoc0EpO3RoaXMuZGF0YS5jb21iPXRoaXMuaGFzRmllbGRGbGFnKGhBKSYmIXRoaXMuaGFzRmllbGRGbGFnKHNBKSYmIXRoaXMuaGFzRmllbGRGbGFnKHJBKSYmIXRoaXMuaGFzRmllbGRGbGFnKElBKSYmMCE9PXRoaXMuZGF0YS5tYXhMZW47dGhpcy5kYXRhLmRvTm90U2Nyb2xsPXRoaXMuaGFzRmllbGRGbGFnKENBKX1nZXQgaGFzVGV4dENvbnRlbnQoKXtyZXR1cm4hIXRoaXMuYXBwZWFyYW5jZSYmIXRoaXMuX25lZWRBcHBlYXJhbmNlc31fZ2V0Q29tYkFwcGVhcmFuY2UoZSx0LGksYSxzLHIsbixnLG8sYyxDKXtjb25zdCBoPXMvdGhpcy5kYXRhLm1heExlbixsPXRoaXMuZ2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKEMpLFE9W10sRT10LmdldENoYXJQb3NpdGlvbnMoaSk7Zm9yKGNvbnN0W2UsdF1vZiBFKVEucHVzaChgKCR7ZXNjYXBlU3RyaW5nKGkuc3Vic3RyaW5nKGUsdCkpfSkgVGpgKTtjb25zdCB1PVEuam9pbihgICR7bnVtYmVyVG9TdHJpbmcoaCl9IDAgVGQgYCk7cmV0dXJuYC9UeCBCTUMgcSAke2x9QlQgYCtlK2AgMSAwIDAgMSAke251bWJlclRvU3RyaW5nKG4pfSAke251bWJlclRvU3RyaW5nKGcrbyl9IFRtICR7dX0gRVQgUSBFTUNgfV9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoKXtjb25zdCBsPVtdLFE9cy0yKmcsRT17c2hpZnQ6MH07Zm9yKGxldCBlPTAscj10Lmxlbmd0aDtlPHI7ZSsrKXtjb25zdCByPXRbZV0saD10aGlzLl9zcGxpdExpbmUocixpLGEsUSk7Zm9yKGxldCB0PTAscj1oLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPWhbdF0sUT0wPT09ZSYmMD09PXQ/LW8tKEMtYyk6LUM7bC5wdXNoKHRoaXMuX3JlbmRlclRleHQocixpLGEscyxuLEUsZyxRKSl9fWNvbnN0IHU9dGhpcy5nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXMoaCksZD1sLmpvaW4oIlxuIik7cmV0dXJuYC9UeCBCTUMgcSAke3V9QlQgYCtlK2AgMSAwIDAgMSAwICR7bnVtYmVyVG9TdHJpbmcocil9IFRtICR7ZH0gRVQgUSBFTUNgfV9zcGxpdExpbmUoZSx0LGksYSxzPXt9KXtlPXMubGluZXx8ZTtjb25zdCByPXMuZ2x5cGhzfHx0LmNoYXJzVG9HbHlwaHMoZSk7aWYoci5sZW5ndGg8PTEpcmV0dXJuW2VdO2NvbnN0IG49cy5wb3NpdGlvbnN8fHQuZ2V0Q2hhclBvc2l0aW9ucyhlKSxnPWkvMWUzLG89W107bGV0IGM9LTEsQz0tMSxoPS0xLGw9MCxRPTA7Zm9yKGxldCB0PTAsaT1yLmxlbmd0aDt0PGk7dCsrKXtjb25zdFtpLHNdPW5bdF0sRT1yW3RdLHU9RS53aWR0aCpnO2lmKCIgIj09PUUudW5pY29kZSlpZihRK3U+YSl7by5wdXNoKGUuc3Vic3RyaW5nKGwsaSkpO2w9aTtRPXU7Yz0tMTtoPS0xfWVsc2V7USs9dTtjPWk7Qz1zO2g9dH1lbHNlIGlmKFErdT5hKWlmKC0xIT09Yyl7by5wdXNoKGUuc3Vic3RyaW5nKGwsQykpO2w9Qzt0PWgrMTtjPS0xO1E9MH1lbHNle28ucHVzaChlLnN1YnN0cmluZyhsLGkpKTtsPWk7UT11fWVsc2UgUSs9dX1sPGUubGVuZ3RoJiZvLnB1c2goZS5zdWJzdHJpbmcobCxlLmxlbmd0aCkpO3JldHVybiBvfWFzeW5jIGV4dHJhY3RUZXh0Q29udGVudChlLHQsaSl7YXdhaXQgc3VwZXIuZXh0cmFjdFRleHRDb250ZW50KGUsdCxpKTtjb25zdCBhPXRoaXMuZGF0YS50ZXh0Q29udGVudDtpZighYSlyZXR1cm47Y29uc3Qgcz1hLmpvaW4oIlxuIik7aWYocz09PXRoaXMuZGF0YS5maWVsZFZhbHVlKXJldHVybjtjb25zdCByPXMucmVwbGFjZUFsbCgvKFsuKis/XiR7fSgpfFtcXVxcXSl8KFxzKykvZywoKGUsdCk9PnQ/YFxcJHt0fWA6IlxccysiKSk7bmV3IFJlZ0V4cChgXlxccyoke3J9XFxzKiRgKS50ZXN0KHRoaXMuZGF0YS5maWVsZFZhbHVlKSYmKHRoaXMuZGF0YS50ZXh0Q29udGVudD10aGlzLmRhdGEuZmllbGRWYWx1ZS5zcGxpdCgiXG4iKSl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlLGRlZmF1bHRWYWx1ZTp0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWV8fCIiLG11bHRpbGluZTp0aGlzLmRhdGEubXVsdGlMaW5lLHBhc3N3b3JkOnRoaXMuaGFzRmllbGRGbGFnKHJBKSxjaGFyTGltaXQ6dGhpcy5kYXRhLm1heExlbixjb21iOnRoaXMuZGF0YS5jb21iLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZToidGV4dCJ9fX1jbGFzcyBCdXR0b25XaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy5kYXRhLmNoZWNrQm94PSF0aGlzLmhhc0ZpZWxkRmxhZyhuQSkmJiF0aGlzLmhhc0ZpZWxkRmxhZyhnQSk7dGhpcy5kYXRhLnJhZGlvQnV0dG9uPXRoaXMuaGFzRmllbGRGbGFnKG5BKSYmIXRoaXMuaGFzRmllbGRGbGFnKGdBKTt0aGlzLmRhdGEucHVzaEJ1dHRvbj10aGlzLmhhc0ZpZWxkRmxhZyhnQSk7dGhpcy5kYXRhLmlzVG9vbHRpcE9ubHk9ITE7aWYodGhpcy5kYXRhLmNoZWNrQm94KXRoaXMuX3Byb2Nlc3NDaGVja0JveChlKTtlbHNlIGlmKHRoaXMuZGF0YS5yYWRpb0J1dHRvbil0aGlzLl9wcm9jZXNzUmFkaW9CdXR0b24oZSk7ZWxzZSBpZih0aGlzLmRhdGEucHVzaEJ1dHRvbil7dGhpcy5kYXRhLmhhc093bkNhbnZhcz0hMDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuX3Byb2Nlc3NQdXNoQnV0dG9uKGUpfWVsc2Ugd2FybigiSW52YWxpZCBmaWVsZCBmbGFncyBmb3IgYnV0dG9uIHdpZGdldCBhbm5vdGF0aW9uIil9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpe2lmKHRoaXMuZGF0YS5wdXNoQnV0dG9uKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEsITEscyk7bGV0IHI9bnVsbCxuPW51bGw7aWYocyl7Y29uc3QgZT1zLmdldCh0aGlzLmRhdGEuaWQpO3I9ZT9lLnZhbHVlOm51bGw7bj1lP2Uucm90YXRpb246bnVsbH1pZihudWxsPT09ciYmdGhpcy5hcHBlYXJhbmNlKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEscyk7bnVsbD09ciYmKHI9dGhpcy5kYXRhLmNoZWNrQm94P3RoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlKTtjb25zdCBnPXI/dGhpcy5jaGVja2VkQXBwZWFyYW5jZTp0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U7aWYoZyl7Y29uc3Qgcj10aGlzLmFwcGVhcmFuY2Usbz1sb29rdXBNYXRyaXgoZy5kaWN0LmdldEFycmF5KCJNYXRyaXgiKSxpKTtuJiZnLmRpY3Quc2V0KCJNYXRyaXgiLHRoaXMuZ2V0Um90YXRpb25NYXRyaXgocykpO3RoaXMuYXBwZWFyYW5jZT1nO2NvbnN0IGM9c3VwZXIuZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpO3RoaXMuYXBwZWFyYW5jZT1yO2cuZGljdC5zZXQoIk1hdHJpeCIsbyk7cmV0dXJuIGN9cmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX19YXN5bmMgc2F2ZShlLHQsaSl7cmV0dXJuIHRoaXMuZGF0YS5jaGVja0JveD90aGlzLl9zYXZlQ2hlY2tib3goZSx0LGkpOnRoaXMuZGF0YS5yYWRpb0J1dHRvbj90aGlzLl9zYXZlUmFkaW9CdXR0b24oZSx0LGkpOm51bGx9YXN5bmMgX3NhdmVDaGVja2JveChlLHQsaSl7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3QgYT1pLmdldCh0aGlzLmRhdGEuaWQpLHM9dGhpcy5fYnVpbGRGbGFncyhhPy5ub1ZpZXcsYT8ubm9QcmludCk7bGV0IHI9YT8ucm90YXRpb24sbj1hPy52YWx1ZTtpZih2b2lkIDA9PT1yJiZ2b2lkIDA9PT1zKXtpZih2b2lkIDA9PT1uKXJldHVybiBudWxsO2lmKHRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlPT09bilyZXR1cm4gbnVsbH1sZXQgZz1lLnhyZWYuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShnIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Zz1nLmNsb25lKCk7dm9pZCAwPT09ciYmKHI9dGhpcy5yb3RhdGlvbik7dm9pZCAwPT09biYmKG49dGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuZXhwb3J0VmFsdWUpO2NvbnN0IG89e3BhdGg6dGhpcy5kYXRhLmZpZWxkTmFtZSx2YWx1ZTpuP3RoaXMuZGF0YS5leHBvcnRWYWx1ZToiIn0sYz1OYW1lLmdldChuP3RoaXMuZGF0YS5leHBvcnRWYWx1ZToiT2ZmIik7Zy5zZXQoIlYiLGMpO2cuc2V0KCJBUyIsYyk7Zy5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO3ZvaWQgMCE9PXMmJmcuc2V0KCJGIixzKTtjb25zdCBDPXRoaXMuX2dldE1LRGljdChyKTtDJiZnLnNldCgiTUsiLEMpO2NvbnN0IGg9W107YXdhaXQgd3JpdGVPYmplY3QodGhpcy5yZWYsZyxoLGUueHJlZik7cmV0dXJuW3tyZWY6dGhpcy5yZWYsZGF0YTpoLmpvaW4oIiIpLHhmYTpvfV19YXN5bmMgX3NhdmVSYWRpb0J1dHRvbihlLHQsaSl7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3QgYT1pLmdldCh0aGlzLmRhdGEuaWQpLHM9dGhpcy5fYnVpbGRGbGFncyhhPy5ub1ZpZXcsYT8ubm9QcmludCk7bGV0IHI9YT8ucm90YXRpb24sbj1hPy52YWx1ZTtpZih2b2lkIDA9PT1yJiZ2b2lkIDA9PT1zKXtpZih2b2lkIDA9PT1uKXJldHVybiBudWxsO2lmKHRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlPT09bilyZXR1cm4gbnVsbH1sZXQgZz1lLnhyZWYuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShnIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Zz1nLmNsb25lKCk7dm9pZCAwPT09biYmKG49dGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuYnV0dG9uVmFsdWUpO3ZvaWQgMD09PXImJihyPXRoaXMucm90YXRpb24pO2NvbnN0IG89e3BhdGg6dGhpcy5kYXRhLmZpZWxkTmFtZSx2YWx1ZTpuP3RoaXMuZGF0YS5idXR0b25WYWx1ZToiIn0sYz1OYW1lLmdldChuP3RoaXMuZGF0YS5idXR0b25WYWx1ZToiT2ZmIiksQz1bXTtsZXQgaD1udWxsO2lmKG4paWYodGhpcy5wYXJlbnQgaW5zdGFuY2VvZiBSZWYpe2NvbnN0IHQ9ZS54cmVmLmZldGNoKHRoaXMucGFyZW50KTt0LnNldCgiViIsYyk7YXdhaXQgd3JpdGVPYmplY3QodGhpcy5wYXJlbnQsdCxDLGUueHJlZik7aD1DLmpvaW4oIiIpO0MubGVuZ3RoPTB9ZWxzZSB0aGlzLnBhcmVudCBpbnN0YW5jZW9mIERpY3QmJnRoaXMucGFyZW50LnNldCgiViIsYyk7dGhpcy5wYXJlbnR8fGcuc2V0KCJWIixjKTtnLnNldCgiQVMiLGMpO2cuc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTt2b2lkIDAhPT1zJiZnLnNldCgiRiIscyk7Y29uc3QgbD10aGlzLl9nZXRNS0RpY3Qocik7bCYmZy5zZXQoIk1LIixsKTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnJlZixnLEMsZS54cmVmKTtjb25zdCBRPVt7cmVmOnRoaXMucmVmLGRhdGE6Qy5qb2luKCIiKSx4ZmE6b31dO2gmJlEucHVzaCh7cmVmOnRoaXMucGFyZW50LGRhdGE6aCx4ZmE6bnVsbH0pO3JldHVybiBRfV9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UoZSx0KXtjb25zdCBpPXRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdLGE9dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0scz1bMCwwLGksYV0scj0uOCpNYXRoLm1pbihpLGEpO2xldCBuLGc7aWYoImNoZWNrIj09PXQpe249e3dpZHRoOi43NTUqcixoZWlnaHQ6LjcwNSpyfTtnPSIzIn1lbHNlIGlmKCJkaXNjIj09PXQpe249e3dpZHRoOi43OTEqcixoZWlnaHQ6LjcwNSpyfTtnPSJsIn1lbHNlIHVucmVhY2hhYmxlKGBfZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlIC0gdW5zdXBwb3J0ZWQgdHlwZTogJHt0fWApO2NvbnN0IG89YHEgQlQgL1BkZkpzWmFEYiAke3J9IFRmIDAgZyAke251bWJlclRvU3RyaW5nKChpLW4ud2lkdGgpLzIpfSAke251bWJlclRvU3RyaW5nKChhLW4uaGVpZ2h0KS8yKX0gVGQgKCR7Z30pIFRqIEVUIFFgLGM9bmV3IERpY3QoZS54cmVmKTtjLnNldCgiRm9ybVR5cGUiLDEpO2Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtjLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Yy5zZXQoIkJCb3giLHMpO2Muc2V0KCJNYXRyaXgiLFsxLDAsMCwxLDAsMF0pO2Muc2V0KCJMZW5ndGgiLG8ubGVuZ3RoKTtjb25zdCBDPW5ldyBEaWN0KGUueHJlZiksaD1uZXcgRGljdChlLnhyZWYpO2guc2V0KCJQZGZKc1phRGIiLHRoaXMuZmFsbGJhY2tGb250RGljdCk7Qy5zZXQoIkZvbnQiLGgpO2Muc2V0KCJSZXNvdXJjZXMiLEMpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9bmV3IFN0cmluZ1N0cmVhbShvKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlLmRpY3Q9Yzt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSl9X3Byb2Nlc3NDaGVja0JveChlKXtjb25zdCB0PWUuZGljdC5nZXQoIkFQIik7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IGk9dC5nZXQoIk4iKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT10aGlzLl9kZWNvZGVGb3JtVmFsdWUoZS5kaWN0LmdldCgiQVMiKSk7InN0cmluZyI9PXR5cGVvZiBhJiYodGhpcy5kYXRhLmZpZWxkVmFsdWU9YSk7Y29uc3Qgcz1udWxsIT09dGhpcy5kYXRhLmZpZWxkVmFsdWUmJiJPZmYiIT09dGhpcy5kYXRhLmZpZWxkVmFsdWU/dGhpcy5kYXRhLmZpZWxkVmFsdWU6IlllcyIscj1pLmdldEtleXMoKTtpZigwPT09ci5sZW5ndGgpci5wdXNoKCJPZmYiLHMpO2Vsc2UgaWYoMT09PXIubGVuZ3RoKSJPZmYiPT09clswXT9yLnB1c2gocyk6ci51bnNoaWZ0KCJPZmYiKTtlbHNlIGlmKHIuaW5jbHVkZXMocykpe3IubGVuZ3RoPTA7ci5wdXNoKCJPZmYiLHMpfWVsc2V7Y29uc3QgZT1yLmZpbmQoKGU9PiJPZmYiIT09ZSkpO3IubGVuZ3RoPTA7ci5wdXNoKCJPZmYiLGUpfXIuaW5jbHVkZXModGhpcy5kYXRhLmZpZWxkVmFsdWUpfHwodGhpcy5kYXRhLmZpZWxkVmFsdWU9Ik9mZiIpO3RoaXMuZGF0YS5leHBvcnRWYWx1ZT1yWzFdO2NvbnN0IG49aS5nZXQodGhpcy5kYXRhLmV4cG9ydFZhbHVlKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlPW4gaW5zdGFuY2VvZiBCYXNlU3RyZWFtP246bnVsbDtjb25zdCBnPWkuZ2V0KCJPZmYiKTt0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U9ZyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZzpudWxsO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U/dGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMuY2hlY2tlZEFwcGVhcmFuY2UpOnRoaXMuX2dldERlZmF1bHRDaGVja2VkQXBwZWFyYW5jZShlLCJjaGVjayIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMudW5jaGVja2VkQXBwZWFyYW5jZSk7dGhpcy5fZmFsbGJhY2tGb250RGljdD10aGlzLmZhbGxiYWNrRm9udERpY3Q7bnVsbD09PXRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSYmKHRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZT0iT2ZmIil9X3Byb2Nlc3NSYWRpb0J1dHRvbihlKXt0aGlzLmRhdGEuYnV0dG9uVmFsdWU9bnVsbDtjb25zdCB0PWUuZGljdC5nZXQoIlBhcmVudCIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0KXt0aGlzLnBhcmVudD1lLmRpY3QuZ2V0UmF3KCJQYXJlbnQiKTtjb25zdCBpPXQuZ2V0KCJWIik7aSBpbnN0YW5jZW9mIE5hbWUmJih0aGlzLmRhdGEuZmllbGRWYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUoaSkpfWNvbnN0IGk9ZS5kaWN0LmdldCgiQVAiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT1pLmdldCgiTiIpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtmb3IoY29uc3QgZSBvZiBhLmdldEtleXMoKSlpZigiT2ZmIiE9PWUpe3RoaXMuZGF0YS5idXR0b25WYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUoZSk7YnJlYWt9Y29uc3Qgcz1hLmdldCh0aGlzLmRhdGEuYnV0dG9uVmFsdWUpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9cyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/czpudWxsO2NvbnN0IHI9YS5nZXQoIk9mZiIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZT1yIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9yOm51bGw7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT90aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSk6dGhpcy5fZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlKGUsImRpc2MiKTt0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2UmJnRoaXMuX3N0cmVhbXMucHVzaCh0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2UpO3RoaXMuX2ZhbGxiYWNrRm9udERpY3Q9dGhpcy5mYWxsYmFja0ZvbnREaWN0O251bGw9PT10aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWUmJih0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWU9Ik9mZiIpfV9wcm9jZXNzUHVzaEJ1dHRvbihlKXtjb25zdHtkaWN0OnQsYW5ub3RhdGlvbkdsb2JhbHM6aX09ZTtpZih0LmhhcygiQSIpfHx0LmhhcygiQUEiKXx8dGhpcy5kYXRhLmFsdGVybmF0aXZlVGV4dCl7dGhpcy5kYXRhLmlzVG9vbHRpcE9ubHk9IXQuaGFzKCJBIikmJiF0LmhhcygiQUEiKTtDYXRhbG9nLnBhcnNlRGVzdERpY3Rpb25hcnkoe2Rlc3REaWN0OnQscmVzdWx0T2JqOnRoaXMuZGF0YSxkb2NCYXNlVXJsOmkuYmFzZVVybCxkb2NBdHRhY2htZW50czppLmF0dGFjaG1lbnRzfSl9ZWxzZSB3YXJuKCJQdXNoIGJ1dHRvbnMgd2l0aG91dCBhY3Rpb24gZGljdGlvbmFyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIil9Z2V0RmllbGRPYmplY3QoKXtsZXQgZSx0PSJidXR0b24iO2lmKHRoaXMuZGF0YS5jaGVja0JveCl7dD0iY2hlY2tib3giO2U9dGhpcy5kYXRhLmV4cG9ydFZhbHVlfWVsc2UgaWYodGhpcy5kYXRhLnJhZGlvQnV0dG9uKXt0PSJyYWRpb2J1dHRvbiI7ZT10aGlzLmRhdGEuYnV0dG9uVmFsdWV9cmV0dXJue2lkOnRoaXMuZGF0YS5pZCx2YWx1ZTp0aGlzLmRhdGEuZmllbGRWYWx1ZXx8Ik9mZiIsZGVmYXVsdFZhbHVlOnRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSxleHBvcnRWYWx1ZXM6ZSxlZGl0YWJsZTohdGhpcy5kYXRhLnJlYWRPbmx5LG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxyZWN0OnRoaXMuZGF0YS5yZWN0LGhpZGRlbjp0aGlzLmRhdGEuaGlkZGVuLGFjdGlvbnM6dGhpcy5kYXRhLmFjdGlvbnMscGFnZTp0aGlzLmRhdGEucGFnZUluZGV4LHN0cm9rZUNvbG9yOnRoaXMuZGF0YS5ib3JkZXJDb2xvcixmaWxsQ29sb3I6dGhpcy5kYXRhLmJhY2tncm91bmRDb2xvcixyb3RhdGlvbjp0aGlzLnJvdGF0aW9uLHR5cGU6dH19Z2V0IGZhbGxiYWNrRm9udERpY3QoKXtjb25zdCBlPW5ldyBEaWN0O2Uuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoIlphcGZEaW5nYmF0cyIpKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJaYXBmRGluZ2JhdHNFbmNvZGluZyIpKTtyZXR1cm4gc2hhZG93KHRoaXMsImZhbGxiYWNrRm9udERpY3QiLGUpfX1jbGFzcyBDaG9pY2VXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuaW5kaWNlcz10LmdldEFycmF5KCJJIik7dGhpcy5oYXNJbmRpY2VzPUFycmF5LmlzQXJyYXkodGhpcy5pbmRpY2VzKSYmdGhpcy5pbmRpY2VzLmxlbmd0aD4wO3RoaXMuZGF0YS5vcHRpb25zPVtdO2NvbnN0IGE9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiT3B0In0pO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PWkuZmV0Y2hJZlJlZihhW2VdKSxzPUFycmF5LmlzQXJyYXkodCk7dGhpcy5kYXRhLm9wdGlvbnNbZV09e2V4cG9ydFZhbHVlOnRoaXMuX2RlY29kZUZvcm1WYWx1ZShzP2kuZmV0Y2hJZlJlZih0WzBdKTp0KSxkaXNwbGF5VmFsdWU6dGhpcy5fZGVjb2RlRm9ybVZhbHVlKHM/aS5mZXRjaElmUmVmKHRbMV0pOnQpfX1pZih0aGlzLmhhc0luZGljZXMpe3RoaXMuZGF0YS5maWVsZFZhbHVlPVtdO2NvbnN0IGU9dGhpcy5kYXRhLm9wdGlvbnMubGVuZ3RoO2Zvcihjb25zdCB0IG9mIHRoaXMuaW5kaWNlcylOdW1iZXIuaXNJbnRlZ2VyKHQpJiZ0Pj0wJiZ0PGUmJnRoaXMuZGF0YS5maWVsZFZhbHVlLnB1c2godGhpcy5kYXRhLm9wdGlvbnNbdF0uZXhwb3J0VmFsdWUpfWVsc2Uic3RyaW5nIj09dHlwZW9mIHRoaXMuZGF0YS5maWVsZFZhbHVlP3RoaXMuZGF0YS5maWVsZFZhbHVlPVt0aGlzLmRhdGEuZmllbGRWYWx1ZV06dGhpcy5kYXRhLmZpZWxkVmFsdWV8fCh0aGlzLmRhdGEuZmllbGRWYWx1ZT1bXSk7dGhpcy5kYXRhLmNvbWJvPXRoaXMuaGFzRmllbGRGbGFnKG9BKTt0aGlzLmRhdGEubXVsdGlTZWxlY3Q9dGhpcy5oYXNGaWVsZEZsYWcoY0EpO3RoaXMuX2hhc1RleHQ9ITB9Z2V0RmllbGRPYmplY3QoKXtjb25zdCBlPXRoaXMuZGF0YS5jb21ibz8iY29tYm9ib3giOiJsaXN0Ym94Iix0PXRoaXMuZGF0YS5maWVsZFZhbHVlLmxlbmd0aD4wP3RoaXMuZGF0YS5maWVsZFZhbHVlWzBdOm51bGw7cmV0dXJue2lkOnRoaXMuZGF0YS5pZCx2YWx1ZTp0LGRlZmF1bHRWYWx1ZTp0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWUsZWRpdGFibGU6IXRoaXMuZGF0YS5yZWFkT25seSxuYW1lOnRoaXMuZGF0YS5maWVsZE5hbWUscmVjdDp0aGlzLmRhdGEucmVjdCxudW1JdGVtczp0aGlzLmRhdGEuZmllbGRWYWx1ZS5sZW5ndGgsbXVsdGlwbGVTZWxlY3Rpb246dGhpcy5kYXRhLm11bHRpU2VsZWN0LGhpZGRlbjp0aGlzLmRhdGEuaGlkZGVuLGFjdGlvbnM6dGhpcy5kYXRhLmFjdGlvbnMsaXRlbXM6dGhpcy5kYXRhLm9wdGlvbnMscGFnZTp0aGlzLmRhdGEucGFnZUluZGV4LHN0cm9rZUNvbG9yOnRoaXMuZGF0YS5ib3JkZXJDb2xvcixmaWxsQ29sb3I6dGhpcy5kYXRhLmJhY2tncm91bmRDb2xvcixyb3RhdGlvbjp0aGlzLnJvdGF0aW9uLHR5cGU6ZX19YW1lbmRTYXZlZERpY3QoZSx0KXtpZighdGhpcy5oYXNJbmRpY2VzKXJldHVybjtsZXQgaT1lPy5nZXQodGhpcy5kYXRhLmlkKT8udmFsdWU7QXJyYXkuaXNBcnJheShpKXx8KGk9W2ldKTtjb25zdCBhPVtdLHtvcHRpb25zOnN9PXRoaXMuZGF0YTtmb3IobGV0IGU9MCx0PTAscj1zLmxlbmd0aDtlPHI7ZSsrKWlmKHNbZV0uZXhwb3J0VmFsdWU9PT1pW3RdKXthLnB1c2goZSk7dCs9MX10LnNldCgiSSIsYSl9YXN5bmMgX2dldEFwcGVhcmFuY2UoZSx0LGksYSl7aWYodGhpcy5kYXRhLmNvbWJvKXJldHVybiBzdXBlci5fZ2V0QXBwZWFyYW5jZShlLHQsaSxhKTtsZXQgcixuO2NvbnN0IGc9YT8uZ2V0KHRoaXMuZGF0YS5pZCk7aWYoZyl7bj1nLnJvdGF0aW9uO3I9Zy52YWx1ZX1pZih2b2lkIDA9PT1uJiZ2b2lkIDA9PT1yJiYhdGhpcy5fbmVlZEFwcGVhcmFuY2VzKXJldHVybiBudWxsO3ZvaWQgMD09PXI/cj10aGlzLmRhdGEuZmllbGRWYWx1ZTpBcnJheS5pc0FycmF5KHIpfHwocj1bcl0pO2xldCBvPXRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdLGM9dGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF07OTAhPT1uJiYyNzAhPT1ufHwoW2Msb109W28sY10pO2NvbnN0IEM9dGhpcy5kYXRhLm9wdGlvbnMubGVuZ3RoLGg9W107Zm9yKGxldCBlPTA7ZTxDO2UrKyl7Y29uc3R7ZXhwb3J0VmFsdWU6dH09dGhpcy5kYXRhLm9wdGlvbnNbZV07ci5pbmNsdWRlcyh0KSYmaC5wdXNoKGUpfXRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlfHwodGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1wYXJzZURlZmF1bHRBcHBlYXJhbmNlKHRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlPSIvSGVsdmV0aWNhIDAgVGYgMCBnIikpO2NvbnN0IGw9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsdGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzKTtsZXQgUSx7Zm9udFNpemU6RX09dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YTtpZihFKVE9dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U7ZWxzZXtjb25zdCBlPShvLTEpL0M7bGV0IHQsaT0tMTtmb3IoY29uc3R7ZGlzcGxheVZhbHVlOmV9b2YgdGhpcy5kYXRhLm9wdGlvbnMpe2NvbnN0IGE9dGhpcy5fZ2V0VGV4dFdpZHRoKGUsbCk7aWYoYT5pKXtpPWE7dD1lfX1bUSxFXT10aGlzLl9jb21wdXRlRm9udFNpemUoZSxjLTQsdCxsLC0xKX1jb25zdCB1PUUqcyxkPSh1LUUpLzIsZj1NYXRoLmZsb29yKG8vdSk7bGV0IHA9MDtpZihoLmxlbmd0aD4wKXtjb25zdCBlPU1hdGgubWluKC4uLmgpLHQ9TWF0aC5tYXgoLi4uaCk7cD1NYXRoLm1heCgwLHQtZisxKTtwPmUmJihwPWUpfWNvbnN0IG09TWF0aC5taW4ocCtmKzEsQykseT1bIi9UeCBCTUMgcSIsYDEgMSAke2N9ICR7b30gcmUgVyBuYF07aWYoaC5sZW5ndGgpe3kucHVzaCgiMC42MDAwMDYgMC43NTY4NjYgMC44NTQ5MDQgcmciKTtmb3IoY29uc3QgZSBvZiBoKXA8PWUmJmU8bSYmeS5wdXNoKGAxICR7by0oZS1wKzEpKnV9ICR7Y30gJHt1fSByZSBmYCl9eS5wdXNoKCJCVCIsUSxgMSAwIDAgMSAwICR7b30gVG1gKTtjb25zdCB3PXtzaGlmdDowfTtmb3IobGV0IGU9cDtlPG07ZSsrKXtjb25zdHtkaXNwbGF5VmFsdWU6dH09dGhpcy5kYXRhLm9wdGlvbnNbZV0saT1lPT09cD9kOjA7eS5wdXNoKHRoaXMuX3JlbmRlclRleHQodCxsLEUsYywwLHcsMiwtdStpKSl9eS5wdXNoKCJFVCBRIEVNQyIpO3JldHVybiB5LmpvaW4oIlxuIil9fWNsYXNzIFNpZ25hdHVyZVdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5maWVsZFZhbHVlPW51bGw7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hdGhpcy5kYXRhLmhhc093bkNhbnZhc31nZXRGaWVsZE9iamVjdCgpe3JldHVybntpZDp0aGlzLmRhdGEuaWQsdmFsdWU6bnVsbCxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsdHlwZToic2lnbmF0dXJlIn19fWNsYXNzIFRleHRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEubm9Sb3RhdGU9ITA7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdHtkaWN0OnR9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPWs7aWYodGhpcy5kYXRhLmhhc0FwcGVhcmFuY2UpdGhpcy5kYXRhLm5hbWU9Ik5vSWNvbiI7ZWxzZXt0aGlzLmRhdGEucmVjdFsxXT10aGlzLmRhdGEucmVjdFszXS0yMjt0aGlzLmRhdGEucmVjdFsyXT10aGlzLmRhdGEucmVjdFswXSsyMjt0aGlzLmRhdGEubmFtZT10LmhhcygiTmFtZSIpP3QuZ2V0KCJOYW1lIikubmFtZToiTm90ZSJ9aWYodC5oYXMoIlN0YXRlIikpe3RoaXMuZGF0YS5zdGF0ZT10LmdldCgiU3RhdGUiKXx8bnVsbDt0aGlzLmRhdGEuc3RhdGVNb2RlbD10LmdldCgiU3RhdGVNb2RlbCIpfHxudWxsfWVsc2V7dGhpcy5kYXRhLnN0YXRlPW51bGw7dGhpcy5kYXRhLnN0YXRlTW9kZWw9bnVsbH19fWNsYXNzIExpbmtBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQsYW5ub3RhdGlvbkdsb2JhbHM6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Ujt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0IGE9Z2V0UXVhZFBvaW50cyh0LHRoaXMucmVjdGFuZ2xlKTthJiYodGhpcy5kYXRhLnF1YWRQb2ludHM9YSk7dGhpcy5kYXRhLmJvcmRlckNvbG9yfHw9dGhpcy5kYXRhLmNvbG9yO0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6dCxyZXN1bHRPYmo6dGhpcy5kYXRhLGRvY0Jhc2VVcmw6aS5iYXNlVXJsLGRvY0F0dGFjaG1lbnRzOmkuYXR0YWNobWVudHN9KX19Y2xhc3MgUG9wdXBBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPU87dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEucmVjdFswXSE9PXRoaXMuZGF0YS5yZWN0WzJdJiZ0aGlzLmRhdGEucmVjdFsxXSE9PXRoaXMuZGF0YS5yZWN0WzNdfHwodGhpcy5kYXRhLnJlY3Q9bnVsbCk7bGV0IGk9dC5nZXQoIlBhcmVudCIpO2lmKCFpKXt3YXJuKCJQb3B1cCBhbm5vdGF0aW9uIGhhcyBhIG1pc3Npbmcgb3IgaW52YWxpZCBwYXJlbnQgYW5ub3RhdGlvbi4iKTtyZXR1cm59dGhpcy5kYXRhLnBhcmVudFJlY3Q9bG9va3VwTm9ybWFsUmVjdChpLmdldEFycmF5KCJSZWN0IiksbnVsbCk7aXNOYW1lKGkuZ2V0KCJSVCIpLFgpJiYoaT1pLmdldCgiSVJUIikpO2lmKGkuaGFzKCJNIikpe3RoaXMuc2V0TW9kaWZpY2F0aW9uRGF0ZShpLmdldCgiTSIpKTt0aGlzLmRhdGEubW9kaWZpY2F0aW9uRGF0ZT10aGlzLm1vZGlmaWNhdGlvbkRhdGV9ZWxzZSB0aGlzLmRhdGEubW9kaWZpY2F0aW9uRGF0ZT1udWxsO2lmKGkuaGFzKCJDIikpe3RoaXMuc2V0Q29sb3IoaS5nZXRBcnJheSgiQyIpKTt0aGlzLmRhdGEuY29sb3I9dGhpcy5jb2xvcn1lbHNlIHRoaXMuZGF0YS5jb2xvcj1udWxsO2lmKCF0aGlzLnZpZXdhYmxlKXtjb25zdCBlPWkuZ2V0KCJGIik7dGhpcy5faXNWaWV3YWJsZShlKSYmdGhpcy5zZXRGbGFncyhlKX10aGlzLnNldFRpdGxlKGkuZ2V0KCJUIikpO3RoaXMuZGF0YS50aXRsZU9iaj10aGlzLl90aXRsZTt0aGlzLnNldENvbnRlbnRzKGkuZ2V0KCJDb250ZW50cyIpKTt0aGlzLmRhdGEuY29udGVudHNPYmo9dGhpcy5fY29udGVudHM7aS5oYXMoIlJDIikmJih0aGlzLmRhdGEucmljaFRleHQ9WEZBRmFjdG9yeS5nZXRSaWNoVGV4dEFzSHRtbChpLmdldCgiUkMiKSkpO3RoaXMuZGF0YS5vcGVuPSEhdC5nZXQoIk9wZW4iKX19Y2xhc3MgRnJlZVRleHRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTDt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0e2V2YWx1YXRvck9wdGlvbnM6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPU47dGhpcy5zZXREZWZhdWx0QXBwZWFyYW5jZShlKTt0aGlzLl9oYXNBcHBlYXJhbmNlPSEhdGhpcy5hcHBlYXJhbmNlO2lmKHRoaXMuX2hhc0FwcGVhcmFuY2Upe2NvbnN0e2ZvbnRDb2xvcjplLGZvbnRTaXplOmF9PWZ1bmN0aW9uIHBhcnNlQXBwZWFyYW5jZVN0cmVhbShlLHQsaSl7cmV0dXJuIG5ldyBBcHBlYXJhbmNlU3RyZWFtRXZhbHVhdG9yKGUsdCxpKS5wYXJzZSgpfSh0aGlzLmFwcGVhcmFuY2UsdCxpKTt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnRDb2xvcj1lO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemU9YXx8MTB9ZWxzZXt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnRTaXplfHw9MTA7Y29uc3R7Zm9udENvbG9yOnQsZm9udFNpemU6YX09dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YTtpZih0aGlzLl9jb250ZW50cy5zdHIpe3RoaXMuZGF0YS50ZXh0Q29udGVudD10aGlzLl9jb250ZW50cy5zdHIuc3BsaXQoL1xyXG4/fFxuLykubWFwKChlPT5lLnRyaW1FbmQoKSkpO2NvbnN0e2Nvb3JkczplLGJib3g6dCxtYXRyaXg6aX09RmFrZVVuaWNvZGVGb250LmdldEZpcnN0UG9zaXRpb25JbmZvKHRoaXMucmVjdGFuZ2xlLHRoaXMucm90YXRpb24sYSk7dGhpcy5kYXRhLnRleHRQb3NpdGlvbj10aGlzLl90cmFuc2Zvcm1Qb2ludChlLHQsaSl9aWYodGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IHM9ZS5kaWN0LmdldCgiQ0EiKSxyPW5ldyBGYWtlVW5pY29kZUZvbnQoaSwic2Fucy1zZXJpZiIpO3RoaXMuYXBwZWFyYW5jZT1yLmNyZWF0ZUFwcGVhcmFuY2UodGhpcy5fY29udGVudHMuc3RyLHRoaXMucmVjdGFuZ2xlLHRoaXMucm90YXRpb24sYSx0LHMpO3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmFwcGVhcmFuY2UpfWVsc2Ugd2FybigiRnJlZVRleHRBbm5vdGF0aW9uOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgYW5ub3RhdGlvbiBtYXkgbm90IHJlbmRlciBjb3JyZWN0bHkuIil9fWdldCBoYXNUZXh0Q29udGVudCgpe3JldHVybiB0aGlzLl9oYXNBcHBlYXJhbmNlfXN0YXRpYyBjcmVhdGVOZXdEaWN0KGUsdCx7YXBSZWY6aSxhcDphfSl7Y29uc3R7Y29sb3I6cyxmb250U2l6ZTpyLG9sZEFubm90YXRpb246bixyZWN0Omcscm90YXRpb246byx1c2VyOmMsdmFsdWU6Q309ZSxoPW58fG5ldyBEaWN0KHQpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGcmVlVGV4dCIpKTtpZihuKXtoLnNldCgiTSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5kZWxldGUoIlJDIil9ZWxzZSBoLnNldCgiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtoLnNldCgiUmVjdCIsZyk7Y29uc3QgbD1gL0hlbHYgJHtyfSBUZiAke2dldFBkZkNvbG9yKHMsITApfWA7aC5zZXQoIkRBIixsKTtoLnNldCgiQ29udGVudHMiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoQykpO2guc2V0KCJGIiw0KTtoLnNldCgiQm9yZGVyIixbMCwwLDBdKTtoLnNldCgiUm90YXRlIixvKTtjJiZoLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShjKSk7aWYoaXx8YSl7Y29uc3QgZT1uZXcgRGljdCh0KTtoLnNldCgiQVAiLGUpO2k/ZS5zZXQoIk4iLGkpOmUuc2V0KCJOIixhKX1yZXR1cm4gaH1zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShlLHQsaSl7Y29uc3R7YmFzZUZvbnRSZWY6YSxldmFsdWF0b3I6cix0YXNrOm59PWkse2NvbG9yOmcsZm9udFNpemU6byxyZWN0OmMscm90YXRpb246Qyx2YWx1ZTpofT1lLGw9bmV3IERpY3QodCksUT1uZXcgRGljdCh0KTtpZihhKVEuc2V0KCJIZWx2IixhKTtlbHNle2NvbnN0IGU9bmV3IERpY3QodCk7ZS5zZXQoIkJhc2VGb250IixOYW1lLmdldCgiSGVsdmV0aWNhIikpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIlR5cGUxIikpO2Uuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIldpbkFuc2lFbmNvZGluZyIpKTtRLnNldCgiSGVsdiIsZSl9bC5zZXQoIkZvbnQiLFEpO2NvbnN0IEU9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEocixuLHtmb250TmFtZToiSGVsdiIsZm9udFNpemU6b30sbCksW3UsZCxmLHBdPWM7bGV0IG09Zi11LHk9cC1kO0MlMTgwIT0wJiYoW20seV09W3ksbV0pO2NvbnN0IHc9aC5zcGxpdCgiXG4iKSxEPW8vMWUzO2xldCBiPS0xLzA7Y29uc3QgRj1bXTtmb3IobGV0IGUgb2Ygdyl7Y29uc3QgdD1FLmVuY29kZVN0cmluZyhlKTtpZih0Lmxlbmd0aD4xKXJldHVybiBudWxsO2U9dC5qb2luKCIiKTtGLnB1c2goZSk7bGV0IGk9MDtjb25zdCBhPUUuY2hhcnNUb0dseXBocyhlKTtmb3IoY29uc3QgZSBvZiBhKWkrPWUud2lkdGgqRDtiPU1hdGgubWF4KGIsaSl9bGV0IFM9MTtiPm0mJihTPW0vYik7bGV0IGs9MTtjb25zdCBSPXMqbyxOPTEqbyxHPVIqdy5sZW5ndGg7Rz55JiYoaz15L0cpO2NvbnN0IHg9bypNYXRoLm1pbihTLGspO2xldCBVLE0sTDtzd2l0Y2goQyl7Y2FzZSAwOkw9WzEsMCwwLDFdO009W2NbMF0sY1sxXSxtLHldO1U9W2NbMF0sY1szXS1OXTticmVhaztjYXNlIDkwOkw9WzAsMSwtMSwwXTtNPVtjWzFdLC1jWzJdLG0seV07VT1bY1sxXSwtY1swXS1OXTticmVhaztjYXNlIDE4MDpMPVstMSwwLDAsLTFdO009Wy1jWzJdLC1jWzNdLG0seV07VT1bLWNbMl0sLWNbMV0tTl07YnJlYWs7Y2FzZSAyNzA6TD1bMCwtMSwxLDBdO009Wy1jWzNdLGNbMF0sbSx5XTtVPVstY1szXSxjWzJdLU5dfWNvbnN0IEg9WyJxIixgJHtMLmpvaW4oIiAiKX0gMCAwIGNtYCxgJHtNLmpvaW4oIiAiKX0gcmUgVyBuYCwiQlQiLGAke2dldFBkZkNvbG9yKGcsITApfWAsYDAgVGMgL0hlbHYgJHtudW1iZXJUb1N0cmluZyh4KX0gVGZgXTtILnB1c2goYCR7VS5qb2luKCIgIil9IFRkICgke2VzY2FwZVN0cmluZyhGWzBdKX0pIFRqYCk7Y29uc3QgSj1udW1iZXJUb1N0cmluZyhSKTtmb3IobGV0IGU9MSx0PUYubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9RltlXTtILnB1c2goYDAgLSR7Sn0gVGQgKCR7ZXNjYXBlU3RyaW5nKHQpfSkgVGpgKX1ILnB1c2goIkVUIiwiUSIpO2NvbnN0IFk9SC5qb2luKCJcbiIpLHY9bmV3IERpY3QodCk7di5zZXQoIkZvcm1UeXBlIiwxKTt2LnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7di5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO3Yuc2V0KCJCQm94IixjKTt2LnNldCgiUmVzb3VyY2VzIixsKTt2LnNldCgiTWF0cml4IixbMSwwLDAsMSwtY1swXSwtY1sxXV0pO2NvbnN0IEs9bmV3IFN0cmluZ1N0cmVhbShZKTtLLmRpY3Q9djtyZXR1cm4gS319Y2xhc3MgTGluZUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUc7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdCBhPWxvb2t1cFJlY3QodC5nZXRBcnJheSgiTCIpLFswLDAsMCwwXSk7dGhpcy5kYXRhLmxpbmVDb29yZGluYXRlcz1VdGlsLm5vcm1hbGl6ZVJlY3QoYSk7dGhpcy5zZXRMaW5lRW5kaW5ncyh0LmdldEFycmF5KCJMRSIpKTt0aGlzLmRhdGEubGluZUVuZGluZ3M9dGhpcy5saW5lRW5kaW5ncztpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLHM9dC5nZXQoIkNBIikscj1nZXRSZ2JDb2xvcih0LmdldEFycmF5KCJJQyIpLG51bGwpLG49cj9nZXRQZGZDb2xvckFycmF5KHIpOm51bGwsZz1uP3M6bnVsbCxvPXRoaXMuYm9yZGVyU3R5bGUud2lkdGh8fDEsYz0yKm8sQz1bdGhpcy5kYXRhLmxpbmVDb29yZGluYXRlc1swXS1jLHRoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXNbMV0tYyx0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzJdK2MsdGhpcy5kYXRhLmxpbmVDb29yZGluYXRlc1szXStjXTtVdGlsLmludGVyc2VjdCh0aGlzLnJlY3RhbmdsZSxDKXx8KHRoaXMucmVjdGFuZ2xlPUMpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6YCR7b30gd2Asc3Ryb2tlQ29sb3I6ZSxmaWxsQ29sb3I6bixzdHJva2VBbHBoYTpzLGZpbGxBbHBoYTpnLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKGAke2FbMF19ICR7YVsxXX0gbWAsYCR7YVsyXX0gJHthWzNdfSBsYCwiUyIpO3JldHVyblt0WzBdLW8sdFsyXStvLHRbN10tbyx0WzNdK29dfX0pfX19Y2xhc3MgU3F1YXJlQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9eDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKSxzPWdldFJnYkNvbG9yKHQuZ2V0QXJyYXkoIklDIiksbnVsbCkscj1zP2dldFBkZkNvbG9yQXJyYXkocyk6bnVsbCxuPXI/YTpudWxsO2lmKDA9PT10aGlzLmJvcmRlclN0eWxlLndpZHRoJiYhcilyZXR1cm47dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYTpgJHt0aGlzLmJvcmRlclN0eWxlLndpZHRofSB3YCxzdHJva2VDb2xvcjplLGZpbGxDb2xvcjpyLHN0cm9rZUFscGhhOmEsZmlsbEFscGhhOm4scG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntjb25zdCBpPXRbNF0rdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLGE9dFs1XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIscz10WzZdLXRbNF0tdGhpcy5ib3JkZXJTdHlsZS53aWR0aCxuPXRbM10tdFs3XS10aGlzLmJvcmRlclN0eWxlLndpZHRoO2UucHVzaChgJHtpfSAke2F9ICR7c30gJHtufSByZWApO3I/ZS5wdXNoKCJCIik6ZS5wdXNoKCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX19Y2xhc3MgQ2lyY2xlQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9VTtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIikscz1nZXRSZ2JDb2xvcih0LmdldEFycmF5KCJJQyIpLG51bGwpLHI9cz9nZXRQZGZDb2xvckFycmF5KHMpOm51bGwsbj1yP2E6bnVsbDtpZigwPT09dGhpcy5ib3JkZXJTdHlsZS53aWR0aCYmIXIpcmV0dXJuO2NvbnN0IGc9NC8zKk1hdGgudGFuKE1hdGguUEkvOCk7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYTpgJHt0aGlzLmJvcmRlclN0eWxlLndpZHRofSB3YCxzdHJva2VDb2xvcjplLGZpbGxDb2xvcjpyLHN0cm9rZUFscGhhOmEsZmlsbEFscGhhOm4scG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntjb25zdCBpPXRbMF0rdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLGE9dFsxXS10aGlzLmJvcmRlclN0eWxlLndpZHRoLzIscz10WzZdLXRoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixuPXRbN10rdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLG89aSsocy1pKS8yLGM9YSsobi1hKS8yLEM9KHMtaSkvMipnLGg9KG4tYSkvMipnO2UucHVzaChgJHtvfSAke259IG1gLGAke28rQ30gJHtufSAke3N9ICR7YytofSAke3N9ICR7Y30gY2AsYCR7c30gJHtjLWh9ICR7bytDfSAke2F9ICR7b30gJHthfSBjYCxgJHtvLUN9ICR7YX0gJHtpfSAke2MtaH0gJHtpfSAke2N9IGNgLGAke2l9ICR7YytofSAke28tQ30gJHtufSAke299ICR7bn0gY2AsImgiKTtyP2UucHVzaCgiQiIpOmUucHVzaCgiUyIpO3JldHVyblt0WzBdLHRbMl0sdFs3XSx0WzNdXX19KX19fWNsYXNzIFBvbHlsaW5lQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9TDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuZGF0YS52ZXJ0aWNlcz1udWxsO2lmKCEodGhpcyBpbnN0YW5jZW9mIFBvbHlnb25Bbm5vdGF0aW9uKSl7dGhpcy5zZXRMaW5lRW5kaW5ncyh0LmdldEFycmF5KCJMRSIpKTt0aGlzLmRhdGEubGluZUVuZGluZ3M9dGhpcy5saW5lRW5kaW5nc31jb25zdCBhPXQuZ2V0QXJyYXkoIlZlcnRpY2VzIik7aWYoIWlzTnVtYmVyQXJyYXkoYSxudWxsKSlyZXR1cm47Y29uc3Qgcz10aGlzLmRhdGEudmVydGljZXM9RmxvYXQzMkFycmF5LmZyb20oYSk7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpLHI9dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MSxuPTIqcixnPVsxLzAsMS8wLC0xLzAsLTEvMF07Zm9yKGxldCBlPTAsdD1zLmxlbmd0aDtlPHQ7ZSs9Mil7Z1swXT1NYXRoLm1pbihnWzBdLHNbZV0tbik7Z1sxXT1NYXRoLm1pbihnWzFdLHNbZSsxXS1uKTtnWzJdPU1hdGgubWF4KGdbMl0sc1tlXStuKTtnWzNdPU1hdGgubWF4KGdbM10sc1tlKzFdK24pfVV0aWwuaW50ZXJzZWN0KHRoaXMucmVjdGFuZ2xlLGcpfHwodGhpcy5yZWN0YW5nbGU9Zyk7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYTpgJHtyfSB3YCxzdHJva2VDb2xvcjplLHN0cm9rZUFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntmb3IobGV0IHQ9MCxpPXMubGVuZ3RoO3Q8aTt0Kz0yKWUucHVzaChgJHtzW3RdfSAke3NbdCsxXX0gJHswPT09dD8ibSI6ImwifWApO2UucHVzaCgiUyIpO3JldHVyblt0WzBdLHRbMl0sdFs3XSx0WzNdXX19KX19fWNsYXNzIFBvbHlnb25Bbm5vdGF0aW9uIGV4dGVuZHMgUG9seWxpbmVBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1NfX1jbGFzcyBDYXJldEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1UfX1jbGFzcyBJbmtBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPXE7dGhpcy5kYXRhLmlua0xpc3RzPVtdO3RoaXMuZGF0YS5pc0VkaXRhYmxlPSF0aGlzLmRhdGEubm9IVE1MJiYiSW5rSGlnaGxpZ2h0Ij09PXRoaXMuZGF0YS5pdDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuZGF0YS5vcGFjaXR5PXQuZ2V0KCJDQSIpfHwxO2NvbnN0IGE9dC5nZXRBcnJheSgiSW5rTGlzdCIpO2lmKEFycmF5LmlzQXJyYXkoYSkpe2ZvcihsZXQgZT0wLHQ9YS5sZW5ndGg7ZTx0OysrZSl7aWYoIUFycmF5LmlzQXJyYXkoYVtlXSkpY29udGludWU7Y29uc3QgdD1uZXcgRmxvYXQzMkFycmF5KGFbZV0ubGVuZ3RoKTt0aGlzLmRhdGEuaW5rTGlzdHMucHVzaCh0KTtmb3IobGV0IHM9MCxyPWFbZV0ubGVuZ3RoO3M8cjtzKz0yKXtjb25zdCByPWkuZmV0Y2hJZlJlZihhW2VdW3NdKSxuPWkuZmV0Y2hJZlJlZihhW2VdW3MrMV0pO2lmKCJudW1iZXIiPT10eXBlb2YgciYmIm51bWJlciI9PXR5cGVvZiBuKXt0W3NdPXI7dFtzKzFdPW59fX1pZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIikscz10aGlzLmJvcmRlclN0eWxlLndpZHRofHwxLHI9MipzLG49WzEvMCwxLzAsLTEvMCwtMS8wXTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGEuaW5rTGlzdHMpZm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCs9Mil7blswXT1NYXRoLm1pbihuWzBdLGVbdF0tcik7blsxXT1NYXRoLm1pbihuWzFdLGVbdCsxXS1yKTtuWzJdPU1hdGgubWF4KG5bMl0sZVt0XStyKTtuWzNdPU1hdGgubWF4KG5bM10sZVt0KzFdK3IpfVV0aWwuaW50ZXJzZWN0KHRoaXMucmVjdGFuZ2xlLG4pfHwodGhpcy5yZWN0YW5nbGU9bik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYTpgJHtzfSB3YCxzdHJva2VDb2xvcjplLHN0cm9rZUFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntmb3IoY29uc3QgdCBvZiB0aGlzLmRhdGEuaW5rTGlzdHMpe2ZvcihsZXQgaT0wLGE9dC5sZW5ndGg7aTxhO2krPTIpZS5wdXNoKGAke3RbaV19ICR7dFtpKzFdfSAkezA9PT1pPyJtIjoibCJ9YCk7ZS5wdXNoKCJTIil9cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX19c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtjb2xvcjpzLG9wYWNpdHk6cixwYXRoczpuLG91dGxpbmVzOmcscmVjdDpvLHJvdGF0aW9uOmMsdGhpY2tuZXNzOkN9PWUsaD1uZXcgRGljdCh0KTtoLnNldCgiVHlwZSIsTmFtZS5nZXQoIkFubm90IikpO2guc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiSW5rIikpO2guc2V0KCJDcmVhdGlvbkRhdGUiLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2guc2V0KCJSZWN0IixvKTtoLnNldCgiSW5rTGlzdCIsZz8ucG9pbnRzfHxuLm1hcCgoZT0+ZS5wb2ludHMpKSk7aC5zZXQoIkYiLDQpO2guc2V0KCJSb3RhdGUiLGMpO2cmJmguc2V0KCJJVCIsTmFtZS5nZXQoIklua0hpZ2hsaWdodCIpKTtjb25zdCBsPW5ldyBEaWN0KHQpO2guc2V0KCJCUyIsbCk7bC5zZXQoIlciLEMpO2guc2V0KCJDIixBcnJheS5mcm9tKHMsKGU9PmUvMjU1KSkpO2guc2V0KCJDQSIscik7Y29uc3QgUT1uZXcgRGljdCh0KTtoLnNldCgiQVAiLFEpO2k/US5zZXQoIk4iLGkpOlEuc2V0KCJOIixhKTtyZXR1cm4gaH1zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShlLHQsaSl7aWYoZS5vdXRsaW5lcylyZXR1cm4gdGhpcy5jcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtRm9ySGlnaGxpZ2h0KGUsdCxpKTtjb25zdHtjb2xvcjphLHJlY3Q6cyxwYXRoczpyLHRoaWNrbmVzczpuLG9wYWNpdHk6Z309ZSxvPVtgJHtufSB3IDEgSiAxIGpgLGAke2dldFBkZkNvbG9yKGEsITEpfWBdOzEhPT1nJiZvLnB1c2goIi9SMCBncyIpO2NvbnN0IGM9W107Zm9yKGNvbnN0e2JlemllcjplfW9mIHIpe2MubGVuZ3RoPTA7Yy5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbMF0pfSAke251bWJlclRvU3RyaW5nKGVbMV0pfSBtYCk7aWYoMj09PWUubGVuZ3RoKWMucHVzaChgJHtudW1iZXJUb1N0cmluZyhlWzBdKX0gJHtudW1iZXJUb1N0cmluZyhlWzFdKX0gbCBTYCk7ZWxzZXtmb3IobGV0IHQ9MixpPWUubGVuZ3RoO3Q8aTt0Kz02KXtjb25zdCBpPWUuc2xpY2UodCx0KzYpLm1hcChudW1iZXJUb1N0cmluZykuam9pbigiICIpO2MucHVzaChgJHtpfSBjYCl9Yy5wdXNoKCJTIil9by5wdXNoKGMuam9pbigiXG4iKSl9Y29uc3QgQz1vLmpvaW4oIlxuIiksaD1uZXcgRGljdCh0KTtoLnNldCgiRm9ybVR5cGUiLDEpO2guc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtoLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7aC5zZXQoIkJCb3giLHMpO2guc2V0KCJMZW5ndGgiLEMubGVuZ3RoKTtpZigxIT09Zyl7Y29uc3QgZT1uZXcgRGljdCh0KSxpPW5ldyBEaWN0KHQpLGE9bmV3IERpY3QodCk7YS5zZXQoIkNBIixnKTthLnNldCgiVHlwZSIsTmFtZS5nZXQoIkV4dEdTdGF0ZSIpKTtpLnNldCgiUjAiLGEpO2Uuc2V0KCJFeHRHU3RhdGUiLGkpO2guc2V0KCJSZXNvdXJjZXMiLGUpfWNvbnN0IGw9bmV3IFN0cmluZ1N0cmVhbShDKTtsLmRpY3Q9aDtyZXR1cm4gbH1zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbUZvckhpZ2hsaWdodChlLHQsaSl7Y29uc3R7Y29sb3I6YSxyZWN0OnMsb3V0bGluZXM6e291dGxpbmU6cn0sb3BhY2l0eTpufT1lLGc9W2Ake2dldFBkZkNvbG9yKGEsITApfWAsIi9SMCBncyJdO2cucHVzaChgJHtudW1iZXJUb1N0cmluZyhyWzRdKX0gJHtudW1iZXJUb1N0cmluZyhyWzVdKX0gbWApO2ZvcihsZXQgZT02LHQ9ci5sZW5ndGg7ZTx0O2UrPTYpaWYoaXNOYU4ocltlXSl8fG51bGw9PT1yW2VdKWcucHVzaChgJHtudW1iZXJUb1N0cmluZyhyW2UrNF0pfSAke251bWJlclRvU3RyaW5nKHJbZSs1XSl9IGxgKTtlbHNle2NvbnN0IHQ9ci5zbGljZShlLGUrNikubWFwKG51bWJlclRvU3RyaW5nKS5qb2luKCIgIik7Zy5wdXNoKGAke3R9IGNgKX1nLnB1c2goImggZiIpO2NvbnN0IG89Zy5qb2luKCJcbiIpLGM9bmV3IERpY3QodCk7Yy5zZXQoIkZvcm1UeXBlIiwxKTtjLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Yy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO2Muc2V0KCJCQm94IixzKTtjLnNldCgiTGVuZ3RoIixvLmxlbmd0aCk7Y29uc3QgQz1uZXcgRGljdCh0KSxoPW5ldyBEaWN0KHQpO0Muc2V0KCJFeHRHU3RhdGUiLGgpO2Muc2V0KCJSZXNvdXJjZXMiLEMpO2NvbnN0IGw9bmV3IERpY3QodCk7aC5zZXQoIlIwIixsKTtsLnNldCgiQk0iLE5hbWUuZ2V0KCJNdWx0aXBseSIpKTtpZigxIT09bil7bC5zZXQoImNhIixuKTtsLnNldCgiVHlwZSIsTmFtZS5nZXQoIkV4dEdTdGF0ZSIpKX1jb25zdCBRPW5ldyBTdHJpbmdTdHJlYW0obyk7US5kaWN0PWM7cmV0dXJuIFF9fWNsYXNzIEhpZ2hsaWdodEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUg7dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEub3BhY2l0eT10LmdldCgiQ0EiKXx8MTtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2NvbnN0IGU9dGhpcy5hcHBlYXJhbmNlPy5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYoIXRoaXMuYXBwZWFyYW5jZXx8IWU/LmhhcygiRXh0R1N0YXRlIikpe3RoaXMuYXBwZWFyYW5jZSYmd2FybigiSGlnaGxpZ2h0QW5ub3RhdGlvbiAtIGlnbm9yaW5nIGJ1aWx0LWluIGFwcGVhcmFuY2Ugc3RyZWFtLiIpO2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlsxLDEsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGZpbGxDb2xvcjplLGJsZW5kTW9kZToiTXVsdGlwbHkiLGZpbGxBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKGAke3RbMF19ICR7dFsxXX0gbWAsYCR7dFsyXX0gJHt0WzNdfSBsYCxgJHt0WzZdfSAke3RbN119IGxgLGAke3RbNF19ICR7dFs1XX0gbGAsImYiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtjb2xvcjpzLG9sZEFubm90YXRpb246cixvcGFjaXR5Om4scmVjdDpnLHJvdGF0aW9uOm8sdXNlcjpjLHF1YWRQb2ludHM6Q309ZSxoPXJ8fG5ldyBEaWN0KHQpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJIaWdobGlnaHQiKSk7aC5zZXQocj8iTSI6IkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIlJlY3QiLGcpO2guc2V0KCJGIiw0KTtoLnNldCgiQm9yZGVyIixbMCwwLDBdKTtoLnNldCgiUm90YXRlIixvKTtoLnNldCgiUXVhZFBvaW50cyIsQyk7aC5zZXQoIkMiLEFycmF5LmZyb20ocywoZT0+ZS8yNTUpKSk7aC5zZXQoIkNBIixuKTtjJiZoLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShjKSk7aWYoaXx8YSl7Y29uc3QgZT1uZXcgRGljdCh0KTtoLnNldCgiQVAiLGUpO2Uuc2V0KCJOIixpfHxhKX1yZXR1cm4gaH1zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShlLHQsaSl7Y29uc3R7Y29sb3I6YSxyZWN0OnMsb3V0bGluZXM6cixvcGFjaXR5Om59PWUsZz1bYCR7Z2V0UGRmQ29sb3IoYSwhMCl9YCwiL1IwIGdzIl0sbz1bXTtmb3IoY29uc3QgZSBvZiByKXtvLmxlbmd0aD0wO28ucHVzaChgJHtudW1iZXJUb1N0cmluZyhlWzBdKX0gJHtudW1iZXJUb1N0cmluZyhlWzFdKX0gbWApO2ZvcihsZXQgdD0yLGk9ZS5sZW5ndGg7dDxpO3QrPTIpby5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbdF0pfSAke251bWJlclRvU3RyaW5nKGVbdCsxXSl9IGxgKTtvLnB1c2goImgiKTtnLnB1c2goby5qb2luKCJcbiIpKX1nLnB1c2goImYqIik7Y29uc3QgYz1nLmpvaW4oIlxuIiksQz1uZXcgRGljdCh0KTtDLnNldCgiRm9ybVR5cGUiLDEpO0Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtDLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Qy5zZXQoIkJCb3giLHMpO0Muc2V0KCJMZW5ndGgiLGMubGVuZ3RoKTtjb25zdCBoPW5ldyBEaWN0KHQpLGw9bmV3IERpY3QodCk7aC5zZXQoIkV4dEdTdGF0ZSIsbCk7Qy5zZXQoIlJlc291cmNlcyIsaCk7Y29uc3QgUT1uZXcgRGljdCh0KTtsLnNldCgiUjAiLFEpO1Euc2V0KCJCTSIsTmFtZS5nZXQoIk11bHRpcGx5IikpO2lmKDEhPT1uKXtRLnNldCgiY2EiLG4pO1Euc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpfWNvbnN0IEU9bmV3IFN0cmluZ1N0cmVhbShjKTtFLmRpY3Q9QztyZXR1cm4gRX19Y2xhc3MgVW5kZXJsaW5lQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9SjtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOiJbXSAwIGQgMC41NzEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKGAke3RbNF19ICR7dFs1XSsxLjN9IG1gLGAke3RbNl19ICR7dFs3XSsxLjN9IGxgLCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfX1jbGFzcyBTcXVpZ2dseUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVk7aWYodGhpcy5kYXRhLnF1YWRQb2ludHM9Z2V0UXVhZFBvaW50cyh0LG51bGwpKXtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYToiW10gMCBkIDEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Y29uc3QgaT0odFsxXS10WzVdKS82O2xldCBhPWkscz10WzRdO2NvbnN0IHI9dFs1XSxuPXRbNl07ZS5wdXNoKGAke3N9ICR7cithfSBtYCk7ZG97cys9MjthPTA9PT1hP2k6MDtlLnB1c2goYCR7c30gJHtyK2F9IGxgKX13aGlsZShzPG4pO2UucHVzaCgiUyIpO3JldHVyblt0WzRdLG4sci0yKmkscisyKmldfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfX1jbGFzcyBTdHJpa2VPdXRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT12O2lmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPWdldFF1YWRQb2ludHModCxudWxsKSl7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6IltdIDAgZCAxIHciLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6YSxwb2ludHNDYWxsYmFjazooZSx0KT0+e2UucHVzaCgodFswXSt0WzRdKS8yKyIgIisodFsxXSt0WzVdKS8yKyIgbSIsKHRbMl0rdFs2XSkvMisiICIrKHRbM10rdFs3XSkvMisiIGwiLCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfX1jbGFzcyBTdGFtcEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ueyNXO2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1LO3RoaXMuI1c9dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5kYXRhLm5vSFRNTD0hMX1tdXN0QmVWaWV3ZWRXaGVuRWRpdGluZyhlLHQ9bnVsbCl7aWYoZSl7aWYoIXRoaXMuZGF0YS5pc0VkaXRhYmxlKXJldHVybiExO3RoaXMuI1c9dGhpcy5kYXRhLmhhc093bkNhbnZhczt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPSEwO3JldHVybiEwfXRoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy4jVztyZXR1cm4hdD8uaGFzKHRoaXMuZGF0YS5pZCl9c3RhdGljIGFzeW5jIGNyZWF0ZUltYWdlKGUsdCl7Y29uc3R7d2lkdGg6aSxoZWlnaHQ6YX09ZSxzPW5ldyBPZmZzY3JlZW5DYW52YXMoaSxhKSxyPXMuZ2V0Q29udGV4dCgiMmQiLHthbHBoYTohMH0pO3IuZHJhd0ltYWdlKGUsMCwwKTtjb25zdCBuPXIuZ2V0SW1hZ2VEYXRhKDAsMCxpLGEpLmRhdGEsZz1uZXcgVWludDMyQXJyYXkobi5idWZmZXIpLG89Zy5zb21lKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuP2U9PmU+Pj4yNCE9MjU1OmU9PjI1NSE9KDI1NSZlKSk7aWYobyl7ci5maWxsU3R5bGU9IndoaXRlIjtyLmZpbGxSZWN0KDAsMCxpLGEpO3IuZHJhd0ltYWdlKGUsMCwwKX1jb25zdCBjPXMuY29udmVydFRvQmxvYih7dHlwZToiaW1hZ2UvanBlZyIscXVhbGl0eToxfSkudGhlbigoZT0+ZS5hcnJheUJ1ZmZlcigpKSksQz1OYW1lLmdldCgiWE9iamVjdCIpLGg9TmFtZS5nZXQoIkltYWdlIiksbD1uZXcgRGljdCh0KTtsLnNldCgiVHlwZSIsQyk7bC5zZXQoIlN1YnR5cGUiLGgpO2wuc2V0KCJCaXRzUGVyQ29tcG9uZW50Iiw4KTtsLnNldCgiQ29sb3JTcGFjZSIsTmFtZS5nZXQoIkRldmljZVJHQiIpKTtsLnNldCgiRmlsdGVyIixOYW1lLmdldCgiRENURGVjb2RlIikpO2wuc2V0KCJCQm94IixbMCwwLGksYV0pO2wuc2V0KCJXaWR0aCIsaSk7bC5zZXQoIkhlaWdodCIsYSk7bGV0IFE9bnVsbDtpZihvKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGcubGVuZ3RoKTtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IHQ9MCxpPWcubGVuZ3RoO3Q8aTt0KyspZVt0XT1nW3RdPj4+MjQ7ZWxzZSBmb3IobGV0IHQ9MCxpPWcubGVuZ3RoO3Q8aTt0KyspZVt0XT0yNTUmZ1t0XTtjb25zdCBzPW5ldyBEaWN0KHQpO3Muc2V0KCJUeXBlIixDKTtzLnNldCgiU3VidHlwZSIsaCk7cy5zZXQoIkJpdHNQZXJDb21wb25lbnQiLDgpO3Muc2V0KCJDb2xvclNwYWNlIixOYW1lLmdldCgiRGV2aWNlR3JheSIpKTtzLnNldCgiV2lkdGgiLGkpO3Muc2V0KCJIZWlnaHQiLGEpO1E9bmV3IFN0cmVhbShlLDAsMCxzKX1yZXR1cm57aW1hZ2VTdHJlYW06bmV3IFN0cmVhbShhd2FpdCBjLDAsMCxsKSxzbWFza1N0cmVhbTpRLHdpZHRoOmksaGVpZ2h0OmF9fXN0YXRpYyBjcmVhdGVOZXdEaWN0KGUsdCx7YXBSZWY6aSxhcDphfSl7Y29uc3R7b2xkQW5ub3RhdGlvbjpzLHJlY3Q6cixyb3RhdGlvbjpuLHVzZXI6Z309ZSxvPXN8fG5ldyBEaWN0KHQpO28uc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7by5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJTdGFtcCIpKTtvLnNldChzPyJNIjoiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtvLnNldCgiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtvLnNldCgiUmVjdCIscik7by5zZXQoIkYiLDQpO28uc2V0KCJCb3JkZXIiLFswLDAsMF0pO28uc2V0KCJSb3RhdGUiLG4pO2cmJm8uc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGcpKTtpZihpfHxhKXtjb25zdCBlPW5ldyBEaWN0KHQpO28uc2V0KCJBUCIsZSk7aT9lLnNldCgiTiIsaSk6ZS5zZXQoIk4iLGEpfXJldHVybiBvfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtpZihlLm9sZEFubm90YXRpb24pcmV0dXJuIG51bGw7Y29uc3R7cm90YXRpb246YX09ZSx7aW1hZ2VSZWY6cyx3aWR0aDpyLGhlaWdodDpufT1pLmltYWdlLGc9bmV3IERpY3QodCksbz1uZXcgRGljdCh0KTtnLnNldCgiWE9iamVjdCIsbyk7by5zZXQoIkltMCIscyk7Y29uc3QgYz1gcSAke3J9IDAgMCAke259IDAgMCBjbSAvSW0wIERvIFFgLEM9bmV3IERpY3QodCk7Qy5zZXQoIkZvcm1UeXBlIiwxKTtDLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Qy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO0Muc2V0KCJCQm94IixbMCwwLHIsbl0pO0Muc2V0KCJSZXNvdXJjZXMiLGcpO2lmKGEpe2NvbnN0IGU9Z2V0Um90YXRpb25NYXRyaXgoYSxyLG4pO0Muc2V0KCJNYXRyaXgiLGUpfWNvbnN0IGg9bmV3IFN0cmluZ1N0cmVhbShjKTtoLmRpY3Q9QztyZXR1cm4gaH19Y2xhc3MgRmlsZUF0dGFjaG1lbnRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lLGE9bmV3IEZpbGVTcGVjKHQuZ2V0KCJGUyIpLGkpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1XO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLmZpbGU9YS5zZXJpYWxpemFibGU7Y29uc3Qgcz10LmdldCgiTmFtZSIpO3RoaXMuZGF0YS5uYW1lPXMgaW5zdGFuY2VvZiBOYW1lP3N0cmluZ1RvUERGU3RyaW5nKHMubmFtZSk6IlB1c2hQaW4iO2NvbnN0IHI9dC5nZXQoImNhIik7dGhpcy5kYXRhLmZpbGxBbHBoYT0ibnVtYmVyIj09dHlwZW9mIHImJnI+PTAmJnI8PTE/cjpudWxsfX1mdW5jdGlvbiBkZWNvZGVTdHJpbmcoZSl7dHJ5e3JldHVybiBzdHJpbmdUb1VURjhTdHJpbmcoZSl9Y2F0Y2godCl7d2FybihgVVRGLTggZGVjb2RpbmcgZmFpbGVkOiAiJHt0fSIuYCk7cmV0dXJuIGV9fWNsYXNzIERhdGFzZXRYTUxQYXJzZXIgZXh0ZW5kcyBTaW1wbGVYTUxQYXJzZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5ub2RlPW51bGx9b25FbmRFbGVtZW50KGUpe2NvbnN0IHQ9c3VwZXIub25FbmRFbGVtZW50KGUpO2lmKHQmJiJ4ZmE6ZGF0YXNldHMiPT09ZSl7dGhpcy5ub2RlPXQ7dGhyb3cgbmV3IEVycm9yKCJBYm9ydGluZyBEYXRhc2V0WE1MUGFyc2VyLiIpfX19Y2xhc3MgRGF0YXNldFJlYWRlcntjb25zdHJ1Y3RvcihlKXtpZihlLmRhdGFzZXRzKXRoaXMubm9kZT1uZXcgU2ltcGxlWE1MUGFyc2VyKHtoYXNBdHRyaWJ1dGVzOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUuZGF0YXNldHMpLmRvY3VtZW50RWxlbWVudDtlbHNle2NvbnN0IHQ9bmV3IERhdGFzZXRYTUxQYXJzZXIoe2hhc0F0dHJpYnV0ZXM6ITB9KTt0cnl7dC5wYXJzZUZyb21TdHJpbmcoZVsieGRwOnhkcCJdKX1jYXRjaHt9dGhpcy5ub2RlPXQubm9kZX19Z2V0VmFsdWUoZSl7aWYoIXRoaXMubm9kZXx8IWUpcmV0dXJuIiI7Y29uc3QgdD10aGlzLm5vZGUuc2VhcmNoTm9kZShwYXJzZVhGQVBhdGgoZSksMCk7aWYoIXQpcmV0dXJuIiI7Y29uc3QgaT10LmZpcnN0Q2hpbGQ7cmV0dXJuInZhbHVlIj09PWk/Lm5vZGVOYW1lP3QuY2hpbGRyZW4ubWFwKChlPT5kZWNvZGVTdHJpbmcoZS50ZXh0Q29udGVudCkpKTpkZWNvZGVTdHJpbmcodC50ZXh0Q29udGVudCl9fWNsYXNzIFhSZWZ7I2o9bnVsbDtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuc3RyZWFtPWU7dGhpcy5wZGZNYW5hZ2VyPXQ7dGhpcy5lbnRyaWVzPVtdO3RoaXMuX3hyZWZTdG1zPW5ldyBTZXQ7dGhpcy5fY2FjaGVNYXA9bmV3IE1hcDt0aGlzLl9wZW5kaW5nUmVmcz1uZXcgUmVmU2V0O3RoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW09bnVsbDt0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW09bnVsbDt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlPW51bGx9Z2V0TmV3UGVyc2lzdGVudFJlZihlKXtudWxsPT09dGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bSYmKHRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW09dGhpcy5lbnRyaWVzLmxlbmd0aHx8MSk7Y29uc3QgdD10aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtKys7dGhpcy5fY2FjaGVNYXAuc2V0KHQsZSk7cmV0dXJuIFJlZi5nZXQodCwwKX1nZXROZXdUZW1wb3JhcnlSZWYoKXtpZihudWxsPT09dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtKXt0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW09dGhpcy5lbnRyaWVzLmxlbmd0aHx8MTtpZih0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtKXt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlPW5ldyBNYXA7Zm9yKGxldCBlPXRoaXMuX25ld1RlbXBvcmFyeVJlZk51bTtlPHRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW07ZSsrKXt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlLnNldChlLHRoaXMuX2NhY2hlTWFwLmdldChlKSk7dGhpcy5fY2FjaGVNYXAuZGVsZXRlKGUpfX19cmV0dXJuIFJlZi5nZXQodGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtKyssMCl9cmVzZXROZXdUZW1wb3JhcnlSZWYoKXt0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW09bnVsbDtpZih0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlKWZvcihjb25zdFtlLHRdb2YgdGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZSl0aGlzLl9jYWNoZU1hcC5zZXQoZSx0KTt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlPW51bGx9c2V0U3RhcnRYUmVmKGUpe3RoaXMuc3RhcnRYUmVmUXVldWU9W2VdfXBhcnNlKGU9ITEpe2xldCB0LGksYTtpZihlKXt3YXJuKCJJbmRleGluZyBhbGwgUERGIG9iamVjdHMiKTt0PXRoaXMuaW5kZXhPYmplY3RzKCl9ZWxzZSB0PXRoaXMucmVhZFhSZWYoKTt0LmFzc2lnblhyZWYodGhpcyk7dGhpcy50cmFpbGVyPXQ7dHJ5e2k9dC5nZXQoIkVuY3J5cHQiKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBYUmVmLnBhcnNlIC0gSW52YWxpZCAiRW5jcnlwdCIgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoaSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9dC5nZXQoIklEIiksYT1lPy5sZW5ndGg/ZVswXToiIjtpLnN1cHByZXNzRW5jcnlwdGlvbj0hMDt0aGlzLmVuY3J5cHQ9bmV3IENpcGhlclRyYW5zZm9ybUZhY3RvcnkoaSxhLHRoaXMucGRmTWFuYWdlci5wYXNzd29yZCl9dHJ5e2E9dC5nZXQoIlJvb3QiKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBYUmVmLnBhcnNlIC0gSW52YWxpZCAiUm9vdCIgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoYSBpbnN0YW5jZW9mIERpY3QpdHJ5e2lmKGEuZ2V0KCJQYWdlcyIpaW5zdGFuY2VvZiBEaWN0KXt0aGlzLnJvb3Q9YTtyZXR1cm59fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYFhSZWYucGFyc2UgLSBJbnZhbGlkICJQYWdlcyIgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbjt0aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiSW52YWxpZCBSb290IHJlZmVyZW5jZS4iKX1wcm9jZXNzWFJlZlRhYmxlKGUpeyJ0YWJsZVN0YXRlImluIHRoaXN8fCh0aGlzLnRhYmxlU3RhdGU9e2VudHJ5TnVtOjAsc3RyZWFtUG9zOmUubGV4ZXIuc3RyZWFtLnBvcyxwYXJzZXJCdWYxOmUuYnVmMSxwYXJzZXJCdWYyOmUuYnVmMn0pO2lmKCFpc0NtZCh0aGlzLnJlYWRYUmVmVGFibGUoZSksInRyYWlsZXIiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiB0YWJsZTogY291bGQgbm90IGZpbmQgdHJhaWxlciBkaWN0aW9uYXJ5Iik7bGV0IHQ9ZS5nZXRPYmooKTt0IGluc3RhbmNlb2YgRGljdHx8IXQuZGljdHx8KHQ9dC5kaWN0KTtpZighKHQgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiB0YWJsZTogY291bGQgbm90IHBhcnNlIHRyYWlsZXIgZGljdGlvbmFyeSIpO2RlbGV0ZSB0aGlzLnRhYmxlU3RhdGU7cmV0dXJuIHR9cmVhZFhSZWZUYWJsZShlKXtjb25zdCB0PWUubGV4ZXIuc3RyZWFtLGk9dGhpcy50YWJsZVN0YXRlO3QucG9zPWkuc3RyZWFtUG9zO2UuYnVmMT1pLnBhcnNlckJ1ZjE7ZS5idWYyPWkucGFyc2VyQnVmMjtsZXQgYTtmb3IoOzspe2lmKCEoImZpcnN0RW50cnlOdW0iaW4gaSl8fCEoImVudHJ5Q291bnQiaW4gaSkpe2lmKGlzQ21kKGE9ZS5nZXRPYmooKSwidHJhaWxlciIpKWJyZWFrO2kuZmlyc3RFbnRyeU51bT1hO2kuZW50cnlDb3VudD1lLmdldE9iaigpfWxldCBzPWkuZmlyc3RFbnRyeU51bTtjb25zdCByPWkuZW50cnlDb3VudDtpZighTnVtYmVyLmlzSW50ZWdlcihzKXx8IU51bWJlci5pc0ludGVnZXIocikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IHdyb25nIHR5cGVzIGluIHN1YnNlY3Rpb24gaGVhZGVyIik7Zm9yKGxldCBhPWkuZW50cnlOdW07YTxyO2ErKyl7aS5zdHJlYW1Qb3M9dC5wb3M7aS5lbnRyeU51bT1hO2kucGFyc2VyQnVmMT1lLmJ1ZjE7aS5wYXJzZXJCdWYyPWUuYnVmMjtjb25zdCBuPXt9O24ub2Zmc2V0PWUuZ2V0T2JqKCk7bi5nZW49ZS5nZXRPYmooKTtjb25zdCBnPWUuZ2V0T2JqKCk7aWYoZyBpbnN0YW5jZW9mIENtZClzd2l0Y2goZy5jbWQpe2Nhc2UiZiI6bi5mcmVlPSEwO2JyZWFrO2Nhc2UibiI6bi51bmNvbXByZXNzZWQ9ITB9aWYoIU51bWJlci5pc0ludGVnZXIobi5vZmZzZXQpfHwhTnVtYmVyLmlzSW50ZWdlcihuLmdlbil8fCFuLmZyZWUmJiFuLnVuY29tcHJlc3NlZCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgZW50cnkgaW4gWFJlZiBzdWJzZWN0aW9uOiAke3N9LCAke3J9YCk7MD09PWEmJm4uZnJlZSYmMT09PXMmJihzPTApO3RoaXMuZW50cmllc1thK3NdfHwodGhpcy5lbnRyaWVzW2Erc109bil9aS5lbnRyeU51bT0wO2kuc3RyZWFtUG9zPXQucG9zO2kucGFyc2VyQnVmMT1lLmJ1ZjE7aS5wYXJzZXJCdWYyPWUuYnVmMjtkZWxldGUgaS5maXJzdEVudHJ5TnVtO2RlbGV0ZSBpLmVudHJ5Q291bnR9aWYodGhpcy5lbnRyaWVzWzBdJiYhdGhpcy5lbnRyaWVzWzBdLmZyZWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IHVuZXhwZWN0ZWQgZmlyc3Qgb2JqZWN0Iik7cmV0dXJuIGF9cHJvY2Vzc1hSZWZTdHJlYW0oZSl7aWYoISgic3RyZWFtU3RhdGUiaW4gdGhpcykpe2NvbnN0IHQ9ZS5kaWN0LGk9dC5nZXQoIlciKTtsZXQgYT10LmdldCgiSW5kZXgiKTthfHwoYT1bMCx0LmdldCgiU2l6ZSIpXSk7dGhpcy5zdHJlYW1TdGF0ZT17ZW50cnlSYW5nZXM6YSxieXRlV2lkdGhzOmksZW50cnlOdW06MCxzdHJlYW1Qb3M6ZS5wb3N9fXRoaXMucmVhZFhSZWZTdHJlYW0oZSk7ZGVsZXRlIHRoaXMuc3RyZWFtU3RhdGU7cmV0dXJuIGUuZGljdH1yZWFkWFJlZlN0cmVhbShlKXtjb25zdCB0PXRoaXMuc3RyZWFtU3RhdGU7ZS5wb3M9dC5zdHJlYW1Qb3M7Y29uc3RbaSxhLHNdPXQuYnl0ZVdpZHRocyxyPXQuZW50cnlSYW5nZXM7Zm9yKDtyLmxlbmd0aD4wOyl7Y29uc3RbbixnXT1yO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHwhTnVtYmVyLmlzSW50ZWdlcihnKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiByYW5nZSBmaWVsZHM6ICR7bn0sICR7Z31gKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKXx8IU51bWJlci5pc0ludGVnZXIoYSl8fCFOdW1iZXIuaXNJbnRlZ2VyKHMpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBYUmVmIGVudHJ5IGZpZWxkcyBsZW5ndGg6ICR7bn0sICR7Z31gKTtmb3IobGV0IHI9dC5lbnRyeU51bTtyPGc7KytyKXt0LmVudHJ5TnVtPXI7dC5zdHJlYW1Qb3M9ZS5wb3M7bGV0IGc9MCxvPTAsYz0wO2ZvcihsZXQgdD0wO3Q8aTsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ3R5cGUnLiIpO2c9Zzw8OHx0fTA9PT1pJiYoZz0xKTtmb3IobGV0IHQ9MDt0PGE7Kyt0KXtjb25zdCB0PWUuZ2V0Qnl0ZSgpO2lmKC0xPT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBieXRlV2lkdGhzICdvZmZzZXQnLiIpO289bzw8OHx0fWZvcihsZXQgdD0wO3Q8czsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ2dlbmVyYXRpb24nLiIpO2M9Yzw8OHx0fWNvbnN0IEM9e307Qy5vZmZzZXQ9bztDLmdlbj1jO3N3aXRjaChnKXtjYXNlIDA6Qy5mcmVlPSEwO2JyZWFrO2Nhc2UgMTpDLnVuY29tcHJlc3NlZD0hMDticmVhaztjYXNlIDI6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiBlbnRyeSB0eXBlOiAke2d9YCl9dGhpcy5lbnRyaWVzW24rcl18fCh0aGlzLmVudHJpZXNbbityXT1DKX10LmVudHJ5TnVtPTA7dC5zdHJlYW1Qb3M9ZS5wb3M7ci5zcGxpY2UoMCwyKX19aW5kZXhPYmplY3RzKCl7ZnVuY3Rpb24gcmVhZFRva2VuKGUsdCl7bGV0IGk9IiIsYT1lW3RdO2Zvcig7MTAhPT1hJiYxMyE9PWEmJjYwIT09YSYmISgrK3Q+PWUubGVuZ3RoKTspe2krPVN0cmluZy5mcm9tQ2hhckNvZGUoYSk7YT1lW3RdfXJldHVybiBpfWZ1bmN0aW9uIHNraXBVbnRpbChlLHQsaSl7Y29uc3QgYT1pLmxlbmd0aCxzPWUubGVuZ3RoO2xldCByPTA7Zm9yKDt0PHM7KXtsZXQgcz0wO2Zvcig7czxhJiZlW3Qrc109PT1pW3NdOykrK3M7aWYocz49YSlicmVhazt0Kys7cisrfXJldHVybiByfWNvbnN0IGU9L1xiKGVuZG9ianxcZCtccytcZCtccytvYmp8eHJlZnx0cmFpbGVyXHMqPDwpXGIvZyx0PS9cYihzdGFydHhyZWZ8XGQrXHMrXGQrXHMrb2JqKVxiL2csaT0vXihcZCspXHMrKFxkKylccytvYmpcYi8sYT1uZXcgVWludDhBcnJheShbMTE2LDExNCw5NywxMDUsMTA4LDEwMSwxMTRdKSxzPW5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDk3LDExNCwxMTYsMTIwLDExNCwxMDEsMTAyXSkscj1uZXcgVWludDhBcnJheShbNDcsODgsODIsMTAxLDEwMl0pO3RoaXMuZW50cmllcy5sZW5ndGg9MDt0aGlzLl9jYWNoZU1hcC5jbGVhcigpO2NvbnN0IG49dGhpcy5zdHJlYW07bi5wb3M9MDtjb25zdCBnPW4uZ2V0Qnl0ZXMoKSxvPWJ5dGVzVG9TdHJpbmcoZyksYz1nLmxlbmd0aDtsZXQgQz1uLnN0YXJ0O2NvbnN0IGg9W10sbD1bXTtmb3IoO0M8Yzspe2xldCBRPWdbQ107aWYoOT09PVF8fDEwPT09UXx8MTM9PT1RfHwzMj09PVEpeysrQztjb250aW51ZX1pZigzNz09PVEpe2RveysrQztpZihDPj1jKWJyZWFrO1E9Z1tDXX13aGlsZSgxMCE9PVEmJjEzIT09USk7Y29udGludWV9Y29uc3QgRT1yZWFkVG9rZW4oZyxDKTtsZXQgdTtpZihFLnN0YXJ0c1dpdGgoInhyZWYiKSYmKDQ9PT1FLmxlbmd0aHx8L1xzLy50ZXN0KEVbNF0pKSl7Qys9c2tpcFVudGlsKGcsQyxhKTtoLnB1c2goQyk7Qys9c2tpcFVudGlsKGcsQyxzKX1lbHNlIGlmKHU9aS5leGVjKEUpKXtjb25zdCB0PTB8dVsxXSxpPTB8dVsyXSxhPUMrRS5sZW5ndGg7bGV0IHMsaD0hMTtpZih0aGlzLmVudHJpZXNbdF0pe2lmKHRoaXMuZW50cmllc1t0XS5nZW49PT1pKXRyeXtuZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIobi5tYWtlU3ViU3RyZWFtKGEpKX0pLmdldE9iaigpO2g9ITB9Y2F0Y2goZSl7ZSBpbnN0YW5jZW9mIFBhcnNlckVPRkV4Y2VwdGlvbj93YXJuKGBpbmRleE9iamVjdHMgLS0gY2hlY2tpbmcgb2JqZWN0ICgke0V9KTogIiR7ZX0iLmApOmg9ITB9fWVsc2UgaD0hMDtoJiYodGhpcy5lbnRyaWVzW3RdPXtvZmZzZXQ6Qy1uLnN0YXJ0LGdlbjppLHVuY29tcHJlc3NlZDohMH0pO2UubGFzdEluZGV4PWE7Y29uc3QgUT1lLmV4ZWMobyk7aWYoUSl7cz1lLmxhc3RJbmRleCsxLUM7aWYoImVuZG9iaiIhPT1RWzFdKXt3YXJuKGBpbmRleE9iamVjdHM6IEZvdW5kICIke1FbMV19IiBpbnNpZGUgb2YgYW5vdGhlciAib2JqIiwgY2F1c2VkIGJ5IG1pc3NpbmcgImVuZG9iaiIgLS0gdHJ5aW5nIHRvIHJlY292ZXIuYCk7cy09UVsxXS5sZW5ndGgrMX19ZWxzZSBzPWMtQztjb25zdCBkPWcuc3ViYXJyYXkoQyxDK3MpLGY9c2tpcFVudGlsKGQsMCxyKTtpZihmPHMmJmRbZis1XTw2NCl7bC5wdXNoKEMtbi5zdGFydCk7dGhpcy5feHJlZlN0bXMuYWRkKEMtbi5zdGFydCl9Qys9c31lbHNlIGlmKEUuc3RhcnRzV2l0aCgidHJhaWxlciIpJiYoNz09PUUubGVuZ3RofHwvXHMvLnRlc3QoRVs3XSkpKXtoLnB1c2goQyk7Y29uc3QgZT1DK0UubGVuZ3RoO2xldCBpO3QubGFzdEluZGV4PWU7Y29uc3QgYT10LmV4ZWMobyk7aWYoYSl7aT10Lmxhc3RJbmRleCsxLUM7aWYoInN0YXJ0eHJlZiIhPT1hWzFdKXt3YXJuKGBpbmRleE9iamVjdHM6IEZvdW5kICIke2FbMV19IiBhZnRlciAidHJhaWxlciIsIGNhdXNlZCBieSBtaXNzaW5nICJzdGFydHhyZWYiIC0tIHRyeWluZyB0byByZWNvdmVyLmApO2ktPWFbMV0ubGVuZ3RoKzF9fWVsc2UgaT1jLUM7Qys9aX1lbHNlIEMrPUUubGVuZ3RoKzF9Zm9yKGNvbnN0IGUgb2YgbCl7dGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKGUpO3RoaXMucmVhZFhSZWYoITApfWNvbnN0IFE9W107bGV0IEUsdSxkPSExO2Zvcihjb25zdCBlIG9mIGgpe24ucG9zPWU7Y29uc3QgdD1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIobikseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMCxyZWNvdmVyeU1vZGU6ITB9KTtpZighaXNDbWQodC5nZXRPYmooKSwidHJhaWxlciIpKWNvbnRpbnVlO2NvbnN0IGk9dC5nZXRPYmooKTtpZihpIGluc3RhbmNlb2YgRGljdCl7US5wdXNoKGkpO2kuaGFzKCJFbmNyeXB0IikmJihkPSEwKX19Zm9yKGNvbnN0IGUgb2ZbLi4uUSwiZ2VuRmFsbGJhY2siLC4uLlFdKXtpZigiZ2VuRmFsbGJhY2siPT09ZSl7aWYoIXUpYnJlYWs7dGhpcy5fZ2VuZXJhdGlvbkZhbGxiYWNrPSEwO2NvbnRpbnVlfWxldCB0PSExO3RyeXtjb25zdCBpPWUuZ2V0KCJSb290Iik7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7Y29uc3QgYT1pLmdldCgiUGFnZXMiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtjb25zdCBzPWEuZ2V0KCJDb3VudCIpO051bWJlci5pc0ludGVnZXIocykmJih0PSEwKX1jYXRjaChlKXt1PWU7Y29udGludWV9aWYodCYmKCFkfHxlLmhhcygiRW5jcnlwdCIpKSYmZS5oYXMoIklEIikpcmV0dXJuIGU7RT1lfWlmKEUpcmV0dXJuIEU7aWYodGhpcy50b3BEaWN0KXJldHVybiB0aGlzLnRvcERpY3Q7dGhyb3cgbmV3IEludmFsaWRQREZFeGNlcHRpb24oIkludmFsaWQgUERGIHN0cnVjdHVyZS4iKX1yZWFkWFJlZihlPSExKXtjb25zdCB0PXRoaXMuc3RyZWFtLGk9bmV3IFNldDtmb3IoO3RoaXMuc3RhcnRYUmVmUXVldWUubGVuZ3RoOyl7dHJ5e2NvbnN0IGU9dGhpcy5zdGFydFhSZWZRdWV1ZVswXTtpZihpLmhhcyhlKSl7d2FybigicmVhZFhSZWYgLSBza2lwcGluZyBYUmVmIHRhYmxlIHNpbmNlIGl0IHdhcyBhbHJlYWR5IHBhcnNlZC4iKTt0aGlzLnN0YXJ0WFJlZlF1ZXVlLnNoaWZ0KCk7Y29udGludWV9aS5hZGQoZSk7dC5wb3M9ZSt0LnN0YXJ0O2NvbnN0IGE9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKHQpLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITB9KTtsZXQgcyxyPWEuZ2V0T2JqKCk7aWYoaXNDbWQociwieHJlZiIpKXtzPXRoaXMucHJvY2Vzc1hSZWZUYWJsZShhKTt0aGlzLnRvcERpY3R8fCh0aGlzLnRvcERpY3Q9cyk7cj1zLmdldCgiWFJlZlN0bSIpO2lmKE51bWJlci5pc0ludGVnZXIocikmJiF0aGlzLl94cmVmU3Rtcy5oYXMocikpe3RoaXMuX3hyZWZTdG1zLmFkZChyKTt0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gocik7dGhpcy4jaj8/PXJ9fWVsc2V7aWYoIU51bWJlci5pc0ludGVnZXIocikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgc3RyZWFtIGhlYWRlciIpO2lmKCEoTnVtYmVyLmlzSW50ZWdlcihhLmdldE9iaigpKSYmaXNDbWQoYS5nZXRPYmooKSwib2JqIikmJihyPWEuZ2V0T2JqKCkpaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBzdHJlYW0iKTtzPXRoaXMucHJvY2Vzc1hSZWZTdHJlYW0ocik7dGhpcy50b3BEaWN0fHwodGhpcy50b3BEaWN0PXMpO2lmKCFzKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRmFpbGVkIHRvIHJlYWQgWFJlZiBzdHJlYW0iKX1yPXMuZ2V0KCJQcmV2Iik7TnVtYmVyLmlzSW50ZWdlcihyKT90aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gocik6ciBpbnN0YW5jZW9mIFJlZiYmdGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKHIubnVtKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCIod2hpbGUgcmVhZGluZyBYUmVmKTogIitlKX10aGlzLnN0YXJ0WFJlZlF1ZXVlLnNoaWZ0KCl9aWYodGhpcy50b3BEaWN0KXJldHVybiB0aGlzLnRvcERpY3Q7aWYoIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbn1nZXQgbGFzdFhSZWZTdHJlYW1Qb3MoKXtyZXR1cm4gdGhpcy4jaj8/KHRoaXMuX3hyZWZTdG1zLnNpemU+MD9NYXRoLm1heCguLi50aGlzLl94cmVmU3Rtcyk6bnVsbCl9Z2V0RW50cnkoZSl7Y29uc3QgdD10aGlzLmVudHJpZXNbZV07cmV0dXJuIHQmJiF0LmZyZWUmJnQub2Zmc2V0P3Q6bnVsbH1mZXRjaElmUmVmKGUsdD0hMSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBSZWY/dGhpcy5mZXRjaChlLHQpOmV9ZmV0Y2goZSx0PSExKXtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXRocm93IG5ldyBFcnJvcigicmVmIG9iamVjdCBpcyBub3QgYSByZWZlcmVuY2UiKTtjb25zdCBpPWUubnVtLGE9dGhpcy5fY2FjaGVNYXAuZ2V0KGkpO2lmKHZvaWQgMCE9PWEpe2EgaW5zdGFuY2VvZiBEaWN0JiYhYS5vYmpJZCYmKGEub2JqSWQ9ZS50b1N0cmluZygpKTtyZXR1cm4gYX1sZXQgcz10aGlzLmdldEVudHJ5KGkpO2lmKG51bGw9PT1zKXt0aGlzLl9jYWNoZU1hcC5zZXQoaSxzKTtyZXR1cm4gc31pZih0aGlzLl9wZW5kaW5nUmVmcy5oYXMoZSkpe3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKTt3YXJuKGBJZ25vcmluZyBjaXJjdWxhciByZWZlcmVuY2U6ICR7ZX0uYCk7cmV0dXJuIG10fXRoaXMuX3BlbmRpbmdSZWZzLnB1dChlKTt0cnl7cz1zLnVuY29tcHJlc3NlZD90aGlzLmZldGNoVW5jb21wcmVzc2VkKGUscyx0KTp0aGlzLmZldGNoQ29tcHJlc3NlZChlLHMsdCk7dGhpcy5fcGVuZGluZ1JlZnMucmVtb3ZlKGUpfWNhdGNoKHQpe3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKTt0aHJvdyB0fXMgaW5zdGFuY2VvZiBEaWN0P3Mub2JqSWQ9ZS50b1N0cmluZygpOnMgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYocy5kaWN0Lm9iaklkPWUudG9TdHJpbmcoKSk7cmV0dXJuIHN9ZmV0Y2hVbmNvbXByZXNzZWQoZSx0LGk9ITEpe2NvbnN0IGE9ZS5nZW47bGV0IHM9ZS5udW07aWYodC5nZW4hPT1hKXtjb25zdCByPWBJbmNvbnNpc3RlbnQgZ2VuZXJhdGlvbiBpbiBYUmVmOiAke2V9YDtpZih0aGlzLl9nZW5lcmF0aW9uRmFsbGJhY2smJnQuZ2VuPGEpe3dhcm4ocik7cmV0dXJuIHRoaXMuZmV0Y2hVbmNvbXByZXNzZWQoUmVmLmdldChzLHQuZ2VuKSx0LGkpfXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24ocil9Y29uc3Qgcj10aGlzLnN0cmVhbS5tYWtlU3ViU3RyZWFtKHQub2Zmc2V0K3RoaXMuc3RyZWFtLnN0YXJ0KSxuPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihyKSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwfSksZz1uLmdldE9iaigpLG89bi5nZXRPYmooKSxjPW4uZ2V0T2JqKCk7aWYoZyE9PXN8fG8hPT1hfHwhKGMgaW5zdGFuY2VvZiBDbWQpKXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAodW5jb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCk7aWYoIm9iaiIhPT1jLmNtZCl7aWYoYy5jbWQuc3RhcnRzV2l0aCgib2JqIikpe3M9cGFyc2VJbnQoYy5jbWQuc3Vic3RyaW5nKDMpLDEwKTtpZighTnVtYmVyLmlzTmFOKHMpKXJldHVybiBzfXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAodW5jb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCl9KHQ9dGhpcy5lbmNyeXB0JiYhaT9uLmdldE9iaih0aGlzLmVuY3J5cHQuY3JlYXRlQ2lwaGVyVHJhbnNmb3JtKHMsYSkpOm4uZ2V0T2JqKCkpaW5zdGFuY2VvZiBCYXNlU3RyZWFtfHx0aGlzLl9jYWNoZU1hcC5zZXQocyx0KTtyZXR1cm4gdH1mZXRjaENvbXByZXNzZWQoZSx0LGk9ITEpe2NvbnN0IGE9dC5vZmZzZXQscz10aGlzLmZldGNoKFJlZi5nZXQoYSwwKSk7aWYoIShzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJiYWQgT2JqU3RtIHN0cmVhbSIpO2NvbnN0IHI9cy5kaWN0LmdldCgiRmlyc3QiKSxuPXMuZGljdC5nZXQoIk4iKTtpZighTnVtYmVyLmlzSW50ZWdlcihyKXx8IU51bWJlci5pc0ludGVnZXIobikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZpcnN0IGFuZCBuIHBhcmFtZXRlcnMgZm9yIE9ialN0bSBzdHJlYW0iKTtsZXQgZz1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIocykseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2NvbnN0IG89bmV3IEFycmF5KG4pLGM9bmV3IEFycmF5KG4pO2ZvcihsZXQgZT0wO2U8bjsrK2Upe2NvbnN0IHQ9Zy5nZXRPYmooKTtpZighTnVtYmVyLmlzSW50ZWdlcih0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYGludmFsaWQgb2JqZWN0IG51bWJlciBpbiB0aGUgT2JqU3RtIHN0cmVhbTogJHt0fWApO2NvbnN0IGk9Zy5nZXRPYmooKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYGludmFsaWQgb2JqZWN0IG9mZnNldCBpbiB0aGUgT2JqU3RtIHN0cmVhbTogJHtpfWApO29bZV09dDtjW2VdPWl9Y29uc3QgQz0ocy5zdGFydHx8MCkrcixoPW5ldyBBcnJheShuKTtmb3IobGV0IGU9MDtlPG47KytlKXtjb25zdCB0PWU8bi0xP2NbZSsxXS1jW2VdOnZvaWQgMDtpZih0PDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIG9mZnNldCBpbiB0aGUgT2JqU3RtIHN0cmVhbS4iKTtnPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihzLm1ha2VTdWJTdHJlYW0oQytjW2VdLHQscy5kaWN0KSkseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2NvbnN0IGk9Zy5nZXRPYmooKTtoW2VdPWk7aWYoaSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pY29udGludWU7Y29uc3Qgcj1vW2VdLGw9dGhpcy5lbnRyaWVzW3JdO2wmJmwub2Zmc2V0PT09YSYmbC5nZW49PT1lJiZ0aGlzLl9jYWNoZU1hcC5zZXQocixpKX1pZih2b2lkIDA9PT0odD1oW3QuZ2VuXSkpdGhyb3cgbmV3IFhSZWZFbnRyeUV4Y2VwdGlvbihgQmFkIChjb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCk7cmV0dXJuIHR9YXN5bmMgZmV0Y2hJZlJlZkFzeW5jKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBSZWY/dGhpcy5mZXRjaEFzeW5jKGUsdCk6ZX1hc3luYyBmZXRjaEFzeW5jKGUsdCl7dHJ5e3JldHVybiB0aGlzLmZldGNoKGUsdCl9Y2F0Y2goaSl7aWYoIShpIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKXRocm93IGk7YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLnJlcXVlc3RSYW5nZShpLmJlZ2luLGkuZW5kKTtyZXR1cm4gdGhpcy5mZXRjaEFzeW5jKGUsdCl9fWdldENhdGFsb2dPYmooKXtyZXR1cm4gdGhpcy5yb290fX1jb25zdCBnZz1bMCwwLDYxMiw3OTJdO2NsYXNzIFBhZ2V7Y29uc3RydWN0b3Ioe3BkZk1hbmFnZXI6ZSx4cmVmOnQscGFnZUluZGV4OmkscGFnZURpY3Q6YSxyZWY6cyxnbG9iYWxJZEZhY3Rvcnk6cixmb250Q2FjaGU6bixidWlsdEluQ01hcENhY2hlOmcsc3RhbmRhcmRGb250RGF0YUNhY2hlOm8sZ2xvYmFsSW1hZ2VDYWNoZTpjLHN5c3RlbUZvbnRDYWNoZTpDLG5vbkJsZW5kTW9kZXNTZXQ6aCx4ZmFGYWN0b3J5Omx9KXt0aGlzLnBkZk1hbmFnZXI9ZTt0aGlzLnBhZ2VJbmRleD1pO3RoaXMucGFnZURpY3Q9YTt0aGlzLnhyZWY9dDt0aGlzLnJlZj1zO3RoaXMuZm9udENhY2hlPW47dGhpcy5idWlsdEluQ01hcENhY2hlPWc7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGU9bzt0aGlzLmdsb2JhbEltYWdlQ2FjaGU9Yzt0aGlzLnN5c3RlbUZvbnRDYWNoZT1DO3RoaXMubm9uQmxlbmRNb2Rlc1NldD1oO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz1lLmV2YWx1YXRvck9wdGlvbnM7dGhpcy5yZXNvdXJjZXNQcm9taXNlPW51bGw7dGhpcy54ZmFGYWN0b3J5PWw7Y29uc3QgUT17b2JqOjB9O3RoaXMuX2xvY2FsSWRGYWN0b3J5PWNsYXNzIGV4dGVuZHMgcntzdGF0aWMgY3JlYXRlT2JqSWQoKXtyZXR1cm5gcCR7aX1fJHsrK1Eub2JqfWB9c3RhdGljIGdldFBhZ2VPYmpJZCgpe3JldHVybmBwJHtzLnRvU3RyaW5nKCl9YH19fV9nZXRJbmhlcml0YWJsZVByb3BlcnR5KGUsdD0hMSl7Y29uc3QgaT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnRoaXMucGFnZURpY3Qsa2V5OmUsZ2V0QXJyYXk6dCxzdG9wV2hlbkZvdW5kOiExfSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoaSk/MSE9PWkubGVuZ3RoJiZpWzBdaW5zdGFuY2VvZiBEaWN0P0RpY3QubWVyZ2Uoe3hyZWY6dGhpcy54cmVmLGRpY3RBcnJheTppfSk6aVswXTppfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMucGFnZURpY3QuZ2V0QXJyYXkoIkNvbnRlbnRzIil9Z2V0IHJlc291cmNlcygpe2NvbnN0IGU9dGhpcy5fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eSgiUmVzb3VyY2VzIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJyZXNvdXJjZXMiLGUgaW5zdGFuY2VvZiBEaWN0P2U6RGljdC5lbXB0eSl9X2dldEJvdW5kaW5nQm94KGUpe2lmKHRoaXMueGZhRGF0YSlyZXR1cm4gdGhpcy54ZmFEYXRhLmJib3g7Y29uc3QgdD1sb29rdXBOb3JtYWxSZWN0KHRoaXMuX2dldEluaGVyaXRhYmxlUHJvcGVydHkoZSwhMCksbnVsbCk7aWYodCl7aWYodFsyXS10WzBdPjAmJnRbM10tdFsxXT4wKXJldHVybiB0O3dhcm4oYEVtcHR5LCBvciBpbnZhbGlkLCAvJHtlfSBlbnRyeS5gKX1yZXR1cm4gbnVsbH1nZXQgbWVkaWFCb3goKXtyZXR1cm4gc2hhZG93KHRoaXMsIm1lZGlhQm94Iix0aGlzLl9nZXRCb3VuZGluZ0JveCgiTWVkaWFCb3giKXx8Z2cpfWdldCBjcm9wQm94KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjcm9wQm94Iix0aGlzLl9nZXRCb3VuZGluZ0JveCgiQ3JvcEJveCIpfHx0aGlzLm1lZGlhQm94KX1nZXQgdXNlclVuaXQoKXtsZXQgZT10aGlzLnBhZ2VEaWN0LmdldCgiVXNlclVuaXQiKTsoIm51bWJlciIhPXR5cGVvZiBlfHxlPD0wKSYmKGU9MSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJ1c2VyVW5pdCIsZSl9Z2V0IHZpZXcoKXtjb25zdHtjcm9wQm94OmUsbWVkaWFCb3g6dH09dGhpcztpZihlIT09dCYmIWlzQXJyYXlFcXVhbChlLHQpKXtjb25zdCBpPVV0aWwuaW50ZXJzZWN0KGUsdCk7aWYoaSYmaVsyXS1pWzBdPjAmJmlbM10taVsxXT4wKXJldHVybiBzaGFkb3codGhpcywidmlldyIsaSk7d2FybigiRW1wdHkgL0Nyb3BCb3ggYW5kIC9NZWRpYUJveCBpbnRlcnNlY3Rpb24uIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3Iix0KX1nZXQgcm90YXRlKCl7bGV0IGU9dGhpcy5fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eSgiUm90YXRlIil8fDA7ZSU5MCE9MD9lPTA6ZT49MzYwP2UlPTM2MDplPDAmJihlPShlJTM2MCszNjApJTM2MCk7cmV0dXJuIHNoYWRvdyh0aGlzLCJyb3RhdGUiLGUpfV9vblN1YlN0cmVhbUVycm9yKGUsdCl7aWYoIXRoaXMuZXZhbHVhdG9yT3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRDb250ZW50U3RyZWFtIC0gaWdub3Jpbmcgc3ViLXN0cmVhbSAoJHt0fSk6ICIke2V9Ii5gKX1nZXRDb250ZW50U3RyZWFtKCl7cmV0dXJuIHRoaXMucGRmTWFuYWdlci5lbnN1cmUodGhpcywiY29udGVudCIpLnRoZW4oKGU9PmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2U6QXJyYXkuaXNBcnJheShlKT9uZXcgU3RyZWFtc1NlcXVlbmNlU3RyZWFtKGUsdGhpcy5fb25TdWJTdHJlYW1FcnJvci5iaW5kKHRoaXMpKTpuZXcgTnVsbFN0cmVhbSkpfWdldCB4ZmFEYXRhKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhIix0aGlzLnhmYUZhY3Rvcnk/e2Jib3g6dGhpcy54ZmFGYWN0b3J5LmdldEJvdW5kaW5nQm94KHRoaXMucGFnZUluZGV4KX06bnVsbCl9YXN5bmMjWChlLHQsaSl7Y29uc3QgYT1bXTtmb3IoY29uc3QgcyBvZiBlKWlmKHMuaWQpe2NvbnN0IGU9UmVmLmZyb21TdHJpbmcocy5pZCk7aWYoIWUpe3dhcm4oYEEgbm9uLWxpbmtlZCBhbm5vdGF0aW9uIGNhbm5vdCBiZSBtb2RpZmllZDogJHtzLmlkfWApO2NvbnRpbnVlfWlmKHMuZGVsZXRlZCl7dC5wdXQoZSxlKTtpZihzLnBvcHVwUmVmKXtjb25zdCBlPVJlZi5mcm9tU3RyaW5nKHMucG9wdXBSZWYpO2UmJnQucHV0KGUsZSl9Y29udGludWV9aT8ucHV0KGUpO3MucmVmPWU7YS5wdXNoKHRoaXMueHJlZi5mZXRjaEFzeW5jKGUpLnRoZW4oKGU9PntlIGluc3RhbmNlb2YgRGljdCYmKHMub2xkQW5ub3RhdGlvbj1lLmNsb25lKCkpfSksKCgpPT57d2FybihgQ2Fubm90IGZldGNoIFxgb2xkQW5ub3RhdGlvblxgIGZvcjogJHtlfS5gKX0pKSk7ZGVsZXRlIHMuaWR9YXdhaXQgUHJvbWlzZS5hbGwoYSl9YXN5bmMgc2F2ZU5ld0Fubm90YXRpb25zKGUsdCxpLGEpe2lmKHRoaXMueGZhRmFjdG9yeSl0aHJvdyBuZXcgRXJyb3IoIlhGQTogQ2Fubm90IHNhdmUgbmV3IGFubm90YXRpb25zLiIpO2NvbnN0IHM9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSkscj1uZXcgUmVmU2V0Q2FjaGUsbj1uZXcgUmVmU2V0O2F3YWl0IHRoaXMuI1goaSxyLG4pO2NvbnN0IGc9dGhpcy5wYWdlRGljdCxvPXRoaXMuYW5ub3RhdGlvbnMuZmlsdGVyKChlPT4hKGUgaW5zdGFuY2VvZiBSZWYmJnIuaGFzKGUpKSkpLGM9YXdhaXQgQW5ub3RhdGlvbkZhY3Rvcnkuc2F2ZU5ld0Fubm90YXRpb25zKHMsdCxpLGEpO2Zvcihjb25zdHtyZWY6ZX1vZiBjLmFubm90YXRpb25zKWUgaW5zdGFuY2VvZiBSZWYmJiFuLmhhcyhlKSYmby5wdXNoKGUpO2NvbnN0IEM9Zy5nZXQoIkFubm90cyIpO2cuc2V0KCJBbm5vdHMiLG8pO2NvbnN0IGg9W107YXdhaXQgd3JpdGVPYmplY3QodGhpcy5yZWYsZyxoLHRoaXMueHJlZik7QyYmZy5zZXQoIkFubm90cyIsQyk7Y29uc3QgbD1jLmRlcGVuZGVuY2llcztsLnB1c2goe3JlZjp0aGlzLnJlZixkYXRhOmguam9pbigiIil9LC4uLmMuYW5ub3RhdGlvbnMpO2Zvcihjb25zdCBlIG9mIHIpbC5wdXNoKHtyZWY6ZSxkYXRhOm51bGx9KTtyZXR1cm4gbH1zYXZlKGUsdCxpKXtjb25zdCBhPW5ldyBQYXJ0aWFsRXZhbHVhdG9yKHt4cmVmOnRoaXMueHJlZixoYW5kbGVyOmUscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LGlkRmFjdG9yeTp0aGlzLl9sb2NhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0aGlzLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbEltYWdlQ2FjaGU6dGhpcy5nbG9iYWxJbWFnZUNhY2hlLHN5c3RlbUZvbnRDYWNoZTp0aGlzLnN5c3RlbUZvbnRDYWNoZSxvcHRpb25zOnRoaXMuZXZhbHVhdG9yT3B0aW9uc30pO3JldHVybiB0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucy50aGVuKChmdW5jdGlvbihlKXtjb25zdCBzPVtdO2Zvcihjb25zdCByIG9mIGUpcy5wdXNoKHIuc2F2ZShhLHQsaSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYHNhdmUgLSBpZ25vcmluZyBhbm5vdGF0aW9uIGRhdGEgZHVyaW5nICIke3QubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKSk7cmV0dXJuIFByb21pc2UuYWxsKHMpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBlLmZpbHRlcigoZT0+ISFlKSl9KSl9KSl9bG9hZFJlc291cmNlcyhlKXt0aGlzLnJlc291cmNlc1Byb21pc2V8fD10aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsInJlc291cmNlcyIpO3JldHVybiB0aGlzLnJlc291cmNlc1Byb21pc2UudGhlbigoKCk9Pm5ldyBPYmplY3RMb2FkZXIodGhpcy5yZXNvdXJjZXMsZSx0aGlzLnhyZWYpLmxvYWQoKSkpfWdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjplLHNpbms6dCx0YXNrOmksaW50ZW50OmEsY2FjaGVLZXk6cyxhbm5vdGF0aW9uU3RvcmFnZTpyPW51bGwsbW9kaWZpZWRJZHM6bj1udWxsfSl7Y29uc3QgQz10aGlzLmdldENvbnRlbnRTdHJlYW0oKSxFPXRoaXMubG9hZFJlc291cmNlcyhbIkNvbG9yU3BhY2UiLCJFeHRHU3RhdGUiLCJGb250IiwiUGF0dGVybiIsIlByb3BlcnRpZXMiLCJTaGFkaW5nIiwiWE9iamVjdCJdKSxkPW5ldyBQYXJ0aWFsRXZhbHVhdG9yKHt4cmVmOnRoaXMueHJlZixoYW5kbGVyOmUscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LGlkRmFjdG9yeTp0aGlzLl9sb2NhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0aGlzLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbEltYWdlQ2FjaGU6dGhpcy5nbG9iYWxJbWFnZUNhY2hlLHN5c3RlbUZvbnRDYWNoZTp0aGlzLnN5c3RlbUZvbnRDYWNoZSxvcHRpb25zOnRoaXMuZXZhbHVhdG9yT3B0aW9uc30pLGY9dGhpcy54ZmFGYWN0b3J5P251bGw6Z2V0TmV3QW5ub3RhdGlvbnNNYXAocikscD1mPy5nZXQodGhpcy5wYWdlSW5kZXgpO2xldCBtPVByb21pc2UucmVzb2x2ZShudWxsKSx5PW51bGw7aWYocCl7Y29uc3QgZT10aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJhbm5vdGF0aW9uR2xvYmFscyIpO2xldCB0O2NvbnN0IGE9bmV3IFNldDtmb3IoY29uc3R7Yml0bWFwSWQ6ZSxiaXRtYXA6dH1vZiBwKSFlfHx0fHxhLmhhcyhlKXx8YS5hZGQoZSk7Y29uc3R7aXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6c309dGhpcy5ldmFsdWF0b3JPcHRpb25zO2lmKGEuc2l6ZT4wKXtjb25zdCBlPXAuc2xpY2UoKTtmb3IoY29uc3RbdCxpXW9mIHIpdC5zdGFydHNXaXRoKHUpJiZpLmJpdG1hcCYmYS5oYXMoaS5iaXRtYXBJZCkmJmUucHVzaChpKTt0PUFubm90YXRpb25GYWN0b3J5LmdlbmVyYXRlSW1hZ2VzKGUsdGhpcy54cmVmLHMpfWVsc2UgdD1Bbm5vdGF0aW9uRmFjdG9yeS5nZW5lcmF0ZUltYWdlcyhwLHRoaXMueHJlZixzKTt5PW5ldyBSZWZTZXQ7bT1Qcm9taXNlLmFsbChbZSx0aGlzLiNYKHAseSxudWxsKV0pLnRoZW4oKChbZV0pPT5lP0Fubm90YXRpb25GYWN0b3J5LnByaW50TmV3QW5ub3RhdGlvbnMoZSxkLGkscCx0KTpudWxsKSl9Y29uc3Qgdz1Qcm9taXNlLmFsbChbQyxFXSkudGhlbigoKFtyXSk9Pntjb25zdCBuPW5ldyBPcGVyYXRvckxpc3QoYSx0KTtlLnNlbmQoIlN0YXJ0UmVuZGVyUGFnZSIse3RyYW5zcGFyZW5jeTpkLmhhc0JsZW5kTW9kZXModGhpcy5yZXNvdXJjZXMsdGhpcy5ub25CbGVuZE1vZGVzU2V0KSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsY2FjaGVLZXk6c30pO3JldHVybiBkLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOnIsdGFzazppLHJlc291cmNlczp0aGlzLnJlc291cmNlcyxvcGVyYXRvckxpc3Q6bn0pLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSl9KSk7cmV0dXJuIFByb21pc2UuYWxsKFt3LHRoaXMuX3BhcnNlZEFubm90YXRpb25zLG1dKS50aGVuKChmdW5jdGlvbihbZSx0LHNdKXtpZihzKXt0PXQuZmlsdGVyKChlPT4hKGUucmVmJiZ5LmhhcyhlLnJlZikpKSk7Zm9yKGxldCBlPTAsaT1zLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBhPXNbZV07aWYoYS5yZWZUb1JlcGxhY2Upe2NvbnN0IHI9dC5maW5kSW5kZXgoKGU9PmUucmVmJiZpc1JlZnNFcXVhbChlLnJlZixhLnJlZlRvUmVwbGFjZSkpKTtpZihyPj0wKXt0LnNwbGljZShyLDEsYSk7cy5zcGxpY2UoZS0tLDEpO2ktLX19fXQ9dC5jb25jYXQocyl9aWYoMD09PXQubGVuZ3RofHxhJmwpe2UuZmx1c2goITApO3JldHVybntsZW5ndGg6ZS50b3RhbExlbmd0aH19Y29uc3QgQz0hIShhJmgpLEU9ISEoYSZRKSx1PSEhKGEmZyksZj0hIShhJm8pLHA9ISEoYSZjKSxtPVtdO2Zvcihjb25zdCBlIG9mIHQpKHV8fGYmJmUubXVzdEJlVmlld2VkKHIsQykmJmUubXVzdEJlVmlld2VkV2hlbkVkaXRpbmcoRSxuKXx8cCYmZS5tdXN0QmVQcmludGVkKHIpKSYmbS5wdXNoKGUuZ2V0T3BlcmF0b3JMaXN0KGQsaSxhLHIpLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBhbm5vdGF0aW9uIGRhdGEgZHVyaW5nICIke2kubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtyZXR1cm57b3BMaXN0Om51bGwsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfX0pKSk7cmV0dXJuIFByb21pc2UuYWxsKG0pLnRoZW4oKGZ1bmN0aW9uKHQpe2xldCBpPSExLGE9ITE7Zm9yKGNvbnN0e29wTGlzdDpzLHNlcGFyYXRlRm9ybTpyLHNlcGFyYXRlQ2FudmFzOm59b2YgdCl7ZS5hZGRPcExpc3Qocyk7aXx8PXI7YXx8PW59ZS5mbHVzaCghMCx7Zm9ybTppLGNhbnZhczphfSk7cmV0dXJue2xlbmd0aDplLnRvdGFsTGVuZ3RofX0pKX0pKX1hc3luYyBleHRyYWN0VGV4dENvbnRlbnQoe2hhbmRsZXI6ZSx0YXNrOnQsaW5jbHVkZU1hcmtlZENvbnRlbnQ6aSxkaXNhYmxlTm9ybWFsaXphdGlvbjphLHNpbms6c30pe2NvbnN0IHI9dGhpcy5nZXRDb250ZW50U3RyZWFtKCksbj10aGlzLmxvYWRSZXNvdXJjZXMoWyJFeHRHU3RhdGUiLCJGb250IiwiUHJvcGVydGllcyIsIlhPYmplY3QiXSksZz10aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygibGFuZyIpLFtvLCxjXT1hd2FpdCBQcm9taXNlLmFsbChbcixuLGddKTtyZXR1cm4gbmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSkuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTpvLHRhc2s6dCxyZXNvdXJjZXM6dGhpcy5yZXNvdXJjZXMsaW5jbHVkZU1hcmtlZENvbnRlbnQ6aSxkaXNhYmxlTm9ybWFsaXphdGlvbjphLHNpbms6cyx2aWV3Qm94OnRoaXMudmlldyxsYW5nOmN9KX1hc3luYyBnZXRTdHJ1Y3RUcmVlKCl7Y29uc3QgZT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygic3RydWN0VHJlZVJvb3QiKTtpZighZSlyZXR1cm4gbnVsbDthd2FpdCB0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucztjb25zdCB0PWF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmUodGhpcywiX3BhcnNlU3RydWN0VHJlZSIsW2VdKTtyZXR1cm4gdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0LCJzZXJpYWxpemFibGUiKX1fcGFyc2VTdHJ1Y3RUcmVlKGUpe2NvbnN0IHQ9bmV3IFN0cnVjdFRyZWVQYWdlKGUsdGhpcy5wYWdlRGljdCk7dC5wYXJzZSh0aGlzLnJlZik7cmV0dXJuIHR9YXN5bmMgZ2V0QW5ub3RhdGlvbnNEYXRhKGUsdCxpKXtjb25zdCBhPWF3YWl0IHRoaXMuX3BhcnNlZEFubm90YXRpb25zO2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gYTtjb25zdCBzPVtdLHI9W107bGV0IG47Y29uc3QgQz0hIShpJmcpLGg9ISEoaSZvKSxsPSEhKGkmYyk7Zm9yKGNvbnN0IGkgb2YgYSl7Y29uc3QgYT1DfHxoJiZpLnZpZXdhYmxlOyhhfHxsJiZpLnByaW50YWJsZSkmJnMucHVzaChpLmRhdGEpO2lmKGkuaGFzVGV4dENvbnRlbnQmJmEpe258fD1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KTtyLnB1c2goaS5leHRyYWN0VGV4dENvbnRlbnQobix0LFstMS8wLC0xLzAsMS8wLDEvMF0pLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBnZXRBbm5vdGF0aW9uc0RhdGEgLSBpZ25vcmluZyB0ZXh0Q29udGVudCBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApfSkpKX19YXdhaXQgUHJvbWlzZS5hbGwocik7cmV0dXJuIHN9Z2V0IGFubm90YXRpb25zKCl7Y29uc3QgZT10aGlzLl9nZXRJbmhlcml0YWJsZVByb3BlcnR5KCJBbm5vdHMiKTtyZXR1cm4gc2hhZG93KHRoaXMsImFubm90YXRpb25zIixBcnJheS5pc0FycmF5KGUpP2U6W10pfWdldCBfcGFyc2VkQW5ub3RhdGlvbnMoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9wYXJzZWRBbm5vdGF0aW9ucyIsdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJhbm5vdGF0aW9ucyIpLnRoZW4oKGFzeW5jIGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGU7Y29uc3RbdCxpXT1hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKSx0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJmaWVsZE9iamVjdHMiKV0pO2lmKCF0KXJldHVybltdO2NvbnN0IGE9aT8ub3JwaGFuRmllbGRzLHM9W107Zm9yKGNvbnN0IGkgb2YgZSlzLnB1c2goQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlKHRoaXMueHJlZixpLHQsdGhpcy5fbG9jYWxJZEZhY3RvcnksITEsYSx0aGlzLnJlZikuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYF9wYXJzZWRBbm5vdGF0aW9uczogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtjb25zdCByPVtdO2xldCBuLGc7Zm9yKGNvbnN0IGUgb2YgYXdhaXQgUHJvbWlzZS5hbGwocykpZSYmKGUgaW5zdGFuY2VvZiBXaWRnZXRBbm5vdGF0aW9uPyhnfHw9W10pLnB1c2goZSk6ZSBpbnN0YW5jZW9mIFBvcHVwQW5ub3RhdGlvbj8obnx8PVtdKS5wdXNoKGUpOnIucHVzaChlKSk7ZyYmci5wdXNoKC4uLmcpO24mJnIucHVzaCguLi5uKTtyZXR1cm4gcn0pKSl9Z2V0IGpzQWN0aW9ucygpe3JldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIixjb2xsZWN0QWN0aW9ucyh0aGlzLnhyZWYsdGhpcy5wYWdlRGljdCxwQSkpfX1jb25zdCBvZz1uZXcgVWludDhBcnJheShbMzcsODAsNjgsNzAsNDVdKSxJZz1uZXcgVWludDhBcnJheShbMTE1LDExNiw5NywxMTQsMTE2LDEyMCwxMTQsMTAxLDEwMl0pLGNnPW5ldyBVaW50OEFycmF5KFsxMDEsMTEwLDEwMCwxMTEsOTgsMTA2XSk7ZnVuY3Rpb24gZmluZChlLHQsaT0xMDI0LGE9ITEpe2NvbnN0IHM9dC5sZW5ndGgscj1lLnBlZWtCeXRlcyhpKSxuPXIubGVuZ3RoLXM7aWYobjw9MClyZXR1cm4hMTtpZihhKXtjb25zdCBpPXMtMTtsZXQgYT1yLmxlbmd0aC0xO2Zvcig7YT49aTspe2xldCBuPTA7Zm9yKDtuPHMmJnJbYS1uXT09PXRbaS1uXTspbisrO2lmKG4+PXMpe2UucG9zKz1hLWk7cmV0dXJuITB9YS0tfX1lbHNle2xldCBpPTA7Zm9yKDtpPD1uOyl7bGV0IGE9MDtmb3IoO2E8cyYmcltpK2FdPT09dFthXTspYSsrO2lmKGE+PXMpe2UucG9zKz1pO3JldHVybiEwfWkrK319cmV0dXJuITF9Y2xhc3MgUERGRG9jdW1lbnR7Y29uc3RydWN0b3IoZSx0KXtpZih0Lmxlbmd0aDw9MCl0aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiVGhlIFBERiBmaWxlIGlzIGVtcHR5LCBpLmUuIGl0cyBzaXplIGlzIHplcm8gYnl0ZXMuIik7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy5zdHJlYW09dDt0aGlzLnhyZWY9bmV3IFhSZWYodCxlKTt0aGlzLl9wYWdlUHJvbWlzZXM9bmV3IE1hcDt0aGlzLl92ZXJzaW9uPW51bGw7Y29uc3QgaT17Zm9udDowfTt0aGlzLl9nbG9iYWxJZEZhY3Rvcnk9Y2xhc3N7c3RhdGljIGdldERvY0lkKCl7cmV0dXJuYGdfJHtlLmRvY0lkfWB9c3RhdGljIGNyZWF0ZUZvbnRJZCgpe3JldHVybiJmIisgKytpLmZvbnR9c3RhdGljIGNyZWF0ZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgY3JlYXRlT2JqSWRgIGNhbGxlZC4iKX1zdGF0aWMgZ2V0UGFnZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0UGFnZU9iaklkYCBjYWxsZWQuIil9fX1wYXJzZShlKXt0aGlzLnhyZWYucGFyc2UoZSk7dGhpcy5jYXRhbG9nPW5ldyBDYXRhbG9nKHRoaXMucGRmTWFuYWdlcix0aGlzLnhyZWYpfWdldCBsaW5lYXJpemF0aW9uKCl7bGV0IGU9bnVsbDt0cnl7ZT1MaW5lYXJpemF0aW9uLmNyZWF0ZSh0aGlzLnN0cmVhbSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbyhlKX1yZXR1cm4gc2hhZG93KHRoaXMsImxpbmVhcml6YXRpb24iLGUpfWdldCBzdGFydFhSZWYoKXtjb25zdCBlPXRoaXMuc3RyZWFtO2xldCB0PTA7aWYodGhpcy5saW5lYXJpemF0aW9uKXtlLnJlc2V0KCk7aWYoZmluZChlLGNnKSl7ZS5za2lwKDYpO2xldCBpPWUucGVla0J5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZShpKTspe2UucG9zKys7aT1lLnBlZWtCeXRlKCl9dD1lLnBvcy1lLnN0YXJ0fX1lbHNle2NvbnN0IGk9MTAyNCxhPUlnLmxlbmd0aDtsZXQgcz0hMSxyPWUuZW5kO2Zvcig7IXMmJnI+MDspe3ItPWktYTtyPDAmJihyPTApO2UucG9zPXI7cz1maW5kKGUsSWcsaSwhMCl9aWYocyl7ZS5za2lwKDkpO2xldCBpO2Rve2k9ZS5nZXRCeXRlKCl9d2hpbGUoaXNXaGl0ZVNwYWNlKGkpKTtsZXQgYT0iIjtmb3IoO2k+PTMyJiZpPD01Nzspe2ErPVN0cmluZy5mcm9tQ2hhckNvZGUoaSk7aT1lLmdldEJ5dGUoKX10PXBhcnNlSW50KGEsMTApO2lzTmFOKHQpJiYodD0wKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJzdGFydFhSZWYiLHQpfWNoZWNrSGVhZGVyKCl7Y29uc3QgZT10aGlzLnN0cmVhbTtlLnJlc2V0KCk7aWYoIWZpbmQoZSxvZykpcmV0dXJuO2UubW92ZVN0YXJ0KCk7ZS5za2lwKG9nLmxlbmd0aCk7bGV0IHQsaT0iIjtmb3IoOyh0PWUuZ2V0Qnl0ZSgpKT4zMiYmaS5sZW5ndGg8NzspaSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtTdC50ZXN0KGkpP3RoaXMuX3ZlcnNpb249aTp3YXJuKGBJbnZhbGlkIFBERiBoZWFkZXIgdmVyc2lvbjogJHtpfWApfXBhcnNlU3RhcnRYUmVmKCl7dGhpcy54cmVmLnNldFN0YXJ0WFJlZih0aGlzLnN0YXJ0WFJlZil9Z2V0IG51bVBhZ2VzKCl7bGV0IGU9MDtlPXRoaXMuY2F0YWxvZy5oYXNBY3R1YWxOdW1QYWdlcz90aGlzLmNhdGFsb2cubnVtUGFnZXM6dGhpcy54ZmFGYWN0b3J5P3RoaXMueGZhRmFjdG9yeS5nZXROdW1QYWdlcygpOnRoaXMubGluZWFyaXphdGlvbj90aGlzLmxpbmVhcml6YXRpb24ubnVtUGFnZXM6dGhpcy5jYXRhbG9nLm51bVBhZ2VzO3JldHVybiBzaGFkb3codGhpcywibnVtUGFnZXMiLGUpfV9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGUsdD0wKXtyZXR1cm4hIUFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkoKGU9PntpZighKChlPXRoaXMueHJlZi5mZXRjaElmUmVmKGUpKWluc3RhbmNlb2YgRGljdCkpcmV0dXJuITE7aWYoZS5oYXMoIktpZHMiKSl7aWYoKyt0PjEwKXt3YXJuKCJfaGFzT25seURvY3VtZW50U2lnbmF0dXJlczogbWF4aW11bSByZWN1cnNpb24gZGVwdGggcmVhY2hlZCIpO3JldHVybiExfXJldHVybiB0aGlzLl9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGUuZ2V0KCJLaWRzIiksdCl9Y29uc3QgaT1pc05hbWUoZS5nZXQoIkZUIiksIlNpZyIpLGE9ZS5nZXQoIlJlY3QiKSxzPUFycmF5LmlzQXJyYXkoYSkmJmEuZXZlcnkoKGU9PjA9PT1lKSk7cmV0dXJuIGkmJnN9KSl9Z2V0IF94ZmFTdHJlYW1zKCl7Y29uc3QgZT10aGlzLmNhdGFsb2cuYWNyb0Zvcm07aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmdldCgiWEZBIiksaT17InhkcDp4ZHAiOiIiLHRlbXBsYXRlOiIiLGRhdGFzZXRzOiIiLGNvbmZpZzoiIixjb25uZWN0aW9uU2V0OiIiLGxvY2FsZVNldDoiIixzdHlsZXNoZWV0OiIiLCIveGRwOnhkcCI6IiJ9O2lmKHQgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYhdC5pc0VtcHR5KXtpWyJ4ZHA6eGRwIl09dDtyZXR1cm4gaX1pZighQXJyYXkuaXNBcnJheSh0KXx8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2ZvcihsZXQgZT0wLGE9dC5sZW5ndGg7ZTxhO2UrPTIpe2xldCBzO3M9MD09PWU/InhkcDp4ZHAiOmU9PT1hLTI/Ii94ZHA6eGRwIjp0W2VdO2lmKCFpLmhhc093blByb3BlcnR5KHMpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy54cmVmLmZldGNoSWZSZWYodFtlKzFdKTtyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmIXIuaXNFbXB0eSYmKGlbc109cil9cmV0dXJuIGl9Z2V0IHhmYURhdGFzZXRzKCl7Y29uc3QgZT10aGlzLl94ZmFTdHJlYW1zO2lmKCFlKXJldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG51bGwpO2Zvcihjb25zdCB0IG9mWyJkYXRhc2V0cyIsInhkcDp4ZHAiXSl7Y29uc3QgaT1lW3RdO2lmKGkpdHJ5e2NvbnN0IGU9c3RyaW5nVG9VVEY4U3RyaW5nKGkuZ2V0U3RyaW5nKCkpO3JldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG5ldyBEYXRhc2V0UmVhZGVyKHtbdF06ZX0pKX1jYXRjaHt3YXJuKCJYRkEgLSBJbnZhbGlkIHV0Zi04IHN0cmluZy4iKTticmVha319cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhc2V0cyIsbnVsbCl9Z2V0IHhmYURhdGEoKXtjb25zdCBlPXRoaXMuX3hmYVN0cmVhbXM7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgT2JqZWN0LmVudHJpZXMoZSkpaWYoYSl0cnl7dFtpXT1zdHJpbmdUb1VURjhTdHJpbmcoYS5nZXRTdHJpbmcoKSl9Y2F0Y2h7d2FybigiWEZBIC0gSW52YWxpZCB1dGYtOCBzdHJpbmcuIik7cmV0dXJuIG51bGx9cmV0dXJuIHR9Z2V0IHhmYUZhY3RvcnkoKXtsZXQgZTt0aGlzLnBkZk1hbmFnZXIuZW5hYmxlWGZhJiZ0aGlzLmNhdGFsb2cubmVlZHNSZW5kZXJpbmcmJnRoaXMuZm9ybUluZm8uaGFzWGZhJiYhdGhpcy5mb3JtSW5mby5oYXNBY3JvRm9ybSYmKGU9dGhpcy54ZmFEYXRhKTtyZXR1cm4gc2hhZG93KHRoaXMsInhmYUZhY3RvcnkiLGU/bmV3IFhGQUZhY3RvcnkoZSk6bnVsbCl9Z2V0IGlzUHVyZVhmYSgpe3JldHVybiEhdGhpcy54ZmFGYWN0b3J5JiZ0aGlzLnhmYUZhY3RvcnkuaXNWYWxpZCgpfWdldCBodG1sRm9yWGZhKCl7cmV0dXJuIHRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3RvcnkuZ2V0UGFnZXMoKTpudWxsfWFzeW5jIGxvYWRYZmFJbWFnZXMoKXtjb25zdCBlPWF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCJ4ZmFJbWFnZXMiKTtpZighZSlyZXR1cm47Y29uc3QgdD1lLmdldEtleXMoKSxpPW5ldyBPYmplY3RMb2FkZXIoZSx0LHRoaXMueHJlZik7YXdhaXQgaS5sb2FkKCk7Y29uc3QgYT1uZXcgTWFwO2Zvcihjb25zdCBpIG9mIHQpe2NvbnN0IHQ9ZS5nZXQoaSk7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJmEuc2V0KGksdC5nZXRCeXRlcygpKX10aGlzLnhmYUZhY3Rvcnkuc2V0SW1hZ2VzKGEpfWFzeW5jIGxvYWRYZmFGb250cyhlLHQpe2NvbnN0IGk9YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIik7aWYoIWkpcmV0dXJuO2NvbnN0IGE9YXdhaXQgaS5nZXRBc3luYygiRFIiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3Qgcz1uZXcgT2JqZWN0TG9hZGVyKGEsWyJGb250Il0sdGhpcy54cmVmKTthd2FpdCBzLmxvYWQoKTtjb25zdCByPWEuZ2V0KCJGb250Iik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zKTtuLnVzZVN5c3RlbUZvbnRzPSExO2NvbnN0IGc9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6LTEsaWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5jYXRhbG9nLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuY2F0YWxvZy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLmNhdGFsb2cuc3RhbmRhcmRGb250RGF0YUNhY2hlLG9wdGlvbnM6bn0pLG89bmV3IE9wZXJhdG9yTGlzdCxjPVtdLEM9e2dldCBmb250KCl7cmV0dXJuIGMuYXQoLTEpfSxzZXQgZm9udChlKXtjLnB1c2goZSl9LGNsb25lKCl7cmV0dXJuIHRoaXN9fSxoPW5ldyBNYXA7ci5mb3JFYWNoKCgoZSx0KT0+e2guc2V0KGUsdCl9KSk7Y29uc3QgbD1bXTtmb3IoY29uc3RbZSxpXW9mIGgpe2NvbnN0IHM9aS5nZXQoIkZvbnREZXNjcmlwdG9yIik7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7bGV0IHI9cy5nZXQoIkZvbnRGYW1pbHkiKTtyPXIucmVwbGFjZUFsbCgvWyBdKyhcZCkvZywiJDEiKTtjb25zdCBuPXtmb250RmFtaWx5OnIsZm9udFdlaWdodDpzLmdldCgiRm9udFdlaWdodCIpLGl0YWxpY0FuZ2xlOi1zLmdldCgiSXRhbGljQW5nbGUiKX07dmFsaWRhdGVDU1NGb250KG4pJiZsLnB1c2goZy5oYW5kbGVTZXRGb250KGEsW05hbWUuZ2V0KGUpLDFdLG51bGwsbyx0LEMsbnVsbCxuKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgbG9hZFhmYUZvbnRzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpfWF3YWl0IFByb21pc2UuYWxsKGwpO2NvbnN0IFE9dGhpcy54ZmFGYWN0b3J5LnNldEZvbnRzKGMpO2lmKCFRKXJldHVybjtuLmlnbm9yZUVycm9ycz0hMDtsLmxlbmd0aD0wO2MubGVuZ3RoPTA7Y29uc3QgRT1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIFEpZ2V0WGZhRm9udE5hbWUoYCR7ZX0tUmVndWxhcmApfHxFLmFkZChlKTtFLnNpemUmJlEucHVzaCgiUGRmSlMtRmFsbGJhY2siKTtmb3IoY29uc3QgZSBvZiBRKWlmKCFFLmhhcyhlKSlmb3IoY29uc3QgaSBvZlt7bmFtZToiUmVndWxhciIsZm9udFdlaWdodDo0MDAsaXRhbGljQW5nbGU6MH0se25hbWU6IkJvbGQiLGZvbnRXZWlnaHQ6NzAwLGl0YWxpY0FuZ2xlOjB9LHtuYW1lOiJJdGFsaWMiLGZvbnRXZWlnaHQ6NDAwLGl0YWxpY0FuZ2xlOjEyfSx7bmFtZToiQm9sZEl0YWxpYyIsZm9udFdlaWdodDo3MDAsaXRhbGljQW5nbGU6MTJ9XSl7Y29uc3Qgcz1gJHtlfS0ke2kubmFtZX1gLHI9Z2V0WGZhRm9udERpY3Qocyk7bC5wdXNoKGcuaGFuZGxlU2V0Rm9udChhLFtOYW1lLmdldChzKSwxXSxudWxsLG8sdCxDLHIse2ZvbnRGYW1pbHk6ZSxmb250V2VpZ2h0OmkuZm9udFdlaWdodCxpdGFsaWNBbmdsZTppLml0YWxpY0FuZ2xlfSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYGxvYWRYZmFGb250czogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKX1hd2FpdCBQcm9taXNlLmFsbChsKTt0aGlzLnhmYUZhY3RvcnkuYXBwZW5kRm9udHMoYyxFKX1hc3luYyBzZXJpYWxpemVYZmFEYXRhKGUpe3JldHVybiB0aGlzLnhmYUZhY3Rvcnk/dGhpcy54ZmFGYWN0b3J5LnNlcmlhbGl6ZURhdGEoZSk6bnVsbH1nZXQgdmVyc2lvbigpe3JldHVybiB0aGlzLmNhdGFsb2cudmVyc2lvbnx8dGhpcy5fdmVyc2lvbn1nZXQgZm9ybUluZm8oKXtjb25zdCBlPXtoYXNGaWVsZHM6ITEsaGFzQWNyb0Zvcm06ITEsaGFzWGZhOiExLGhhc1NpZ25hdHVyZXM6ITF9LHQ9dGhpcy5jYXRhbG9nLmFjcm9Gb3JtO2lmKCF0KXJldHVybiBzaGFkb3codGhpcywiZm9ybUluZm8iLGUpO3RyeXtjb25zdCBpPXQuZ2V0KCJGaWVsZHMiKSxhPUFycmF5LmlzQXJyYXkoaSkmJmkubGVuZ3RoPjA7ZS5oYXNGaWVsZHM9YTtjb25zdCBzPXQuZ2V0KCJYRkEiKTtlLmhhc1hmYT1BcnJheS5pc0FycmF5KHMpJiZzLmxlbmd0aD4wfHxzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmIXMuaXNFbXB0eTtjb25zdCByPSEhKDEmdC5nZXQoIlNpZ0ZsYWdzIikpLG49ciYmdGhpcy5faGFzT25seURvY3VtZW50U2lnbmF0dXJlcyhpKTtlLmhhc0Fjcm9Gb3JtPWEmJiFuO2UuaGFzU2lnbmF0dXJlcz1yfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYENhbm5vdCBmZXRjaCBmb3JtIGluZm9ybWF0aW9uOiAiJHtlfSIuYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJmb3JtSW5mbyIsZSl9Z2V0IGRvY3VtZW50SW5mbygpe2NvbnN0IGU9e1BERkZvcm1hdFZlcnNpb246dGhpcy52ZXJzaW9uLExhbmd1YWdlOnRoaXMuY2F0YWxvZy5sYW5nLEVuY3J5cHRGaWx0ZXJOYW1lOnRoaXMueHJlZi5lbmNyeXB0P3RoaXMueHJlZi5lbmNyeXB0LmZpbHRlck5hbWU6bnVsbCxJc0xpbmVhcml6ZWQ6ISF0aGlzLmxpbmVhcml6YXRpb24sSXNBY3JvRm9ybVByZXNlbnQ6dGhpcy5mb3JtSW5mby5oYXNBY3JvRm9ybSxJc1hGQVByZXNlbnQ6dGhpcy5mb3JtSW5mby5oYXNYZmEsSXNDb2xsZWN0aW9uUHJlc2VudDohIXRoaXMuY2F0YWxvZy5jb2xsZWN0aW9uLElzU2lnbmF0dXJlc1ByZXNlbnQ6dGhpcy5mb3JtSW5mby5oYXNTaWduYXR1cmVzfTtsZXQgdDt0cnl7dD10aGlzLnhyZWYudHJhaWxlci5nZXQoIkluZm8iKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJUaGUgZG9jdW1lbnQgaW5mb3JtYXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLiIpfWlmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBzaGFkb3codGhpcywiZG9jdW1lbnRJbmZvIixlKTtmb3IoY29uc3QgaSBvZiB0LmdldEtleXMoKSl7Y29uc3QgYT10LmdldChpKTtzd2l0Y2goaSl7Y2FzZSJUaXRsZSI6Y2FzZSJBdXRob3IiOmNhc2UiU3ViamVjdCI6Y2FzZSJLZXl3b3JkcyI6Y2FzZSJDcmVhdG9yIjpjYXNlIlByb2R1Y2VyIjpjYXNlIkNyZWF0aW9uRGF0ZSI6Y2FzZSJNb2REYXRlIjppZigic3RyaW5nIj09dHlwZW9mIGEpe2VbaV09c3RyaW5nVG9QREZTdHJpbmcoYSk7Y29udGludWV9YnJlYWs7Y2FzZSJUcmFwcGVkIjppZihhIGluc3RhbmNlb2YgTmFtZSl7ZVtpXT1hO2NvbnRpbnVlfWJyZWFrO2RlZmF1bHQ6bGV0IHQ7c3dpdGNoKHR5cGVvZiBhKXtjYXNlInN0cmluZyI6dD1zdHJpbmdUb1BERlN0cmluZyhhKTticmVhaztjYXNlIm51bWJlciI6Y2FzZSJib29sZWFuIjp0PWE7YnJlYWs7ZGVmYXVsdDphIGluc3RhbmNlb2YgTmFtZSYmKHQ9YSl9aWYodm9pZCAwPT09dCl7d2FybihgQmFkIHZhbHVlLCBmb3IgY3VzdG9tIGtleSAiJHtpfSIsIGluIEluZm86ICR7YX0uYCk7Y29udGludWV9ZS5DdXN0b218fChlLkN1c3RvbT1PYmplY3QuY3JlYXRlKG51bGwpKTtlLkN1c3RvbVtpXT10O2NvbnRpbnVlfXdhcm4oYEJhZCB2YWx1ZSwgZm9yIGtleSAiJHtpfSIsIGluIEluZm86ICR7YX0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJkb2N1bWVudEluZm8iLGUpfWdldCBmaW5nZXJwcmludHMoKXtjb25zdCBlPSJcMCIucmVwZWF0KDE2KTtmdW5jdGlvbiB2YWxpZGF0ZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJjE2PT09dC5sZW5ndGgmJnQhPT1lfWNvbnN0IHQ9dGhpcy54cmVmLnRyYWlsZXIuZ2V0KCJJRCIpO2xldCBpLGE7aWYoQXJyYXkuaXNBcnJheSh0KSYmdmFsaWRhdGUodFswXSkpe2k9c3RyaW5nVG9CeXRlcyh0WzBdKTt0WzFdIT09dFswXSYmdmFsaWRhdGUodFsxXSkmJihhPXN0cmluZ1RvQnl0ZXModFsxXSkpfWVsc2UgaT12cyh0aGlzLnN0cmVhbS5nZXRCeXRlUmFuZ2UoMCwxMDI0KSwwLDEwMjQpO3JldHVybiBzaGFkb3codGhpcywiZmluZ2VycHJpbnRzIixbdG9IZXhVdGlsKGkpLGE/dG9IZXhVdGlsKGEpOm51bGxdKX1hc3luYyBfZ2V0TGluZWFyaXphdGlvblBhZ2UoZSl7Y29uc3R7Y2F0YWxvZzp0LGxpbmVhcml6YXRpb246aSx4cmVmOmF9PXRoaXMscz1SZWYuZ2V0KGkub2JqZWN0TnVtYmVyRmlyc3QsMCk7dHJ5e2NvbnN0IGU9YXdhaXQgYS5mZXRjaEFzeW5jKHMpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KXtsZXQgaT1lLmdldFJhdygiVHlwZSIpO2kgaW5zdGFuY2VvZiBSZWYmJihpPWF3YWl0IGEuZmV0Y2hBc3luYyhpKSk7aWYoaXNOYW1lKGksIlBhZ2UiKXx8IWUuaGFzKCJUeXBlIikmJiFlLmhhcygiS2lkcyIpJiZlLmhhcygiQ29udGVudHMiKSl7dC5wYWdlS2lkc0NvdW50Q2FjaGUuaGFzKHMpfHx0LnBhZ2VLaWRzQ291bnRDYWNoZS5wdXQocywxKTt0LnBhZ2VJbmRleENhY2hlLmhhcyhzKXx8dC5wYWdlSW5kZXhDYWNoZS5wdXQocywwKTtyZXR1cm5bZSxzXX19dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJUaGUgTGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGRvZXNuJ3QgcG9pbnQgdG8gYSB2YWxpZCBQYWdlIGRpY3Rpb25hcnkuIil9Y2F0Y2goaSl7d2FybihgX2dldExpbmVhcml6YXRpb25QYWdlOiAiJHtpLm1lc3NhZ2V9Ii5gKTtyZXR1cm4gdC5nZXRQYWdlRGljdChlKX19Z2V0UGFnZShlKXtjb25zdCB0PXRoaXMuX3BhZ2VQcm9taXNlcy5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdHtjYXRhbG9nOmksbGluZWFyaXphdGlvbjphLHhmYUZhY3Rvcnk6c309dGhpcztsZXQgcjtyPXM/UHJvbWlzZS5yZXNvbHZlKFtEaWN0LmVtcHR5LG51bGxdKTphPy5wYWdlRmlyc3Q9PT1lP3RoaXMuX2dldExpbmVhcml6YXRpb25QYWdlKGUpOmkuZ2V0UGFnZURpY3QoZSk7cj1yLnRoZW4oKChbdCxhXSk9Pm5ldyBQYWdlKHtwZGZNYW5hZ2VyOnRoaXMucGRmTWFuYWdlcix4cmVmOnRoaXMueHJlZixwYWdlSW5kZXg6ZSxwYWdlRGljdDp0LHJlZjphLGdsb2JhbElkRmFjdG9yeTp0aGlzLl9nbG9iYWxJZEZhY3RvcnksZm9udENhY2hlOmkuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6aS5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTppLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOmkuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6aS5zeXN0ZW1Gb250Q2FjaGUsbm9uQmxlbmRNb2Rlc1NldDppLm5vbkJsZW5kTW9kZXNTZXQseGZhRmFjdG9yeTpzfSkpKTt0aGlzLl9wYWdlUHJvbWlzZXMuc2V0KGUscik7cmV0dXJuIHJ9YXN5bmMgY2hlY2tGaXJzdFBhZ2UoZT0hMSl7aWYoIWUpdHJ5e2F3YWl0IHRoaXMuZ2V0UGFnZSgwKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uKXt0aGlzLl9wYWdlUHJvbWlzZXMuZGVsZXRlKDApO2F3YWl0IHRoaXMuY2xlYW51cCgpO3Rocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb259fX1hc3luYyBjaGVja0xhc3RQYWdlKGU9ITEpe2NvbnN0e2NhdGFsb2c6dCxwZGZNYW5hZ2VyOml9PXRoaXM7dC5zZXRBY3R1YWxOdW1QYWdlcygpO2xldCBhO3RyeXthd2FpdCBQcm9taXNlLmFsbChbaS5lbnN1cmVEb2MoInhmYUZhY3RvcnkiKSxpLmVuc3VyZURvYygibGluZWFyaXphdGlvbiIpLGkuZW5zdXJlQ2F0YWxvZygibnVtUGFnZXMiKV0pO2lmKHRoaXMueGZhRmFjdG9yeSlyZXR1cm47YT10aGlzLmxpbmVhcml6YXRpb24/dGhpcy5saW5lYXJpemF0aW9uLm51bVBhZ2VzOnQubnVtUGFnZXM7aWYoIU51bWJlci5pc0ludGVnZXIoYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGNvdW50IGlzIG5vdCBhbiBpbnRlZ2VyLiIpO2lmKGE8PTEpcmV0dXJuO2F3YWl0IHRoaXMuZ2V0UGFnZShhLTEpfWNhdGNoKHMpe3RoaXMuX3BhZ2VQcm9taXNlcy5kZWxldGUoYS0xKTthd2FpdCB0aGlzLmNsZWFudXAoKTtpZihzIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uJiYhZSl0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9uO3dhcm4oYGNoZWNrTGFzdFBhZ2UgLSBpbnZhbGlkIC9QYWdlcyB0cmVlIC9Db3VudDogJHthfS5gKTtsZXQgcjt0cnl7cj1hd2FpdCB0LmdldEFsbFBhZ2VEaWN0cyhlKX1jYXRjaChpKXtpZihpIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uJiYhZSl0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9uO3Quc2V0QWN0dWFsTnVtUGFnZXMoMSk7cmV0dXJufWZvcihjb25zdFtlLFthLHNdXW9mIHIpe2xldCByO2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7cj1Qcm9taXNlLnJlamVjdChhKTtyLmNhdGNoKCgoKT0+e30pKX1lbHNlIHI9UHJvbWlzZS5yZXNvbHZlKG5ldyBQYWdlKHtwZGZNYW5hZ2VyOmkseHJlZjp0aGlzLnhyZWYscGFnZUluZGV4OmUscGFnZURpY3Q6YSxyZWY6cyxnbG9iYWxJZEZhY3Rvcnk6dGhpcy5fZ2xvYmFsSWRGYWN0b3J5LGZvbnRDYWNoZTp0LmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnQuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dC5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0Lmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnQuc3lzdGVtRm9udENhY2hlLG5vbkJsZW5kTW9kZXNTZXQ6dC5ub25CbGVuZE1vZGVzU2V0LHhmYUZhY3Rvcnk6bnVsbH0pKTt0aGlzLl9wYWdlUHJvbWlzZXMuc2V0KGUscil9dC5zZXRBY3R1YWxOdW1QYWdlcyhyLnNpemUpfX1mb250RmFsbGJhY2soZSx0KXtyZXR1cm4gdGhpcy5jYXRhbG9nLmZvbnRGYWxsYmFjayhlLHQpfWFzeW5jIGNsZWFudXAoZT0hMSl7cmV0dXJuIHRoaXMuY2F0YWxvZz90aGlzLmNhdGFsb2cuY2xlYW51cChlKTpjbGVhckdsb2JhbENhY2hlcygpfWFzeW5jI1ooZSx0LGksYSxzLHIsbil7Y29uc3R7eHJlZjpnfT10aGlzO2lmKCEoaSBpbnN0YW5jZW9mIFJlZil8fHIuaGFzKGkpKXJldHVybjtyLnB1dChpKTtjb25zdCBvPWF3YWl0IGcuZmV0Y2hBc3luYyhpKTtpZighKG8gaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47aWYoby5oYXMoIlQiKSl7Y29uc3QgdD1zdHJpbmdUb1BERlN0cmluZyhhd2FpdCBvLmdldEFzeW5jKCJUIikpO2U9IiI9PT1lP3Q6YCR7ZX0uJHt0fWB9ZWxzZXtsZXQgaT1vO2Zvcig7Oyl7aT1pLmdldFJhdygiUGFyZW50Iil8fHQ7aWYoaSBpbnN0YW5jZW9mIFJlZil7aWYoci5oYXMoaSkpYnJlYWs7aT1hd2FpdCBnLmZldGNoQXN5bmMoaSl9aWYoIShpIGluc3RhbmNlb2YgRGljdCkpYnJlYWs7aWYoaS5oYXMoIlQiKSl7Y29uc3QgdD1zdHJpbmdUb1BERlN0cmluZyhhd2FpdCBpLmdldEFzeW5jKCJUIikpO2U9IiI9PT1lP3Q6YCR7ZX0uJHt0fWA7YnJlYWt9fX10JiYhby5oYXMoIlBhcmVudCIpJiZpc05hbWUoby5nZXQoIlN1YnR5cGUiKSwiV2lkZ2V0IikmJm4ucHV0KGksdCk7YS5oYXMoZSl8fGEuc2V0KGUsW10pO2EuZ2V0KGUpLnB1c2goQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlKGcsaSxzLG51bGwsITAsbixudWxsKS50aGVuKChlPT5lPy5nZXRGaWVsZE9iamVjdCgpKSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYCNjb2xsZWN0RmllbGRPYmplY3RzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpO2lmKCFvLmhhcygiS2lkcyIpKXJldHVybjtjb25zdCBjPWF3YWl0IG8uZ2V0QXN5bmMoIktpZHMiKTtpZihBcnJheS5pc0FycmF5KGMpKWZvcihjb25zdCB0IG9mIGMpYXdhaXQgdGhpcy4jWihlLGksdCxhLHMscixuKX1nZXQgZmllbGRPYmplY3RzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJmaWVsZE9iamVjdHMiLHRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImZvcm1JbmZvIikudGhlbigoYXN5bmMgZT0+e2lmKCFlLmhhc0ZpZWxkcylyZXR1cm4gbnVsbDtjb25zdFt0LGldPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJhbm5vdGF0aW9uR2xvYmFscyIpLHRoaXMucGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCJhY3JvRm9ybSIpXSk7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgYT1uZXcgUmVmU2V0LHM9T2JqZWN0LmNyZWF0ZShudWxsKSxyPW5ldyBNYXAsbj1uZXcgUmVmU2V0Q2FjaGU7Zm9yKGNvbnN0IGUgb2YgYXdhaXQgaS5nZXRBc3luYygiRmllbGRzIikpYXdhaXQgdGhpcy4jWigiIixudWxsLGUscix0LGEsbik7Y29uc3QgZz1bXTtmb3IoY29uc3RbZSx0XW9mIHIpZy5wdXNoKFByb21pc2UuYWxsKHQpLnRoZW4oKHQ9PnsodD10LmZpbHRlcigoZT0+ISFlKSkpLmxlbmd0aD4wJiYoc1tlXT10KX0pKSk7YXdhaXQgUHJvbWlzZS5hbGwoZyk7cmV0dXJue2FsbEZpZWxkczpzLG9ycGhhbkZpZWxkczpufX0pKSl9Z2V0IGhhc0pTQWN0aW9ucygpe3JldHVybiBzaGFkb3codGhpcywiaGFzSlNBY3Rpb25zIix0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJfcGFyc2VIYXNKU0FjdGlvbnMiKSl9YXN5bmMgX3BhcnNlSGFzSlNBY3Rpb25zKCl7Y29uc3RbZSx0XT1hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImpzQWN0aW9ucyIpLHRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImZpZWxkT2JqZWN0cyIpXSk7cmV0dXJuISFlfHwhIXQmJk9iamVjdC52YWx1ZXModC5hbGxGaWVsZHMpLnNvbWUoKGU9PmUuc29tZSgoZT0+bnVsbCE9PWUuYWN0aW9ucykpKSl9Z2V0IGNhbGN1bGF0aW9uT3JkZXJJZHMoKXtjb25zdCBlPXRoaXMuY2F0YWxvZy5hY3JvRm9ybT8uZ2V0KCJDTyIpO2lmKCFBcnJheS5pc0FycmF5KGUpfHwwPT09ZS5sZW5ndGgpcmV0dXJuIHNoYWRvdyh0aGlzLCJjYWxjdWxhdGlvbk9yZGVySWRzIixudWxsKTtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpaSBpbnN0YW5jZW9mIFJlZiYmdC5wdXNoKGkudG9TdHJpbmcoKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYWxjdWxhdGlvbk9yZGVySWRzIix0Lmxlbmd0aD90Om51bGwpfWdldCBhbm5vdGF0aW9uR2xvYmFscygpe3JldHVybiBzaGFkb3codGhpcywiYW5ub3RhdGlvbkdsb2JhbHMiLEFubm90YXRpb25GYWN0b3J5LmNyZWF0ZUdsb2JhbHModGhpcy5wZGZNYW5hZ2VyKSl9fWNsYXNzIEJhc2VQZGZNYW5hZ2Vye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RvY0Jhc2VVcmw9ZnVuY3Rpb24gcGFyc2VEb2NCYXNlVXJsKGUpe2lmKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlKTtpZih0KXJldHVybiB0LmhyZWY7d2FybihgSW52YWxpZCBhYnNvbHV0ZSBkb2NCYXNlVXJsOiAiJHtlfSIuYCl9cmV0dXJuIG51bGx9KGUuZG9jQmFzZVVybCk7dGhpcy5fZG9jSWQ9ZS5kb2NJZDt0aGlzLl9wYXNzd29yZD1lLnBhc3N3b3JkO3RoaXMuZW5hYmxlWGZhPWUuZW5hYmxlWGZhO2UuZXZhbHVhdG9yT3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCYmPUZlYXR1cmVUZXN0LmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz1PYmplY3QuZnJlZXplKGUuZXZhbHVhdG9yT3B0aW9ucyl9Z2V0IGRvY0lkKCl7cmV0dXJuIHRoaXMuX2RvY0lkfWdldCBwYXNzd29yZCgpe3JldHVybiB0aGlzLl9wYXNzd29yZH1nZXQgZG9jQmFzZVVybCgpe3JldHVybiB0aGlzLl9kb2NCYXNlVXJsfWdldCBjYXRhbG9nKCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuY2F0YWxvZ31lbnN1cmVEb2MoZSx0KXtyZXR1cm4gdGhpcy5lbnN1cmUodGhpcy5wZGZEb2N1bWVudCxlLHQpfWVuc3VyZVhSZWYoZSx0KXtyZXR1cm4gdGhpcy5lbnN1cmUodGhpcy5wZGZEb2N1bWVudC54cmVmLGUsdCl9ZW5zdXJlQ2F0YWxvZyhlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LmNhdGFsb2csZSx0KX1nZXRQYWdlKGUpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoZSl9Zm9udEZhbGxiYWNrKGUsdCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuZm9udEZhbGxiYWNrKGUsdCl9bG9hZFhmYUZvbnRzKGUsdCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQubG9hZFhmYUZvbnRzKGUsdCl9bG9hZFhmYUltYWdlcygpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmxvYWRYZmFJbWFnZXMoKX1zZXJpYWxpemVYZmFEYXRhKGUpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LnNlcmlhbGl6ZVhmYURhdGEoZSl9Y2xlYW51cChlPSExKXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5jbGVhbnVwKGUpfWFzeW5jIGVuc3VyZShlLHQsaSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZW5zdXJlYCBjYWxsZWQiKX1yZXF1ZXN0UmFuZ2UoZSx0KXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXF1ZXN0UmFuZ2VgIGNhbGxlZCIpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgcmVxdWVzdExvYWRlZFN0cmVhbWAgY2FsbGVkIil9c2VuZFByb2dyZXNzaXZlRGF0YShlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBzZW5kUHJvZ3Jlc3NpdmVEYXRhYCBjYWxsZWQiKX11cGRhdGVQYXNzd29yZChlKXt0aGlzLl9wYXNzd29yZD1lfXRlcm1pbmF0ZShlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGB0ZXJtaW5hdGVgIGNhbGxlZCIpfX1jbGFzcyBMb2NhbFBkZk1hbmFnZXIgZXh0ZW5kcyBCYXNlUGRmTWFuYWdlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdCB0PW5ldyBTdHJlYW0oZS5zb3VyY2UpO3RoaXMucGRmRG9jdW1lbnQ9bmV3IFBERkRvY3VtZW50KHRoaXMsdCk7dGhpcy5fbG9hZGVkU3RyZWFtUHJvbWlzZT1Qcm9taXNlLnJlc29sdmUodCl9YXN5bmMgZW5zdXJlKGUsdCxpKXtjb25zdCBhPWVbdF07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGE/YS5hcHBseShlLGkpOmF9cmVxdWVzdFJhbmdlKGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7cmV0dXJuIHRoaXMuX2xvYWRlZFN0cmVhbVByb21pc2V9dGVybWluYXRlKGUpe319Y2xhc3MgTmV0d29ya1BkZk1hbmFnZXIgZXh0ZW5kcyBCYXNlUGRmTWFuYWdlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnN0cmVhbU1hbmFnZXI9bmV3IENodW5rZWRTdHJlYW1NYW5hZ2VyKGUuc291cmNlLHttc2dIYW5kbGVyOmUuaGFuZGxlcixsZW5ndGg6ZS5sZW5ndGgsZGlzYWJsZUF1dG9GZXRjaDplLmRpc2FibGVBdXRvRmV0Y2gscmFuZ2VDaHVua1NpemU6ZS5yYW5nZUNodW5rU2l6ZX0pO3RoaXMucGRmRG9jdW1lbnQ9bmV3IFBERkRvY3VtZW50KHRoaXMsdGhpcy5zdHJlYW1NYW5hZ2VyLmdldFN0cmVhbSgpKX1hc3luYyBlbnN1cmUoZSx0LGkpe3RyeXtjb25zdCBhPWVbdF07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGE/YS5hcHBseShlLGkpOmF9Y2F0Y2goYSl7aWYoIShhIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKXRocm93IGE7YXdhaXQgdGhpcy5yZXF1ZXN0UmFuZ2UoYS5iZWdpbixhLmVuZCk7cmV0dXJuIHRoaXMuZW5zdXJlKGUsdCxpKX19cmVxdWVzdFJhbmdlKGUsdCl7cmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5yZXF1ZXN0UmFuZ2UoZSx0KX1yZXF1ZXN0TG9hZGVkU3RyZWFtKGU9ITEpe3JldHVybiB0aGlzLnN0cmVhbU1hbmFnZXIucmVxdWVzdEFsbENodW5rcyhlKX1zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpe3RoaXMuc3RyZWFtTWFuYWdlci5vblJlY2VpdmVEYXRhKHtjaHVuazplfSl9dGVybWluYXRlKGUpe3RoaXMuc3RyZWFtTWFuYWdlci5hYm9ydChlKX19Y29uc3QgQ2c9MSxoZz0yLGxnPTEsQmc9MixRZz0zLEVnPTQsdWc9NSxkZz02LGZnPTcscGc9ODtmdW5jdGlvbiB3cmFwUmVhc29uKGUpe2UgaW5zdGFuY2VvZiBFcnJvcnx8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZXx8dW5yZWFjaGFibGUoJ3dyYXBSZWFzb246IEV4cGVjdGVkICJyZWFzb24iIHRvIGJlIGEgKHBvc3NpYmx5IGNsb25lZCkgRXJyb3IuJyk7c3dpdGNoKGUubmFtZSl7Y2FzZSJBYm9ydEV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBBYm9ydEV4Y2VwdGlvbihlLm1lc3NhZ2UpO2Nhc2UiTWlzc2luZ1BERkV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBNaXNzaW5nUERGRXhjZXB0aW9uKGUubWVzc2FnZSk7Y2FzZSJQYXNzd29yZEV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBQYXNzd29yZEV4Y2VwdGlvbihlLm1lc3NhZ2UsZS5jb2RlKTtjYXNlIlVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24oZS5tZXNzYWdlLGUuc3RhdHVzKTtjYXNlIlVua25vd25FcnJvckV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBVbmtub3duRXJyb3JFeGNlcHRpb24oZS5tZXNzYWdlLGUuZGV0YWlscyk7ZGVmYXVsdDpyZXR1cm4gbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsZS50b1N0cmluZygpKX19Y2xhc3MgTWVzc2FnZUhhbmRsZXJ7I1Y9bmV3IEFib3J0Q29udHJvbGxlcjtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5zb3VyY2VOYW1lPWU7dGhpcy50YXJnZXROYW1lPXQ7dGhpcy5jb21PYmo9aTt0aGlzLmNhbGxiYWNrSWQ9MTt0aGlzLnN0cmVhbUlkPTE7dGhpcy5zdHJlYW1TaW5rcz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLmNhbGxiYWNrQ2FwYWJpbGl0aWVzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5hY3Rpb25IYW5kbGVyPU9iamVjdC5jcmVhdGUobnVsbCk7aS5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLiN6LmJpbmQodGhpcykse3NpZ25hbDp0aGlzLiNWLnNpZ25hbH0pfSN6KHtkYXRhOmV9KXtpZihlLnRhcmdldE5hbWUhPT10aGlzLnNvdXJjZU5hbWUpcmV0dXJuO2lmKGUuc3RyZWFtKXt0aGlzLiNfKGUpO3JldHVybn1pZihlLmNhbGxiYWNrKXtjb25zdCB0PWUuY2FsbGJhY2tJZCxpPXRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbdF07aWYoIWkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAke3R9YCk7ZGVsZXRlIHRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbdF07aWYoZS5jYWxsYmFjaz09PUNnKWkucmVzb2x2ZShlLmRhdGEpO2Vsc2V7aWYoZS5jYWxsYmFjayE9PWhnKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBjYWxsYmFjayBjYXNlIik7aS5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpfXJldHVybn1jb25zdCB0PXRoaXMuYWN0aW9uSGFuZGxlcltlLmFjdGlvbl07aWYoIXQpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbiBmcm9tIHdvcmtlcjogJHtlLmFjdGlvbn1gKTtpZihlLmNhbGxiYWNrSWQpe2NvbnN0IGk9dGhpcy5zb3VyY2VOYW1lLGE9ZS5zb3VyY2VOYW1lLHM9dGhpcy5jb21PYmo7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGkpe2kodChlLmRhdGEpKX0pKS50aGVuKChmdW5jdGlvbih0KXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLGNhbGxiYWNrOkNnLGNhbGxiYWNrSWQ6ZS5jYWxsYmFja0lkLGRhdGE6dH0pfSksKGZ1bmN0aW9uKHQpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsY2FsbGJhY2s6aGcsY2FsbGJhY2tJZDplLmNhbGxiYWNrSWQscmVhc29uOndyYXBSZWFzb24odCl9KX0pKX1lbHNlIGUuc3RyZWFtSWQ/dGhpcy4jJChlKTp0KGUuZGF0YSl9b24oZSx0KXtjb25zdCBpPXRoaXMuYWN0aW9uSGFuZGxlcjtpZihpW2VdKXRocm93IG5ldyBFcnJvcihgVGhlcmUgaXMgYWxyZWFkeSBhbiBhY3Rpb25OYW1lIGNhbGxlZCAiJHtlfSJgKTtpW2VdPXR9c2VuZChlLHQsaSl7dGhpcy5jb21PYmoucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6dGhpcy5zb3VyY2VOYW1lLHRhcmdldE5hbWU6dGhpcy50YXJnZXROYW1lLGFjdGlvbjplLGRhdGE6dH0saSl9c2VuZFdpdGhQcm9taXNlKGUsdCxpKXtjb25zdCBhPXRoaXMuY2FsbGJhY2tJZCsrLHM9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5jYWxsYmFja0NhcGFiaWxpdGllc1thXT1zO3RyeXt0aGlzLmNvbU9iai5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTp0aGlzLnNvdXJjZU5hbWUsdGFyZ2V0TmFtZTp0aGlzLnRhcmdldE5hbWUsYWN0aW9uOmUsY2FsbGJhY2tJZDphLGRhdGE6dH0saSl9Y2F0Y2goZSl7cy5yZWplY3QoZSl9cmV0dXJuIHMucHJvbWlzZX1zZW5kV2l0aFN0cmVhbShlLHQsaSxhKXtjb25zdCBzPXRoaXMuc3RyZWFtSWQrKyxyPXRoaXMuc291cmNlTmFtZSxuPXRoaXMudGFyZ2V0TmFtZSxnPXRoaXMuY29tT2JqO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0Omk9Pntjb25zdCBvPVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbc109e2NvbnRyb2xsZXI6aSxzdGFydENhbGw6byxwdWxsQ2FsbDpudWxsLGNhbmNlbENhbGw6bnVsbCxpc0Nsb3NlZDohMX07Zy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTpyLHRhcmdldE5hbWU6bixhY3Rpb246ZSxzdHJlYW1JZDpzLGRhdGE6dCxkZXNpcmVkU2l6ZTppLmRlc2lyZWRTaXplfSxhKTtyZXR1cm4gby5wcm9taXNlfSxwdWxsOmU9Pntjb25zdCB0PVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbc10ucHVsbENhbGw9dDtnLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOnIsdGFyZ2V0TmFtZTpuLHN0cmVhbTpkZyxzdHJlYW1JZDpzLGRlc2lyZWRTaXplOmUuZGVzaXJlZFNpemV9KTtyZXR1cm4gdC5wcm9taXNlfSxjYW5jZWw6ZT0+e2Fzc2VydChlIGluc3RhbmNlb2YgRXJyb3IsImNhbmNlbCBtdXN0IGhhdmUgYSB2YWxpZCByZWFzb24iKTtjb25zdCB0PVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbc10uY2FuY2VsQ2FsbD10O3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbc10uaXNDbG9zZWQ9ITA7Zy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTpyLHRhcmdldE5hbWU6bixzdHJlYW06bGcsc3RyZWFtSWQ6cyxyZWFzb246d3JhcFJlYXNvbihlKX0pO3JldHVybiB0LnByb21pc2V9fSxpKX0jJChlKXtjb25zdCB0PWUuc3RyZWFtSWQsaT10aGlzLnNvdXJjZU5hbWUsYT1lLnNvdXJjZU5hbWUscz10aGlzLmNvbU9iaixyPXRoaXMsbj10aGlzLmFjdGlvbkhhbmRsZXJbZS5hY3Rpb25dLGc9e2VucXVldWUoZSxyPTEsbil7aWYodGhpcy5pc0NhbmNlbGxlZClyZXR1cm47Y29uc3QgZz10aGlzLmRlc2lyZWRTaXplO3RoaXMuZGVzaXJlZFNpemUtPXI7aWYoZz4wJiZ0aGlzLmRlc2lyZWRTaXplPD0wKXt0aGlzLnNpbmtDYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMucmVhZHk9dGhpcy5zaW5rQ2FwYWJpbGl0eS5wcm9taXNlfXMucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOkVnLHN0cmVhbUlkOnQsY2h1bms6ZX0sbil9LGNsb3NlKCl7aWYoIXRoaXMuaXNDYW5jZWxsZWQpe3RoaXMuaXNDYW5jZWxsZWQ9ITA7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06UWcsc3RyZWFtSWQ6dH0pO2RlbGV0ZSByLnN0cmVhbVNpbmtzW3RdfX0sZXJyb3IoZSl7YXNzZXJ0KGUgaW5zdGFuY2VvZiBFcnJvciwiZXJyb3IgbXVzdCBoYXZlIGEgdmFsaWQgcmVhc29uIik7aWYoIXRoaXMuaXNDYW5jZWxsZWQpe3RoaXMuaXNDYW5jZWxsZWQ9ITA7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06dWcsc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfX0sc2lua0NhcGFiaWxpdHk6UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCksb25QdWxsOm51bGwsb25DYW5jZWw6bnVsbCxpc0NhbmNlbGxlZDohMSxkZXNpcmVkU2l6ZTplLmRlc2lyZWRTaXplLHJlYWR5Om51bGx9O2cuc2lua0NhcGFiaWxpdHkucmVzb2x2ZSgpO2cucmVhZHk9Zy5zaW5rQ2FwYWJpbGl0eS5wcm9taXNlO3RoaXMuc3RyZWFtU2lua3NbdF09ZztuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7dChuKGUuZGF0YSxnKSl9KSkudGhlbigoZnVuY3Rpb24oKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpwZyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KX0pLChmdW5jdGlvbihlKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpwZyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9KSl9I18oZSl7Y29uc3QgdD1lLnN0cmVhbUlkLGk9dGhpcy5zb3VyY2VOYW1lLGE9ZS5zb3VyY2VOYW1lLHM9dGhpcy5jb21PYmoscj10aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3RdLG49dGhpcy5zdHJlYW1TaW5rc1t0XTtzd2l0Y2goZS5zdHJlYW0pe2Nhc2UgcGc6ZS5zdWNjZXNzP3Iuc3RhcnRDYWxsLnJlc29sdmUoKTpyLnN0YXJ0Q2FsbC5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpO2JyZWFrO2Nhc2UgZmc6ZS5zdWNjZXNzP3IucHVsbENhbGwucmVzb2x2ZSgpOnIucHVsbENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTticmVhaztjYXNlIGRnOmlmKCFuKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpmZyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KTticmVha31uLmRlc2lyZWRTaXplPD0wJiZlLmRlc2lyZWRTaXplPjAmJm4uc2lua0NhcGFiaWxpdHkucmVzb2x2ZSgpO24uZGVzaXJlZFNpemU9ZS5kZXNpcmVkU2l6ZTtuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7ZShuLm9uUHVsbD8uKCkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06Zmcsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSl9KSwoZnVuY3Rpb24oZSl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06Zmcsc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfSkpO2JyZWFrO2Nhc2UgRWc6YXNzZXJ0KHIsImVucXVldWUgc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtpZihyLmlzQ2xvc2VkKWJyZWFrO3IuY29udHJvbGxlci5lbnF1ZXVlKGUuY2h1bmspO2JyZWFrO2Nhc2UgUWc6YXNzZXJ0KHIsImNsb3NlIHNob3VsZCBoYXZlIHN0cmVhbSBjb250cm9sbGVyIik7aWYoci5pc0Nsb3NlZClicmVhaztyLmlzQ2xvc2VkPSEwO3IuY29udHJvbGxlci5jbG9zZSgpO3RoaXMuI0FBKHIsdCk7YnJlYWs7Y2FzZSB1Zzphc3NlcnQociwiZXJyb3Igc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtyLmNvbnRyb2xsZXIuZXJyb3Iod3JhcFJlYXNvbihlLnJlYXNvbikpO3RoaXMuI0FBKHIsdCk7YnJlYWs7Y2FzZSBCZzplLnN1Y2Nlc3M/ci5jYW5jZWxDYWxsLnJlc29sdmUoKTpyLmNhbmNlbENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTt0aGlzLiNBQShyLHQpO2JyZWFrO2Nhc2UgbGc6aWYoIW4pYnJlYWs7bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe3Qobi5vbkNhbmNlbD8uKHdyYXBSZWFzb24oZS5yZWFzb24pKSl9KSkudGhlbigoZnVuY3Rpb24oKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpCZyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KX0pLChmdW5jdGlvbihlKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpCZyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9KSk7bi5zaW5rQ2FwYWJpbGl0eS5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpO24uaXNDYW5jZWxsZWQ9ITA7ZGVsZXRlIHRoaXMuc3RyZWFtU2lua3NbdF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgc3RyZWFtIGNhc2UiKX19YXN5bmMjQUEoZSx0KXthd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW2Uuc3RhcnRDYWxsPy5wcm9taXNlLGUucHVsbENhbGw/LnByb21pc2UsZS5jYW5jZWxDYWxsPy5wcm9taXNlXSk7ZGVsZXRlIHRoaXMuc3RyZWFtQ29udHJvbGxlcnNbdF19ZGVzdHJveSgpe3RoaXMuI1Y/LmFib3J0KCk7dGhpcy4jVj1udWxsfX1jbGFzcyBQREZXb3JrZXJTdHJlYW17Y29uc3RydWN0b3IoZSl7dGhpcy5fbXNnSGFuZGxlcj1lO3RoaXMuX2NvbnRlbnRMZW5ndGg9bnVsbDt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj1udWxsO3RoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnM9W119Z2V0RnVsbFJlYWRlcigpe2Fzc2VydCghdGhpcy5fZnVsbFJlcXVlc3RSZWFkZXIsIlBERldvcmtlclN0cmVhbS5nZXRGdWxsUmVhZGVyIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlLiIpO3RoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyPW5ldyBQREZXb3JrZXJTdHJlYW1SZWFkZXIodGhpcy5fbXNnSGFuZGxlcik7cmV0dXJuIHRoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyfWdldFJhbmdlUmVhZGVyKGUsdCl7Y29uc3QgaT1uZXcgUERGV29ya2VyU3RyZWFtUmFuZ2VSZWFkZXIoZSx0LHRoaXMuX21zZ0hhbmRsZXIpO3RoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnMucHVzaChpKTtyZXR1cm4gaX1jYW5jZWxBbGxSZXF1ZXN0cyhlKXt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj8uY2FuY2VsKGUpO2Zvcihjb25zdCB0IG9mIHRoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnMuc2xpY2UoMCkpdC5jYW5jZWwoZSl9fWNsYXNzIFBERldvcmtlclN0cmVhbVJlYWRlcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9tc2dIYW5kbGVyPWU7dGhpcy5vblByb2dyZXNzPW51bGw7dGhpcy5fY29udGVudExlbmd0aD1udWxsO3RoaXMuX2lzUmFuZ2VTdXBwb3J0ZWQ9ITE7dGhpcy5faXNTdHJlYW1pbmdTdXBwb3J0ZWQ9ITE7Y29uc3QgdD10aGlzLl9tc2dIYW5kbGVyLnNlbmRXaXRoU3RyZWFtKCJHZXRSZWFkZXIiKTt0aGlzLl9yZWFkZXI9dC5nZXRSZWFkZXIoKTt0aGlzLl9oZWFkZXJzUmVhZHk9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFByb21pc2UoIlJlYWRlckhlYWRlcnNSZWFkeSIpLnRoZW4oKGU9Pnt0aGlzLl9pc1N0cmVhbWluZ1N1cHBvcnRlZD1lLmlzU3RyZWFtaW5nU3VwcG9ydGVkO3RoaXMuX2lzUmFuZ2VTdXBwb3J0ZWQ9ZS5pc1JhbmdlU3VwcG9ydGVkO3RoaXMuX2NvbnRlbnRMZW5ndGg9ZS5jb250ZW50TGVuZ3RofSkpfWdldCBoZWFkZXJzUmVhZHkoKXtyZXR1cm4gdGhpcy5faGVhZGVyc1JlYWR5fWdldCBjb250ZW50TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnRMZW5ndGh9Z2V0IGlzU3RyZWFtaW5nU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzU3RyZWFtaW5nU3VwcG9ydGVkfWdldCBpc1JhbmdlU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzUmFuZ2VTdXBwb3J0ZWR9YXN5bmMgcmVhZCgpe2NvbnN0e3ZhbHVlOmUsZG9uZTp0fT1hd2FpdCB0aGlzLl9yZWFkZXIucmVhZCgpO3JldHVybiB0P3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06e3ZhbHVlOmUuYnVmZmVyLGRvbmU6ITF9fWNhbmNlbChlKXt0aGlzLl9yZWFkZXIuY2FuY2VsKGUpfX1jbGFzcyBQREZXb3JrZXJTdHJlYW1SYW5nZVJlYWRlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fbXNnSGFuZGxlcj1pO3RoaXMub25Qcm9ncmVzcz1udWxsO2NvbnN0IGE9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFN0cmVhbSgiR2V0UmFuZ2VSZWFkZXIiLHtiZWdpbjplLGVuZDp0fSk7dGhpcy5fcmVhZGVyPWEuZ2V0UmVhZGVyKCl9Z2V0IGlzU3RyZWFtaW5nU3VwcG9ydGVkKCl7cmV0dXJuITF9YXN5bmMgcmVhZCgpe2NvbnN0e3ZhbHVlOmUsZG9uZTp0fT1hd2FpdCB0aGlzLl9yZWFkZXIucmVhZCgpO3JldHVybiB0P3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06e3ZhbHVlOmUuYnVmZmVyLGRvbmU6ITF9fWNhbmNlbChlKXt0aGlzLl9yZWFkZXIuY2FuY2VsKGUpfX1jbGFzcyBXb3JrZXJUYXNre2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT1lO3RoaXMudGVybWluYXRlZD0hMTt0aGlzLl9jYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfWdldCBmaW5pc2hlZCgpe3JldHVybiB0aGlzLl9jYXBhYmlsaXR5LnByb21pc2V9ZmluaXNoKCl7dGhpcy5fY2FwYWJpbGl0eS5yZXNvbHZlKCl9dGVybWluYXRlKCl7dGhpcy50ZXJtaW5hdGVkPSEwfWVuc3VyZU5vdFRlcm1pbmF0ZWQoKXtpZih0aGlzLnRlcm1pbmF0ZWQpdGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgdGFzayB3YXMgdGVybWluYXRlZCIpfX1jbGFzcyBXb3JrZXJNZXNzYWdlSGFuZGxlcntzdGF0aWMgc2V0dXAoZSx0KXtsZXQgaT0hMTtlLm9uKCJ0ZXN0IiwoZnVuY3Rpb24odCl7aWYoIWkpe2k9ITA7ZS5zZW5kKCJ0ZXN0Iix0IGluc3RhbmNlb2YgVWludDhBcnJheSl9fSkpO2Uub24oImNvbmZpZ3VyZSIsKGZ1bmN0aW9uKGUpeyFmdW5jdGlvbiBzZXRWZXJib3NpdHlMZXZlbChlKXtOdW1iZXIuaXNJbnRlZ2VyKGUpJiYobnQ9ZSl9KGUudmVyYm9zaXR5KX0pKTtlLm9uKCJHZXREb2NSZXF1ZXN0IiwoZnVuY3Rpb24oZSl7cmV0dXJuIFdvcmtlck1lc3NhZ2VIYW5kbGVyLmNyZWF0ZURvY3VtZW50SGFuZGxlcihlLHQpfSkpfXN0YXRpYyBjcmVhdGVEb2N1bWVudEhhbmRsZXIoZSx0KXtsZXQgaSxhPSExLHM9bnVsbDtjb25zdCByPW5ldyBTZXQsbj1nZXRWZXJib3NpdHlMZXZlbCgpLHtkb2NJZDpnLGFwaVZlcnNpb246b309ZSxjPSI0LjguNjkiO2lmKG8hPT1jKXRocm93IG5ldyBFcnJvcihgVGhlIEFQSSB2ZXJzaW9uICIke299IiBkb2VzIG5vdCBtYXRjaCB0aGUgV29ya2VyIHZlcnNpb24gIiR7Y30iLmApO2NvbnN0IEM9W107Zm9yKGNvbnN0IGUgaW5bXSlDLnB1c2goZSk7aWYoQy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJUaGUgYEFycmF5LnByb3RvdHlwZWAgY29udGFpbnMgdW5leHBlY3RlZCBlbnVtZXJhYmxlIHByb3BlcnRpZXM6ICIrQy5qb2luKCIsICIpKyI7IHRodXMgYnJlYWtpbmcgZS5nLiBgZm9yLi4uaW5gIGl0ZXJhdGlvbiBvZiBgQXJyYXlgcy4iKTtjb25zdCBoPWcrIl93b3JrZXIiO2xldCBsPW5ldyBNZXNzYWdlSGFuZGxlcihoLGcsdCk7ZnVuY3Rpb24gZW5zdXJlTm90VGVybWluYXRlZCgpe2lmKGEpdGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQiKX1mdW5jdGlvbiBzdGFydFdvcmtlclRhc2soZSl7ci5hZGQoZSl9ZnVuY3Rpb24gZmluaXNoV29ya2VyVGFzayhlKXtlLmZpbmlzaCgpO3IuZGVsZXRlKGUpfWFzeW5jIGZ1bmN0aW9uIGxvYWREb2N1bWVudChlKXthd2FpdCBpLmVuc3VyZURvYygiY2hlY2tIZWFkZXIiKTthd2FpdCBpLmVuc3VyZURvYygicGFyc2VTdGFydFhSZWYiKTthd2FpdCBpLmVuc3VyZURvYygicGFyc2UiLFtlXSk7YXdhaXQgaS5lbnN1cmVEb2MoImNoZWNrRmlyc3RQYWdlIixbZV0pO2F3YWl0IGkuZW5zdXJlRG9jKCJjaGVja0xhc3RQYWdlIixbZV0pO2NvbnN0IHQ9YXdhaXQgaS5lbnN1cmVEb2MoImlzUHVyZVhmYSIpO2lmKHQpe2NvbnN0IGU9bmV3IFdvcmtlclRhc2soImxvYWRYZmFGb250cyIpO3N0YXJ0V29ya2VyVGFzayhlKTthd2FpdCBQcm9taXNlLmFsbChbaS5sb2FkWGZhRm9udHMobCxlKS5jYXRjaCgoZT0+e30pKS50aGVuKCgoKT0+ZmluaXNoV29ya2VyVGFzayhlKSkpLGkubG9hZFhmYUltYWdlcygpXSl9Y29uc3RbYSxzXT1hd2FpdCBQcm9taXNlLmFsbChbaS5lbnN1cmVEb2MoIm51bVBhZ2VzIiksaS5lbnN1cmVEb2MoImZpbmdlcnByaW50cyIpXSk7cmV0dXJue251bVBhZ2VzOmEsZmluZ2VycHJpbnRzOnMsaHRtbEZvclhmYTp0P2F3YWl0IGkuZW5zdXJlRG9jKCJodG1sRm9yWGZhIik6bnVsbH19ZnVuY3Rpb24gc2V0dXBEb2MoZSl7ZnVuY3Rpb24gb25TdWNjZXNzKGUpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtsLnNlbmQoIkdldERvYyIse3BkZkluZm86ZX0pfWZ1bmN0aW9uIG9uRmFpbHVyZShlKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7aWYoZSBpbnN0YW5jZW9mIFBhc3N3b3JkRXhjZXB0aW9uKXtjb25zdCB0PW5ldyBXb3JrZXJUYXNrKGBQYXNzd29yZEV4Y2VwdGlvbjogcmVzcG9uc2UgJHtlLmNvZGV9YCk7c3RhcnRXb3JrZXJUYXNrKHQpO2wuc2VuZFdpdGhQcm9taXNlKCJQYXNzd29yZFJlcXVlc3QiLGUpLnRoZW4oKGZ1bmN0aW9uKHtwYXNzd29yZDplfSl7ZmluaXNoV29ya2VyVGFzayh0KTtpLnVwZGF0ZVBhc3N3b3JkKGUpO3BkZk1hbmFnZXJSZWFkeSgpfSkpLmNhdGNoKChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2sodCk7bC5zZW5kKCJEb2NFeGNlcHRpb24iLGUpfSkpfWVsc2UgZSBpbnN0YW5jZW9mIEludmFsaWRQREZFeGNlcHRpb258fGUgaW5zdGFuY2VvZiBNaXNzaW5nUERGRXhjZXB0aW9ufHxlIGluc3RhbmNlb2YgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9ufHxlIGluc3RhbmNlb2YgVW5rbm93bkVycm9yRXhjZXB0aW9uP2wuc2VuZCgiRG9jRXhjZXB0aW9uIixlKTpsLnNlbmQoIkRvY0V4Y2VwdGlvbiIsbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsZS50b1N0cmluZygpKSl9ZnVuY3Rpb24gcGRmTWFuYWdlclJlYWR5KCl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2xvYWREb2N1bWVudCghMSkudGhlbihvblN1Y2Nlc3MsKGZ1bmN0aW9uKGUpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtlIGluc3RhbmNlb2YgWFJlZlBhcnNlRXhjZXB0aW9uP2kucmVxdWVzdExvYWRlZFN0cmVhbSgpLnRoZW4oKGZ1bmN0aW9uKCl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2xvYWREb2N1bWVudCghMCkudGhlbihvblN1Y2Nlc3Msb25GYWlsdXJlKX0pKTpvbkZhaWx1cmUoZSl9KSl9ZW5zdXJlTm90VGVybWluYXRlZCgpOyhmdW5jdGlvbiBnZXRQZGZNYW5hZ2VyKHtkYXRhOmUscGFzc3dvcmQ6dCxkaXNhYmxlQXV0b0ZldGNoOmkscmFuZ2VDaHVua1NpemU6YSxsZW5ndGg6cixkb2NCYXNlVXJsOm4sZW5hYmxlWGZhOm8sZXZhbHVhdG9yT3B0aW9uczpjfSl7Y29uc3QgQz17c291cmNlOm51bGwsZGlzYWJsZUF1dG9GZXRjaDppLGRvY0Jhc2VVcmw6bixkb2NJZDpnLGVuYWJsZVhmYTpvLGV2YWx1YXRvck9wdGlvbnM6YyxoYW5kbGVyOmwsbGVuZ3RoOnIscGFzc3dvcmQ6dCxyYW5nZUNodW5rU2l6ZTphfSxoPVByb21pc2Uud2l0aFJlc29sdmVycygpO2xldCBRO2lmKGUpe3RyeXtDLnNvdXJjZT1lO1E9bmV3IExvY2FsUGRmTWFuYWdlcihDKTtoLnJlc29sdmUoUSl9Y2F0Y2goZSl7aC5yZWplY3QoZSl9cmV0dXJuIGgucHJvbWlzZX1sZXQgRSx1PVtdLGQ9MDt0cnl7RT1uZXcgUERGV29ya2VyU3RyZWFtKGwpfWNhdGNoKGUpe2gucmVqZWN0KGUpO3JldHVybiBoLnByb21pc2V9Y29uc3QgZj1FLmdldEZ1bGxSZWFkZXIoKTtmLmhlYWRlcnNSZWFkeS50aGVuKChmdW5jdGlvbigpe2lmKGYuaXNSYW5nZVN1cHBvcnRlZCl7Qy5zb3VyY2U9RTtDLmxlbmd0aD1mLmNvbnRlbnRMZW5ndGg7Qy5kaXNhYmxlQXV0b0ZldGNofHw9Zi5pc1N0cmVhbWluZ1N1cHBvcnRlZDtRPW5ldyBOZXR3b3JrUGRmTWFuYWdlcihDKTtmb3IoY29uc3QgZSBvZiB1KVEuc2VuZFByb2dyZXNzaXZlRGF0YShlKTt1PVtdO2gucmVzb2x2ZShRKTtzPW51bGx9fSkpLmNhdGNoKChmdW5jdGlvbihlKXtoLnJlamVjdChlKTtzPW51bGx9KSk7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7Y29uc3QgcmVhZENodW5rPWZ1bmN0aW9uKHt2YWx1ZTplLGRvbmU6aX0pe3RyeXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7aWYoaSl7aWYoIVEpe2NvbnN0IGU9YXJyYXlCdWZmZXJzVG9CeXRlcyh1KTt1PVtdO3ImJmUubGVuZ3RoIT09ciYmd2FybigicmVwb3J0ZWQgSFRUUCBsZW5ndGggaXMgZGlmZmVyZW50IGZyb20gYWN0dWFsIik7Qy5zb3VyY2U9ZTtRPW5ldyBMb2NhbFBkZk1hbmFnZXIoQyk7aC5yZXNvbHZlKFEpfXM9bnVsbDtyZXR1cm59ZCs9ZS5ieXRlTGVuZ3RoO2YuaXNTdHJlYW1pbmdTdXBwb3J0ZWR8fGwuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6ZCx0b3RhbDpNYXRoLm1heChkLGYuY29udGVudExlbmd0aHx8MCl9KTtRP1Euc2VuZFByb2dyZXNzaXZlRGF0YShlKTp1LnB1c2goZSk7Zi5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9Y2F0Y2goZSl7dChlKX19O2YucmVhZCgpLnRoZW4ocmVhZENodW5rLHQpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtoLnJlamVjdChlKTtzPW51bGx9KSk7cz1mdW5jdGlvbihlKXtFLmNhbmNlbEFsbFJlcXVlc3RzKGUpfTtyZXR1cm4gaC5wcm9taXNlfSkoZSkudGhlbigoZnVuY3Rpb24oZSl7aWYoYSl7ZS50ZXJtaW5hdGUobmV3IEFib3J0RXhjZXB0aW9uKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQuIikpO3Rocm93IG5ldyBFcnJvcigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkIil9aT1lO2kucmVxdWVzdExvYWRlZFN0cmVhbSghMCkudGhlbigoZT0+e2wuc2VuZCgiRGF0YUxvYWRlZCIse2xlbmd0aDplLmJ5dGVzLmJ5dGVMZW5ndGh9KX0pKX0pKS50aGVuKHBkZk1hbmFnZXJSZWFkeSxvbkZhaWx1cmUpfWwub24oIkdldFBhZ2UiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5nZXRQYWdlKGUucGFnZUluZGV4KS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZW5zdXJlKGUsInJvdGF0ZSIpLGkuZW5zdXJlKGUsInJlZiIpLGkuZW5zdXJlKGUsInVzZXJVbml0IiksaS5lbnN1cmUoZSwidmlldyIpXSkudGhlbigoZnVuY3Rpb24oW2UsdCxpLGFdKXtyZXR1cm57cm90YXRlOmUscmVmOnQscmVmU3RyOnQ/LnRvU3RyaW5nKCk/P251bGwsdXNlclVuaXQ6aSx2aWV3OmF9fSkpfSkpfSkpO2wub24oIkdldFBhZ2VJbmRleCIsKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9UmVmLmdldChlLm51bSxlLmdlbik7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiZ2V0UGFnZUluZGV4IixbdF0pfSkpO2wub24oIkdldERlc3RpbmF0aW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImRlc3RpbmF0aW9ucyIpfSkpO2wub24oIkdldERlc3RpbmF0aW9uIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiZ2V0RGVzdGluYXRpb24iLFtlLmlkXSl9KSk7bC5vbigiR2V0UGFnZUxhYmVscyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInBhZ2VMYWJlbHMiKX0pKTtsLm9uKCJHZXRQYWdlTGF5b3V0IiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygicGFnZUxheW91dCIpfSkpO2wub24oIkdldFBhZ2VNb2RlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygicGFnZU1vZGUiKX0pKTtsLm9uKCJHZXRWaWV3ZXJQcmVmZXJlbmNlcyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInZpZXdlclByZWZlcmVuY2VzIil9KSk7bC5vbigiR2V0T3BlbkFjdGlvbiIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coIm9wZW5BY3Rpb24iKX0pKTtsLm9uKCJHZXRBdHRhY2htZW50cyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImF0dGFjaG1lbnRzIil9KSk7bC5vbigiR2V0RG9jSlNBY3Rpb25zIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygianNBY3Rpb25zIil9KSk7bC5vbigiR2V0UGFnZUpTQWN0aW9ucyIsKGZ1bmN0aW9uKHtwYWdlSW5kZXg6ZX0pe3JldHVybiBpLmdldFBhZ2UoZSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlKGUsImpzQWN0aW9ucyIpfSkpfSkpO2wub24oIkdldE91dGxpbmUiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJkb2N1bWVudE91dGxpbmUiKX0pKTtsLm9uKCJHZXRPcHRpb25hbENvbnRlbnRDb25maWciLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJvcHRpb25hbENvbnRlbnRDb25maWciKX0pKTtsLm9uKCJHZXRQZXJtaXNzaW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInBlcm1pc3Npb25zIil9KSk7bC5vbigiR2V0TWV0YWRhdGEiLChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZW5zdXJlRG9jKCJkb2N1bWVudEluZm8iKSxpLmVuc3VyZUNhdGFsb2coIm1ldGFkYXRhIildKX0pKTtsLm9uKCJHZXRNYXJrSW5mbyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coIm1hcmtJbmZvIil9KSk7bC5vbigiR2V0RGF0YSIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLnJlcXVlc3RMb2FkZWRTdHJlYW0oKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZS5ieXRlc30pKX0pKTtsLm9uKCJHZXRBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uKHtwYWdlSW5kZXg6ZSxpbnRlbnQ6dH0pe3JldHVybiBpLmdldFBhZ2UoZSkudGhlbigoZnVuY3Rpb24oaSl7Y29uc3QgYT1uZXcgV29ya2VyVGFzayhgR2V0QW5ub3RhdGlvbnM6IHBhZ2UgJHtlfWApO3N0YXJ0V29ya2VyVGFzayhhKTtyZXR1cm4gaS5nZXRBbm5vdGF0aW9uc0RhdGEobCxhLHQpLnRoZW4oKGU9PntmaW5pc2hXb3JrZXJUYXNrKGEpO3JldHVybiBlfSksKGU9PntmaW5pc2hXb3JrZXJUYXNrKGEpO3Rocm93IGV9KSl9KSl9KSk7bC5vbigiR2V0RmllbGRPYmplY3RzIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlRG9jKCJmaWVsZE9iamVjdHMiKS50aGVuKChlPT5lPy5hbGxGaWVsZHN8fG51bGwpKX0pKTtsLm9uKCJIYXNKU0FjdGlvbnMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVEb2MoImhhc0pTQWN0aW9ucyIpfSkpO2wub24oIkdldENhbGN1bGF0aW9uT3JkZXJJZHMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVEb2MoImNhbGN1bGF0aW9uT3JkZXJJZHMiKX0pKTtsLm9uKCJTYXZlRG9jdW1lbnQiLChhc3luYyBmdW5jdGlvbih7aXNQdXJlWGZhOmUsbnVtUGFnZXM6dCxhbm5vdGF0aW9uU3RvcmFnZTphLGZpbGVuYW1lOnN9KXtjb25zdCByPVtpLnJlcXVlc3RMb2FkZWRTdHJlYW0oKSxpLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIiksaS5lbnN1cmVDYXRhbG9nKCJhY3JvRm9ybVJlZiIpLGkuZW5zdXJlRG9jKCJzdGFydFhSZWYiKSxpLmVuc3VyZURvYygieHJlZiIpLGkuZW5zdXJlRG9jKCJsaW5lYXJpemF0aW9uIiksaS5lbnN1cmVDYXRhbG9nKCJzdHJ1Y3RUcmVlUm9vdCIpXSxuPVtdLGc9ZT9udWxsOmdldE5ld0Fubm90YXRpb25zTWFwKGEpLFtvLGMsQyxoLFEsRSx1XT1hd2FpdCBQcm9taXNlLmFsbChyKSxkPVEudHJhaWxlci5nZXRSYXcoIlJvb3QiKXx8bnVsbDtsZXQgZjtpZihnKXt1P2F3YWl0IHUuY2FuVXBkYXRlU3RydWN0VHJlZSh7cGRmTWFuYWdlcjppLHhyZWY6USxuZXdBbm5vdGF0aW9uc0J5UGFnZTpnfSkmJihmPXUpOmF3YWl0IFN0cnVjdFRyZWVSb290LmNhbkNyZWF0ZVN0cnVjdHVyZVRyZWUoe2NhdGFsb2dSZWY6ZCxwZGZNYW5hZ2VyOmksbmV3QW5ub3RhdGlvbnNCeVBhZ2U6Z30pJiYoZj1udWxsKTtjb25zdCBlPUFubm90YXRpb25GYWN0b3J5LmdlbmVyYXRlSW1hZ2VzKGEudmFsdWVzKCksUSxpLmV2YWx1YXRvck9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpLHQ9dm9pZCAwPT09Zj9uOltdO2Zvcihjb25zdFthLHNdb2YgZyl0LnB1c2goaS5nZXRQYWdlKGEpLnRoZW4oKHQ9Pntjb25zdCBpPW5ldyBXb3JrZXJUYXNrKGBTYXZlIChlZGl0b3IpOiBwYWdlICR7YX1gKTtyZXR1cm4gdC5zYXZlTmV3QW5ub3RhdGlvbnMobCxpLHMsZSkuZmluYWxseSgoZnVuY3Rpb24oKXtmaW5pc2hXb3JrZXJUYXNrKGkpfSkpfSkpKTtudWxsPT09Zj9uLnB1c2goUHJvbWlzZS5hbGwodCkudGhlbigoYXN5bmMgZT0+e2F3YWl0IFN0cnVjdFRyZWVSb290LmNyZWF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmcseHJlZjpRLGNhdGFsb2dSZWY6ZCxwZGZNYW5hZ2VyOmksbmV3UmVmczplfSk7cmV0dXJuIGV9KSkpOmYmJm4ucHVzaChQcm9taXNlLmFsbCh0KS50aGVuKChhc3luYyBlPT57YXdhaXQgZi51cGRhdGVTdHJ1Y3R1cmVUcmVlKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTpnLHBkZk1hbmFnZXI6aSxuZXdSZWZzOmV9KTtyZXR1cm4gZX0pKSl9aWYoZSluLnB1c2goaS5zZXJpYWxpemVYZmFEYXRhKGEpKTtlbHNlIGZvcihsZXQgZT0wO2U8dDtlKyspbi5wdXNoKGkuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbih0KXtjb25zdCBpPW5ldyBXb3JrZXJUYXNrKGBTYXZlOiBwYWdlICR7ZX1gKTtyZXR1cm4gdC5zYXZlKGwsaSxhKS5maW5hbGx5KChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soaSl9KSl9KSkpO2NvbnN0IHA9YXdhaXQgUHJvbWlzZS5hbGwobik7bGV0IG09W10seT1udWxsO2lmKGUpe3k9cFswXTtpZigheSlyZXR1cm4gby5ieXRlc31lbHNle209cC5mbGF0KDIpO2lmKDA9PT1tLmxlbmd0aClyZXR1cm4gby5ieXRlc31jb25zdCB3PUMmJmMgaW5zdGFuY2VvZiBEaWN0JiZtLnNvbWUoKGU9PmUubmVlZEFwcGVhcmFuY2VzKSksRD1jIGluc3RhbmNlb2YgRGljdCYmYy5nZXQoIlhGQSIpfHxudWxsO2xldCBiPW51bGwsRj0hMTtpZihBcnJheS5pc0FycmF5KEQpKXtmb3IobGV0IGU9MCx0PUQubGVuZ3RoO2U8dDtlKz0yKWlmKCJkYXRhc2V0cyI9PT1EW2VdKXtiPURbZSsxXTtGPSEwfW51bGw9PT1iJiYoYj1RLmdldE5ld1RlbXBvcmFyeVJlZigpKX1lbHNlIEQmJndhcm4oIlVuc3VwcG9ydGVkIFhGQSB0eXBlLiIpO2xldCBTPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoUS50cmFpbGVyKXtjb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCksdD1RLnRyYWlsZXIuZ2V0KCJJbmZvIil8fG51bGw7dCBpbnN0YW5jZW9mIERpY3QmJnQuZm9yRWFjaCgoKHQsaSk9Pnsic3RyaW5nIj09dHlwZW9mIGkmJihlW3RdPXN0cmluZ1RvUERGU3RyaW5nKGkpKX0pKTtTPXtyb290UmVmOmQsZW5jcnlwdFJlZjpRLnRyYWlsZXIuZ2V0UmF3KCJFbmNyeXB0Iil8fG51bGwsbmV3UmVmOlEuZ2V0TmV3VGVtcG9yYXJ5UmVmKCksaW5mb1JlZjpRLnRyYWlsZXIuZ2V0UmF3KCJJbmZvIil8fG51bGwsaW5mbzplLGZpbGVJZHM6US50cmFpbGVyLmdldCgiSUQiKXx8bnVsbCxzdGFydFhSZWY6RT9oOlEubGFzdFhSZWZTdHJlYW1Qb3M/P2gsZmlsZW5hbWU6c319cmV0dXJuIGluY3JlbWVudGFsVXBkYXRlKHtvcmlnaW5hbERhdGE6by5ieXRlcyx4cmVmSW5mbzpTLG5ld1JlZnM6bSx4cmVmOlEsaGFzWGZhOiEhRCx4ZmFEYXRhc2V0c1JlZjpiLGhhc1hmYURhdGFzZXRzRW50cnk6RixuZWVkQXBwZWFyYW5jZXM6dyxhY3JvRm9ybVJlZjpDLGFjcm9Gb3JtOmMseGZhRGF0YTp5LHVzZVhyZWZTdHJlYW06aXNEaWN0KFEudG9wRGljdCwiWFJlZiIpfSkuZmluYWxseSgoKCk9PntRLnJlc2V0TmV3VGVtcG9yYXJ5UmVmKCl9KSl9KSk7bC5vbigiR2V0T3BlcmF0b3JMaXN0IiwoZnVuY3Rpb24oZSx0KXtjb25zdCBhPWUucGFnZUluZGV4O2kuZ2V0UGFnZShhKS50aGVuKChmdW5jdGlvbihpKXtjb25zdCBzPW5ldyBXb3JrZXJUYXNrKGBHZXRPcGVyYXRvckxpc3Q6IHBhZ2UgJHthfWApO3N0YXJ0V29ya2VyVGFzayhzKTtjb25zdCByPW4+PW1BLklORk9TP0RhdGUubm93KCk6MDtpLmdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjpsLHNpbms6dCx0YXNrOnMsaW50ZW50OmUuaW50ZW50LGNhY2hlS2V5OmUuY2FjaGVLZXksYW5ub3RhdGlvblN0b3JhZ2U6ZS5hbm5vdGF0aW9uU3RvcmFnZSxtb2RpZmllZElkczplLm1vZGlmaWVkSWRzfSkudGhlbigoZnVuY3Rpb24oZSl7ZmluaXNoV29ya2VyVGFzayhzKTtyJiZpbmZvKGBwYWdlPSR7YSsxfSAtIGdldE9wZXJhdG9yTGlzdDogdGltZT0ke0RhdGUubm93KCktcn1tcywgbGVuPSR7ZS5sZW5ndGh9YCk7dC5jbG9zZSgpfSksKGZ1bmN0aW9uKGUpe2ZpbmlzaFdvcmtlclRhc2socyk7cy50ZXJtaW5hdGVkfHx0LmVycm9yKGUpfSkpfSkpfSkpO2wub24oIkdldFRleHRDb250ZW50IiwoZnVuY3Rpb24oZSx0KXtjb25zdHtwYWdlSW5kZXg6YSxpbmNsdWRlTWFya2VkQ29udGVudDpzLGRpc2FibGVOb3JtYWxpemF0aW9uOnJ9PWU7aS5nZXRQYWdlKGEpLnRoZW4oKGZ1bmN0aW9uKGUpe2NvbnN0IGk9bmV3IFdvcmtlclRhc2soIkdldFRleHRDb250ZW50OiBwYWdlICIrYSk7c3RhcnRXb3JrZXJUYXNrKGkpO2NvbnN0IGc9bj49bUEuSU5GT1M/RGF0ZS5ub3coKTowO2UuZXh0cmFjdFRleHRDb250ZW50KHtoYW5kbGVyOmwsdGFzazppLHNpbms6dCxpbmNsdWRlTWFya2VkQ29udGVudDpzLGRpc2FibGVOb3JtYWxpemF0aW9uOnJ9KS50aGVuKChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soaSk7ZyYmaW5mbyhgcGFnZT0ke2ErMX0gLSBnZXRUZXh0Q29udGVudDogdGltZT1gKyhEYXRlLm5vdygpLWcpKyJtcyIpO3QuY2xvc2UoKX0pLChmdW5jdGlvbihlKXtmaW5pc2hXb3JrZXJUYXNrKGkpO2kudGVybWluYXRlZHx8dC5lcnJvcihlKX0pKX0pKX0pKTtsLm9uKCJHZXRTdHJ1Y3RUcmVlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZ2V0UGFnZShlLnBhZ2VJbmRleCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlKGUsImdldFN0cnVjdFRyZWUiKX0pKX0pKTtsLm9uKCJGb250RmFsbGJhY2siLChmdW5jdGlvbihlKXtyZXR1cm4gaS5mb250RmFsbGJhY2soZS5pZCxsKX0pKTtsLm9uKCJDbGVhbnVwIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuY2xlYW51cCghMCl9KSk7bC5vbigiVGVybWluYXRlIiwoZnVuY3Rpb24oZSl7YT0hMDtjb25zdCB0PVtdO2lmKGkpe2kudGVybWluYXRlKG5ldyBBYm9ydEV4Y2VwdGlvbigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkLiIpKTtjb25zdCBlPWkuY2xlYW51cCgpO3QucHVzaChlKTtpPW51bGx9ZWxzZSBjbGVhckdsb2JhbENhY2hlcygpO3M/LihuZXcgQWJvcnRFeGNlcHRpb24oIldvcmtlciB3YXMgdGVybWluYXRlZC4iKSk7Zm9yKGNvbnN0IGUgb2Ygcil7dC5wdXNoKGUuZmluaXNoZWQpO2UudGVybWluYXRlKCl9cmV0dXJuIFByb21pc2UuYWxsKHQpLnRoZW4oKGZ1bmN0aW9uKCl7bC5kZXN0cm95KCk7bD1udWxsfSkpfSkpO2wub24oIlJlYWR5IiwoZnVuY3Rpb24odCl7c2V0dXBEb2MoZSk7ZT1udWxsfSkpO3JldHVybiBofXN0YXRpYyBpbml0aWFsaXplRnJvbVBvcnQoZSl7Y29uc3QgdD1uZXcgTWVzc2FnZUhhbmRsZXIoIndvcmtlciIsIm1haW4iLGUpO1dvcmtlck1lc3NhZ2VIYW5kbGVyLnNldHVwKHQsZSk7dC5zZW5kKCJyZWFkeSIsbnVsbCl9fSJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93JiYhdCYmInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZmdW5jdGlvbiBpc01lc3NhZ2VQb3J0KGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlLnBvc3RNZXNzYWdlJiYib25tZXNzYWdlImluIGV9KHNlbGYpJiZXb3JrZXJNZXNzYWdlSGFuZGxlci5pbml0aWFsaXplRnJvbVBvcnQoc2VsZik7dmFyIG1nPV9fd2VicGFja19leHBvcnRzX18uV29ya2VyTWVzc2FnZUhhbmRsZXI7ZXhwb3J0e21nIGFzIFdvcmtlck1lc3NhZ2VIYW5kbGVyfTs=";exports.default=l;
|